WSDL2JAVA not setting the operation name onto the Call object while generating
the SOAPBindingStub (that implements org.apache.axis.client.Stub)
------------------------------------------------------------------------------------------------------------------------------------------------
Key: AXIS-2731
URL: https://issues.apache.org/jira/browse/AXIS-2731
Project: Axis
Issue Type: Bug
Components: WSDL processing
Affects Versions: 1.4
Environment: Windows XP professional running Intel Pentium
Reporter: Naveen Gauba
I have a method getInfo in my WSDL that does not take any input parameters. The
WSDL snippet is pasted below.
<wsdl:message name="getInfoMessage" />
<wsdl:message name="getInfoResponse"><wsdl:part name="part1"
element="ns2:getInfoResponse" /></wsdl:message>
I generated the Client Stub using the WSDL2JAVA Ant Task. In the
SOAPBindingStub (that implements org.apache.axis.client.Stub). When I look at
the method definition for the getInfo method I see that the operation name was
not set onto the Call object. See code snippet below.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
getInfo() throws java.rmi.RemoteException {
if (super.cachedEndpoint == null) {
throw new org.apache.axis.NoEndPointException();
}
org.apache.axis.client.Call _call = createCall();
_call.setOperation(_operations[2]);
_call.setUseSOAPAction(true);
_call.setSOAPActionURI("urn:getInfo");
_call.setEncodingStyle(null);
_call.setProperty(org.apache.axis.client.Call.SEND_TYPE_ATTR,
Boolean.FALSE);
_call.setProperty(org.apache.axis.AxisEngine.PROP_DOMULTIREFS,
Boolean.FALSE);
_call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);
setRequestHeaders(_call);
setAttachments(_call);
try { java.lang.Object _resp = _call.invoke(new java.lang.Object[] {});
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ideally there should have been one more line of code like this in the generated
code
_call.setOperationName(new
javax.xml.namespace.QName("http://abc.qualcomm.com/xsd", "getInfo"));
When I call this method using my Java client I get this AxisFault, the stack
trace is pasted below.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Exception in thread "main" AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.generalException
faultSubcode:
faultString: No operation name specified!
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}stackTrace:No operation name specified!
at org.apache.axis.client.Call.invoke(Call.java:1809)
at
com.qualcomm.abc.CatalogQueryWSSOAP11BindingStub.getInfo(CatalogQueryWSSOAP11BindingStub.java:349)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Please help.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]