axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "robert lazarski (JIRA)" <j...@apache.org>
Subject [jira] Commented: (AXIS2-317) WSDL2java generated classes throw "Operation Not found" when wsdl soapAction=""
Date Thu, 20 Apr 2006 19:01:14 GMT
    [ 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


Mime
View raw message