Frage

Ich weiß, dass die Verwendung von Dataset ein großes Übel, sondern als der Dienst nicht unter meiner Kontrolle ist und die Aussicht auf einen Proxy-Dienst zu schaffen, ist ein no go ....

Was ich versuche, ist zu sehen, ob jemand Klassenstruktur geschaffen, die den kSoap Serializer mit deserialisiert werden können, oder sind Raucher ich die falschen Sachen.

Möchten Sie es in der Zwischenzeit starten und sehen, ob es möglich ist.

Im Folgenden finden Sie die resultierenden Daten als erwartet (Schema und 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>
War es hilfreich?

Lösung

Der Datensatz wird wie ein Array von Objekten behandelt, soweit ich sehen kann, so dass Sie ein Tutorial auf vielleicht zu prüfen, wie Arrays von komplexen Objekten mit KSOAP zurückzukehren. Möglicherweise müssen Sie eine Tabellenklasse in Android schaffen und die KVMSerializable-Schnittstelle zu implementieren.

http: //seesharpgears.blogspot. com / 2010/10 / Web-Service-that-Rendite-Array-of.html

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top