I'm trying to get an Axis 1.4 client to communicate with a service
implemented using gSoap. The published WSDL has an 'echo' service for
debugging communication issues, but the error is a complaint that the
'input' service does not exist.

I'm trying to invoke the 'echo' service, but the word 'echo' is not in
the soap envelope.

The client code is the JUnit code emitted by wsdl2java.
The code invoking the SOAP call is simply:
        String response= binding.echo("<foo>bar</foo>");
        assertEquals("echo test","<foo>bar</foo>",response);


>From tcpmonitor,

Client side [note that the word 'echo' is _not_ in the SOAP envelope,
and yes its the Axis Java 1.4 libraries, not the 1.3 as listed as the
User-Agent]

POST / HTTP/1.0
Content-Type: text/xml; charset=utf-8
Accept: application/soap+xml, application/dime, multipart/related, text/*
User-Agent: Axis/1.3
Host: development.iscompanies.com:80
Cache-Control: no-cache
Pragma: no-cache
SOAPAction: ""
Content-Length: 311
Authorization: Basic ZHJnbmEwMDAwMjptYTE1Y2YxNXRnMTM=

<?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><input
xmlns="">&lt;foo&gt;bar&lt;/foo&gt;</input></soapenv:Body></soapenv:Envelope>

Server Side
HTTP/1.1 500 Internal Server Error
Server: gSOAP/2.7
Content-Type: text/xml; charset=utf-8
Content-Length: 587
Connection: close

<?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:ns="urn:is-process"><SOAP-ENV:Body
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";><SOAP-ENV:Fault><faultcode>SOAP-ENV:Client</faultcode><faultstring>Method
'input' not implemented: method name or namespace not
recognized</faultstring></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>

And the WSDL for folks reading this far:
<?xml version="1.0" encoding="UTF-8"?>
<definitions name="Service" targetNamespace="urn:xtech-process"
xmlns:tns="urn:xtech-process"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:ns="urn:xtech-process"
xmlns:SOAP="http://schemas.xmlsoap.org/wsdl/soap/";
xmlns:MIME="http://schemas.xmlsoap.org/wsdl/mime/";
xmlns:DIME="http://schemas.xmlsoap.org/ws/2002/04/dime/wsdl/";
xmlns:WSDL="http://schemas.xmlsoap.org/wsdl/";
xmlns="http://schemas.xmlsoap.org/wsdl/";>

<types>

 <schema targetNamespace="urn:xtech-process"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:ns="urn:xtech-process" xmlns="http://www.w3.org/2001/XMLSchema";
elementFormDefault="unqualified" attributeFormDefault="unqualified">
  <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
  <!-- operation request element -->
  <element name="process">
   <complexType>
    <sequence>
     <element name="input" type="xsd:string" minOccurs="0"
maxOccurs="1" nillable="true"/>
    </sequence>
   </complexType>
  </element>
  <!-- operation response element -->
  <element name="processResponse">
   <complexType>
    <sequence>
     <element name="output" type="xsd:string" minOccurs="1" maxOccurs="1"/>
    </sequence>
   </complexType>
  </element>
  <!-- operation request element -->
  <element name="echo">
   <complexType>
    <sequence>
     <element name="input" type="xsd:string" minOccurs="0"
maxOccurs="1" nillable="true"/>
    </sequence>
   </complexType>
  </element>
  <!-- operation response element -->
  <element name="echoResponse">
   <complexType>
    <sequence>
     <element name="output" type="xsd:string" minOccurs="1" maxOccurs="1"/>
    </sequence>
   </complexType>
  </element>
 </schema>

</types>

<message name="processRequest">
 <part name="parameters" element="ns:process"/>
</message>

<message name="processResponse">
 <part name="parameters" element="ns:processResponse"/>
</message>

<message name="echoRequest">
 <part name="parameters" element="ns:echo"/>
</message>

<message name="echoResponse">
 <part name="parameters" element="ns:echoResponse"/>
</message>

<portType name="ServicePortType">
 <operation name="process">
  <documentation>Service definition of function ns__process</documentation>
  <input message="tns:processRequest"/>
  <output message="tns:processResponse"/>
 </operation>
 <operation name="echo">
  <documentation>Service definition of function ns__echo</documentation>
  <input message="tns:echoRequest"/>
  <output message="tns:echoResponse"/>
 </operation>
</portType>

<binding name="Service" type="tns:ServicePortType">
 <SOAP:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
 <operation name="process">
  <SOAP:operation soapAction=""/>
  <input>
   <SOAP:body use="literal"/>
  </input>
  <output>
   <SOAP:body use="literal"/>
  </output>
 </operation>
 <operation name="echo">
  <SOAP:operation soapAction=""/>
  <input>
   <SOAP:body use="literal"/>
  </input>
  <output>
   <SOAP:body use="literal"/>
  </output>
 </operation>
</binding>

<service name="Service">
 <documentation>gSOAP 2.7.0c generated service definition</documentation>
 <port name="Service" binding="tns:Service">
  <SOAP:address location="http://localhost:80"/>
 </port>
</service>

</definitions>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to