0

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 中发送复杂对象并检索相应的返回数据时遇到困难。到目前为止,我发现的大多数示例只包含简单的对象,并且架构很简单,所以我正在努力解决这个问题。

有什么想法吗?

4

1 回答 1

0

检查一下:向请求中添加复杂对象数组

于 2013-10-23T17:53:39.210 回答