2016-03-22 47 views
0

我正在构建一个需要通过SOAP接口获取一些数据的Android应用程序。我试图使用KSOAP2模块(使用kso​​ap2-android-2.6.0-jar-with-dependencies.jar)。我有麻烦越来越KSOAPKSOAP名称空间和请求的XML输出格式问题

我要这个请求:

<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元素没有带有“j”的标签标签上的n0前缀以及该名称空间不包含标签名称“j”。

有人可以帮我取得第一个结果。

回答

0

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

envelope.dotNet = false;