You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by bu...@apache.org on 2002/11/28 14:34:23 UTC
DO NOT REPLY [Bug 14929] New: -
Problem when using axis dynamic proxy with a Sun JAXRPC RI server
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=14929>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND
INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=14929
Problem when using axis dynamic proxy with a Sun JAXRPC RI server
Summary: Problem when using axis dynamic proxy with a Sun JAXRPC
RI server
Product: Axis
Version: current (nightly)
Platform: Other
OS/Version: Other
Status: NEW
Severity: Normal
Priority: Other
Component: Basic Architecture
AssignedTo: axis-dev@xml.apache.org
ReportedBy: cchabanois@cognicase.fr
I tried to use a dynamic proxy as client of a JAXRPC RI Server.
I tried following code using
- Axis : I got an exception telling that the operation could not be found
Internal Server Error (unrecognized operation: ECHOCHAR1000)
- Sun JAXRPC RI : no problem
try{
URL wsdlUrl = new URL("http://localhost:8090/TEST1/jaxrpc/TEST1?WSDL");
String nameSpaceUri = "http://soapNcl/TEST1";
String serviceName = "TEST1";
String portName = "TEST1IFPort";
ServiceFactory serviceFactory = ServiceFactory.newInstance();
Service serviceTEST1 = serviceFactory.createService(wsdlUrl,
new QName(nameSpaceUri, serviceName));
TEST1IF service = (TEST1IF) serviceTEST1.getPort(
new QName(nameSpaceUri, portName),
TEST1IF.class);
When I use Axis, here is the message that is sent to server :
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<ECHOCHAR1000 soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<arg0 xsi:type="xsd:string">hello world</arg0>
</ECHOCHAR1000>
</soapenv:Body>
</soapenv:Envelope>
And when JAXRPC RI is used :
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope
xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:enc="http://schemas.xmlsoap.org/soap/encoding/"
env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<env:Body>
<ans1:ECHOCHAR1000 xmlns:ans1="http://soapNcl/TEST1">
<String_1 xsi:type="xsd:string">hello world</String_1>
</ans1:ECHOCHAR1000>
</env:Body>
</env:Envelope>
The problem is that no namespace is used for the operation.
Indeed, in AxisClientProxy, we have :
public Object invoke(Object o, Method method, Object[] objects)
[...]
return call.invoke(method.getName(), objects);
[...]
}
So it does not use
call.invoke(QName operationName, Object[] params)