将复杂类型传递给KSOAP Android库

时间:2013-10-07 07:39:12

标签: android web-services soap ksoap2 android-ksoap2

Android和KSOAP2中的新手。我试图打电话给基于肥皂的网络服务,但我很难通过 调用它的复杂对象。

我的webservice需要以下复杂的输入对象。 此架构表示我的输入和输出消息。

<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”元素 。 在拨打电话时,“结果”元素可以忽略

当webservice返回时,“results”元素将填充您已分配的元素和元素 适当填充值。

我在如何在KSOAP 2中发送复杂对象并检索相应的返回数据时遇到了困难。 到目前为止,我发现的大多数示例只包含简单的对象,而且架构很简单,所以我在如何努力 解决这个问题。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)