0
我對第三方webservice的XML反應反序列化有很大的問題。.NET中的Apache webservice反序列化問題
這裏是XML響應
<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" 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" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body>
<ns1:CardsListResponse xmlns:ns1="http://schemas.xmlsoap.org/soap/envelope/">
<return xmlns:ns9402="http://xml.apache.org/xml-soap" xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="ns9402:Map[62]">
<item xmlns:ns6162="http://xml.apache.org/xml-soap" xsi:type="ns6162:Map">
<item>
<key xsi:type="xsd:string">card</key>
<value xsi:type="xsd:string">0000000000</value>
</item>
<item>
<key xsi:type="xsd:string">service</key>
<value xsi:type="xsd:string">0</value>
</item>
</item>
</return>
</ns1:CardsListResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
調用方法
[SoapDocumentMethod]
[SoapTrace]
public object[] CardsList(string login, string password)
{
object[] result = this.Invoke("CardsList", new object[] { LOGIN, PASSWORD });
return (object[])result;
}
Invoke方法八方通返回null,所以這個問題是在反序列化。 有誰知道如何修復反序列化過程?我如何影響這個或我可以寫我自己的反序列化方法?
非常感謝!
我自己創建它,因爲服務沒有WSDL。 – 2009-04-26 06:25:28