axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Stan Jordan" <skjor...@worldnet.att.net>
Subject Re: Problems calling Axis service from .NET C# client
Date Fri, 29 Mar 2002 20:46:05 GMT
Peter...
The usual way to build a C# client is:
1) Create proxy DLL from wsdl file, using this executable:
   c:\Program Files\Microsoft.NET\FrameworkSDK\Bin\wsdl.exe
2) Write your client, which uses the proxy.
Did you create your client this way?  If not, maybe you should give it a
try.

Another (better) way to create the proxy is via ".NET WebService Studio"
which you can download here:
  http://www.gotdotnet.com/team/tools/web_svc/default.aspx
Personally, I love the studio, because it:
1)  generates both proxy and client, and
2)  provides a nice GUI for entering input data to test your service.

I tried your wsdl file with .NET WebService Studio, and it seems to be okay
(I was able to create a proxy and client).
Good luck.
Stan

----- Original Message -----
From: "Peter A. Kozma" <pkozma@clareos.com>
To: <axis-user@xml.apache.org>
Sent: Friday, March 29, 2002 8:57 AM
Subject: RE: Problems calling Axis service from .NET C# client


Hi Stan,

Attached is the entire wsdl file. Thanks!

I added a trace extension to the .NET method to follow the message
through the various stages... no luck so far.

~ Peter


-----Original Message-----
From: Stan Jordan [mailto:skjordan@worldnet.att.net]
Sent: Friday, March 29, 2002 10:48 AM
To: axis-user@xml.apache.org
Subject: Re: Problems calling Axis service from .NET C# client

Peter...
Send me the entire wsdl file, and I can prolly help. Or send me the
URL, if you have deployed your service to the web.
Stan
----- Original Message -----
From: Peter A. Kozma
To: axis-user@xml.apache.org
Sent: Friday, March 29, 2002 6:49 AM
Subject: Problems calling Axis service from .NET C# client

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#



Mime
View raw message