[
https://issues.apache.org/jira/browse/AXIS-2731?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andreas Veithen updated AXIS-2731:
----------------------------------
Fix Version/s: (was: 1.3)
> 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.3
> 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.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]