2

我知道使用 DataSet 是一个大坏事,但由于该服务不在我的控制之下,并且创建代理服务的前景是不可能的......

我想要查看的是是否有人创建了可以使用 kSoap 序列化程序反序列化的类结构,或者我是否吸错了东西。

打算同时启动它,看看是否可能。

以下是预期的结果数据(Schema 和 Diffgram):

<?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>
    <SearchCustomerResponse xmlns="http://NCBI/WS/CRM">
      <SearchCustomerResult>
        <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="Table">
                  <xs:complexType>
                    <xs:sequence>
                      <xs:element name="cussurKey" type="xs:int" minOccurs="0" />
                      <xs:element name="cusKey" type="xs:int" minOccurs="0" />
                      <xs:element name="FullName" type="xs:string" minOccurs="0" />
                      <xs:element name="CIS" type="xs:long" minOccurs="0" />
                      <xs:element name="DCARKey" type="xs:int" minOccurs="0" />
                      <xs:element name="empBM" type="xs:string" minOccurs="0" />
                      <xs:element name="IDRegNo" type="xs:string" minOccurs="0" />
                      <xs:element name="RankCount" type="xs:long" minOccurs="0" />
                      <xs:element name="Source" type="xs:string" minOccurs="0" />
                      <xs:element name="GOICategory" type="xs:string" minOccurs="0" />
                      <xs:element name="cusperbanKey" type="xs:int" minOccurs="0" />
                      <xs:element name="GOIAmount" type="xs:int" 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="">
            <Table diffgr:id="Table1" msdata:rowOrder="0">
              <cussurKey>211806</cussurKey>
              <cusKey>0</cusKey>
              <FullName>*AMA WIESE H/A PLANTWISE SHADENET       </FullName>
              <CIS>191004669827</CIS>
              <DCARKey>3171</DCARKey>
              <empBM>0007974 - Scott, Sean John</empBM>
              <IDRegNo>0</IDRegNo>
              <RankCount>1</RankCount>
              <Source>Local</Source>
              <GOICategory>Zero</GOICategory>
              <cusperbanKey>7</cusperbanKey>
            </Table>
            <Table diffgr:id="Table2" msdata:rowOrder="1">
              <cussurKey>115457</cussurKey>
              <cusKey>0</cusKey>
              <FullName>*C H WIESE EN J A BAARD                 </FullName>
              <CIS>110587519304</CIS>
              <DCARKey>33351</DCARKey>
              <empBM>0135570 - Kriel, Werner</empBM>
              <IDRegNo>0</IDRegNo>
              <RankCount>2</RankCount>
              <Source>Local</Source>
              <GOICategory>Zero</GOICategory>
              <cusperbanKey>7</cusperbanKey>
            </Table>
          </NewDataSet>
        </diffgr:diffgram>
      </SearchCustomerResult>
    </SearchCustomerResponse>
  </soap:Body>
</soap:Envelope>
4

1 回答 1

2

据我所知,数据集被视为对象数组,因此您可能需要考虑有关如何使用 KSOAP 返回复杂对象数组的教程。您可能需要在 Android 中创建一个 Table 类并实现 KVMSerializable 接口。

http://seesharpgears.blogspot.com/2010/10/web-service-that-returns-array-of.html

于 2010-11-25T16:11:31.053 回答