[ http://issues.apache.org/jira/browse/AXIS2-317?page=comments#action_12375417 ]
robert lazarski commented on AXIS2-317: --------------------------------------- I just tested the latest svn and this issue still exists. Really its a bug, because the spec states: http://www.ws-i.org/Profiles/BasicProfile-1.1-2004-08-24.html CORRECT: A WSDL Description that has: <soapbind:operation /> or <soapbind:operation soapAction="" /> results in a message with a corresponding SOAPAction HTTP header field as follows: SOAPAction: "" The following WSDL: <?xml version="1.0" encoding="UTF-8"?> <definitions name="SimpleService" targetNamespace="http://simpleNS" xmlns:tns="http://simpleNS" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:ns2="http://simpleNS/types"> <types> <schema targetNamespace="http://simpleNS/types" xmlns:tns="http://simpleNS/types" xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="http://www.w3.org/2001/XMLSchema"> <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/> <element name="simpleLogin"> <complexType> <sequence> <element name="user_name" type="xsd:string"/> <element name="user_password" type="xsd:string"/> </sequence> </complexType> </element> <element name="simpleLoginResponse"> <complexType> <sequence> <element name="soap_session_id" type="xsd:string"/> <element name="web_user_name" type="xsd:string"/> </sequence> </complexType> </element> </schema></types> <message name="SimpleEndpoint_simpleLogin"> <part name="parameters" element="ns2:simpleLogin"/> </message> <message name="SimpleEndpoint_simpleLoginResponse"> <part name="result" element="ns2:simpleLoginResponse"/> </message> <portType name="SimpleEndpoint"> <operation name="simpleLogin"> <input message="tns:SimpleEndpoint_simpleLogin" name="SimpleEndpoint_simpleLogin"/> <output message="tns:SimpleEndpoint_simpleLoginResponse" name="SimpleEndpoint_simpleLoginResponse"/> </operation> </portType> <binding name="SimpleEndpointBinding" type="tns:SimpleEndpoint"> <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/> <operation name="simpleLogin"> <soap:operation soapAction=""/> <input name="SimpleEndpoint_simpleLogin"> <soap:body use="literal"/> </input> <output name="SimpleEndpoint_simpleLoginResponse"> <soap:body use="literal"/> </output> </operation> </binding> <service name="SimpleService"> <port name="SimpleEndpointPort" binding="tns:SimpleEndpointBinding"> <soap:address location="http://localhost:8080/axis2/services/SimpleService"/></port></service></definitions> Throws an exception on the client side when invoking the service: [java] at org.apache.tools.ant.launch.Launcher.main(Launcher.java:55) [java] Caused by: org.apache.axis2.AxisFault: Service not found operation terminated !! [java] at org.apache.axis2.description.OutInAxisOperationClient.execute(OutInAxisOperation.java:275) [java] at org.simple.endpoint.SimpleServiceStub.simpleLogin(SimpleServiceStub.java:133) [java] at org.Tester.main(Tester.java:28) [java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [java] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [java] at java.lang.reflect.Method.invoke(Method.java:585) [java] at org.apache.tools.ant.taskdefs.ExecuteJava.run(ExecuteJava.java:193) [java] at org.apache.tools.ant.taskdefs.ExecuteJava.execute(ExecuteJava.java:130) [java] ... 13 more [java] Caused by: java.lang.Exception: org.apache.axis2.AxisFault: Service not found operation terminated !! [java] at org.apache.axis2.engine.InstanceDispatcher.fillContextsFromSessionContext(InstanceDispatcher.java:119) [java] at org.apache.axis2.engine.InstanceDispatcher.invoke(InstanceDispatcher.java:68) [java] at org.apache.axis2.engine.Phase.invoke(Phase.java:378) [java] at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:471) [java] at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:441) [java] at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:289) [java] at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:130) [java] at javax.servlet.http.HttpServlet.service(HttpServlet.java:709) [java] at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) The problem disappears and the code works fine when defining soapAction in the wsdl to be: <soap:operation soapAction="simpleLogin"/> > WSDL2java generated classes throw "Operation Not found" when wsdl > soapAction="" > ------------------------------------------------------------------------------- > > Key: AXIS2-317 > URL: http://issues.apache.org/jira/browse/AXIS2-317 > Project: Apache Axis 2.0 (Axis2) > Type: Improvement > Components: databinding > Versions: 0.92 > Environment: java 5.0 , linux > Reporter: trebor iksrazal > Assignee: Ajith Harshana Ranabahu > Priority: Minor > > With rcp encoded wsdl's, often you'll put soapAction="" . With doc/lit, you > need a soapAction defined, otherwise DispatchingChecker throws "Operation Not > found" . An improvement would be some warning or error message identifying an > empty string for soapAction does not work for doc/lit . -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
