【问题标题】:Customize soap body in Ksoap2 (Android)在 Ksoap2 (Android) 中自定义肥皂体
【发布时间】:2013-11-15 05:17:30
【问题描述】:

我现在正在尝试通过 Ksoap 2.5 调用 Web 服务。我的问题是是否有自定义soap xml body?

现在ksoap生成如下代码sn-p:

<v:Envelope xmlns:v="http://schemas.xmlsoap.org/soap/envelope/" xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns:d="http://www.w3.org/2001/XMLSchema" xmlns:c="http://schemas.xmlsoap.org/soap/encoding/">
  <v:Header/>
  <v:Body>
    <n0:TVerifyCode xmlns:n0="urn:AccessDBIntf-IAccessDB" id="o0" c:root="1">
      <UserId i:type="d:string">bfy</UserId>
      <PassWord i:type="d:string">351F42CE0189FAD45AF2EA252A1F149A</PassWord>      
    </n0:TVerifyCode>
  </v:Body>
</v:Envelope>

并且网络服务服务器抱怨“您提供的soap消息无效”。

如果我按以下方式更改 sn-p,代码将起作用:

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
  <SOAP-ENV:Body xmlns:NS1="urn:AccessDBIntf-IAccessDB" xmlns:NS2="urn:CommonObj" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
    <NS1:Login>
      <VerifyCode href="#1"/>
    </NS1:Login>
    <NS2:TVerifyCode id="1" xsi:type="NS2:TVerifyCode">
      <UserId xsi:type="xsd:string">bfy</UserId>
      <PassWord xsi:type="xsd:string">F0639A434D0A852488F45A3071E009A6</PassWord>      
    </NS2:TVerifyCode>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

有自定义信封主体的想法吗?提前致谢!

【问题讨论】:

    标签: android soap ksoap2


    【解决方案1】:

    您可以通过创建自己的肥皂请求来实现此目的。

    https://github.com/Abhan/SoapWithoutKSoap

    请参考上面的库,这个人在没有任何soap库的情况下创建了soap请求。很简单。

    【讨论】:

    • 谢谢,但这不是我想要的结果。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多