Proxy class method calls: No error, No data!
Hi I've been experiencing troubles generating and using proxy classes to a web service in VS 2005.
I've successfully generated the correct (as far as I'm aware) classes from the wsdl document and am able to send the desired request to the web service by a proxy class method call. But, the fields of the object that are returned from the proxy class' method are uninitialized (null or zero). No error is raised. I don't understand why it is not parsed/deserialized correctly.
Please help.
Below are snippets of the wsdl doc and the soap message returned.
<?xml version="1.0" encoding="UTF-8"?>
<definitions
targetNamespace="http://bders"
xmlns:bders="http://bders"
xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://schemas.xmlsoap.org/wsdl/">
<types>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://bders">
<import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
<complexType name="Response">
<sequence>
<element name="statusCode" type="xsd:int"/>
<element name="message" type="xsd:string"/>
</sequence>
</complexType>
<complexType name="resetTransferMonitorResponse">
<complexContent><extension base="bders:Response"/></complexContent>
</complexType>
</schema>
</types>
<message name="resetTransferMonitorResponse">
<part name="resetTransferMonitorReturn" type="bders:resetTransferMonitorResponse"/>
</message>
<message name="resetTransferMonitorRequest">
<part name="resellerId" type="xsd:int"/>
<part name="resellerUsername" type="xsd:string"/>
<part name="resellerPassword" type="xsd:string"/>
<part name="frequency" type="xsd:long"/>
</message>
<portType name="BDResellerWebServices">
<operation name="resetTransferMonitor" parameterOrder="resellerId resellerUsername resellerPassword frequency">
<input name="resetTransferMonitorRequest" message="bders:resetTransferMonitorRequest"/>
<output name="resetTransferMonitorResponse" message="bders:resetTransferMonitorResponse"/>
</operation>
</portType>
<binding name="BDERSSoapBinding" type="bders:BDResellerWebServices">
<wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="resetTransferMonitor">
<wsdlsoap:operation soapAction=""/>
<input name="resetTransferMonitorRequest">
<wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://bders"/>
</input>
<output name="resetTransferMonitorResponse">
<wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://bders"/>
</output>
</operation>
</binding>
<service name="BDERS">
</service>
</definitions>
<?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>
<bders:resetTransferMonitorResponse xmlns:bders="http://bders">
<bders:resetTransferMonitorReturn xsi:type="bders:resetTransferMonitorResponse">
<bders:statusCode xsi:type="xsd:int">0</bders:statusCode>
<bders:message xsi:type="xsd:string">Will monitor every 21600 seconds.</bders:message>
</bders:resetTransferMonitorReturn>
</bders:resetTransferMonitorResponse>
</soapenv:Body>
</soapenv:Envelope>
|