2016-03-22 43 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;