我正在尝试使用ksoap2将数据集值传递给.net webservice。 我想将数据集从Android(客户端)发送到服务器。
所需的请求是:
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<myDSTestFun xmlns="http://tempuri.org/">
<dstest>
<xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="Table1">
<xs:complexType>
<xs:sequence>
<xs:element name="DEPCD" type="xs:string" minOccurs="0" />
<xs:element name="DEPNAME" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
<diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
<NewDataSet xmlns="">
<Table1 diffgr:id="Table11" msdata:rowOrder="0" diffgr:hasChanges="inserted">
<DEPCD>001</DEPCD>
<DEPNAME>IT</DEPNAME>
</Table1>
<Table1 diffgr:id="Table12" msdata:rowOrder="1" diffgr:hasChanges="inserted">
<DEPCD>002</DEPCD>
<DEPNAME>PM</DEPNAME>
</Table1>
</NewDataSet>
</diffgr:diffgram>
</dstest>
</myDSTestFun>
</soap:Body>
</soap:Envelope>
如何创建上述请求并将其发送到.net webservice?
答案 0 :(得分:0)
我没有使用ksoap2就做过一次。为此,您可以创建一个支持调用soap请求的映射器类。 You can find here how to send soap request on android without ksoap2 library.
答案 1 :(得分:-1)
好吧,我真的不知道你为什么要将数据集发送回服务器,而这通常是相反的。我们经常将数据集发送到客户端进行处理。
回到你的问题,我建议你将你的数据集转换为JSON并做一个HttpPost。
您可以参考this。
在服务器端,您需要反序列化您的JSON,并将其用于您想要的任何目的。