Android と KSOAP2 の初心者です。SOAP ベースの Web サービスを呼び出そうとしていますが、呼び出す際に複雑なオブジェクトを渡すのが困難です。
私の Web サービスには、次の複雑な入力オブジェクトが必要です。このスキーマは、入力メッセージと出力メッセージを表しています。
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" targetNamespace="http://mycompany.com/ViewCustDetails" elementFormDefault="qualified">
<xsd:element name="ViewCustDetails">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="inputs" minOccurs="0">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="option" type="xsd:string" minOccurs="0"/>
<xsd:element name="variant" minOccurs="0">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="name" type="xsd:string" minOccurs="0" default="ACCT_ID"/>
<xsd:element name="value" type="xsd:string" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="results" minOccurs="0">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="customerId" type="xsd:string" minOccurs="0"/>
<xsd:element name="customerName" type="xsd:string" minOccurs="0"/>
<xsd:element name="custClass" type="xsd:string" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
Web サービスを要求または呼び出すときは、「inputs」要素のみを設定する必要があります。「results」要素は、発信中は無視できます。
Web サービスが返されると、「results」要素には割り当てたものが取り込まれ、要素には値が適切に取り込まれます。
KSOAP 2 で複雑なオブジェクトを送信し、対応する返されたデータを取得する方法に問題があります。これまでに見つけたほとんどの例には単純なオブジェクトしか含まれておらず、スキーマも単純であるため、これを解決する方法に苦労しています。
何かご意見は?