Android 和 KSOAP2 的新手。我正在尝试调用基于肥皂的 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 服务时,我只需要填充“输入”元素。在呼出期间可以忽略“结果”元素。
当 web 服务返回时,“results”元素会填充您分配的内容,并且元素会正确填充该值。
我只是在如何在 KSOAP 2 中发送复杂对象并检索相应的返回数据时遇到困难。到目前为止,我发现的大多数示例只包含简单的对象,并且架构很简单,所以我正在努力解决这个问题。
有什么想法吗?