I have a web services method running on Axis (beta 1) that looks like: XcutPlay1Response login (String id, String pw);
 
The return type is complex (see WSDL below). Calling from an Axis client works fine. When invoked from .NET, I get an empty response object back (string = null, int = 0, bool = false) and no errors. I look at the actual SOAP messages and everything going up and down looks good (see response message below). My service is getting invoked. Calling Axis from .NET works with methods that do not involve complex types.
 
Anyone have any ideas?
 
Thanks.
 
*** start response message 

Content-Type:text/xml; charset=utf-8

 

<?xml version="1.0" encoding="utf-8"?>

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

  <SOAP-ENV:Body>

    <ns1:loginResponse SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="http://service.xmlinterface.xcut.clareos.com">

      <loginResult href="#id0" />

    </ns1:loginResponse>

    <multiRef id="id0" SOAP-ENC:root="0" xsi:type="ns2:XcutResponse" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="http://service.xmlinterface.xcut.clareos.com">

      <ns2:ReturnCode xsi:type="xsd:int">0</ns2:ReturnCode>

      <ns2:ReturnStatus xsi:type="xsd:boolean">true</ns2:ReturnStatus>

      <ns2:ReturnString xsi:type="xsd:string">Logged in!</ns2:ReturnString>

    </multiRef>

  </SOAP-ENV:Body>

</SOAP-ENV:Envelope>
*** end response message
 
*** start WSDL

<types>

  <schema targetNamespace="http://service.xmlinterface.xcut.clareos.com" xmlns="http://www.w3.org/2001/XMLSchema">

   <complexType name="XcutPlay1Response">

    <sequence>

     <element name="ReturnCode" type="xsd:int"/>

     <element name="ReturnString" nillable="true" type="xsd:string"/>

     <element name="ReturnStatus" type="xsd:boolean"/>

    </sequence>

   </complexType>

   <element name="XcutPlay1Response" nillable="true" type="tns1:XcutPlay1Response"/>

  </schema>

 </types>

   <wsdl:message name="loginResponse">

 

      <wsdl:part name="return" type="tns1:XcutPlay1Response"/>

 

   </wsdl:message>

      <wsdl:operation name="login" parameterOrder="in0 in1">

 

         <wsdl:input message="intf:loginRequest"/>

 

         <wsdl:output message="intf:loginResponse"/>

 

      </wsdl:operation>

*** end WSDL
 
*** start C#

    /// <remarks/>

    [System.Web.Services.Protocols.SoapRpcMethodAttribute("", RequestNamespace="http://service.xmlinterface.xcut.clareos.com", ResponseNamespace="http://service.xmlinterface.xcut.clareos.com")]

    [return: System.Xml.Serialization.SoapElementAttribute("return")]

    public XcutResponse login(string in0, string in1) {

        object[] results = this.Invoke("login", new object[] {

                    in0,

                    in1});

        return ((XcutResponse)(results[0]));

    }

 

 

/// <remarks/>

[System.Xml.Serialization.SoapTypeAttribute("XcutResponse", "http://service.xmlinterface.xcut.clareos.com")]

public class XcutResponse {

    

    /// <remarks/>

    public int ReturnCode;

 

    /// <remarks/>

    public string ReturnString;

 

    /// <remarks/>

    public bool ReturnStatus;

}

 

*** end C#
 
 
 

 

0 true Logged in! *** end response message *** start wsdl .... ....

 

Reply via email to