KSOAP名称空间和请求问题的XML输出格式

时间:2016-03-22 19:11:53

标签: android android-webservice

我正在构建一个需要通过SOAP接口获取一些数据的Android应用。我尝试使用KSOAP2模块(使用kso​​ap2-android-2.6.0-jar-with-dependencies.jar)。我在获取KSOAP方面遇到了麻烦

我想要这个作为请求:

<v: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/" xmlns:v="http://schemas.xmlsoap.org/soap/envelope/">
<v:Header /><v:Body>
<j:validateRef1 xmlns:j="http://ws.service.tbank.co.th/" id="o0" c:root="1">
<arg0 i:type="d:string">1234567890</arg0>
</j:validateRef1>
</v:Body></v:Envelope>

但是ksoap2给了我这个:

<v: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/" xmlns:v="http://schemas.xmlsoap.org/soap/envelope/">
<v:Header />
<v:Body>
<validateRef1 xmlns="http://ws.service.tbank.co.th/" id="o0" c:root="1">
<arg0 i:type="d:string">1234567890</arg0>
</validateRef1>
</v:Body>
</v:Envelope>

唯一的区别是validateRef1元素在标签标签上没有n0前缀&#34; j&#34;并且命名空间也不包含标记名称&#34; j&#34;。

有人可以帮我把结果作为第一个。

1 个答案:

答案 0 :(得分:1)

我找到了解决方案。你需要添加

envelope.dotNet = false;