【问题标题】:How can I pass a dataset value to a dotnet webservice?如何将数据集值传递给 dotnet webservice?
【发布时间】:2012-01-14 15:18:36
【问题描述】:

我正在尝试使用 ksoap2 将数据集值传递给 .net Web 服务。 我想将数据集从 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 网络服务?

【问题讨论】:

  • 所以你想将数据集从android(客户端)发送到服务器还是从服务器发送到客户端?
  • 我想将数据集从客户端发送到服务器。在.net webservice中有一个参数是dataset的方法,我需要将一个值从java传递给.net webservice到.net。
  • 在android端,你是如何存储你的数据集的?您使用了哪种格式(例如字符串、对象等)?

标签: java android .net web-services dataset


【解决方案1】:

我在没有使用 ksoap2 的情况下做了一次。为此,您可以创建一个支持调用soap请求的映射器类。 You can find here how to send soap request on android without ksoap2 library.

【讨论】:

    【解决方案2】:

    好吧,我真的不知道你为什么要将数据集发送回服务器,而通常情况正好相反。我们经常将数据集发送给客户端进行处理。

    回到您的问题,我建议您将数据集转换为 JSON 并执行 HttpPost。

    您可以参考this

    在服务器端,您需要反序列化您的 JSON,并将其用于您想要的任何目的。

    【讨论】:

    • 我用的是别人做的.net webservice服务。
    • 好的,但请确保 Web 服务正常并检查响应(如果有)。您可以使用我的回答然后使用 HttpPost 完成您的任务
    猜你喜欢
    • 1970-01-01
    • 2011-08-15
    • 2019-03-15
    • 2016-11-04
    • 2011-07-23
    • 1970-01-01
    • 2023-03-14
    • 2021-07-21
    • 2011-04-07
    相关资源
    最近更新 更多