2012-03-23 22 views
0

我希望發送的請求像是否可以交換的XML代碼行肥皂

<v:Envelope xmlns:i="xxx"> 
<v:Header /> 
<v:Body> 
    <sendTwoWaySmsMessage xmlns="xxx" id="o0" c:root="1"> 
    <connectionId i:type="d:string">connectionId</connectionId> 
    <twoWaySmsMessage> 
    <message i:type="d:string">love it. It seems to work</message> 
    <mobiles i:type="d:string">345</mobiles> 
    <messageId i:type="d:string">123</messageId> 
    </twoWaySmsMessage> 
    </sendTwoWaySmsMessage> 
    </v:Body> 
</v:Envelope> 

什麼,我得到的是

<v:Envelope xmlns:i="xxx"> 
<v:Header /> 
<v:Body> 
    <sendTwoWaySmsMessage xmlns="xxx" id="o0" c:root="1"> 
    <twoWaySmsMessage> 
    <message i:type="d:string">love it. It seems to work</message> 
    <mobiles i:type="d:string">345</mobiles> 
    <messageId i:type="d:string">123</messageId> 
    </twoWaySmsMessage> 
    <connectionId i:type="d:string">connectionId</connectionId> 
    </sendTwoWaySmsMessage> 
    </v:Body> 
</v:Envelope> 

代碼

SoapObject request = new SoapObject(WSDL_TARGET_NAMESPACE, url); 
SoapObject message = new SoapObject("", "twoWaySmsMessage"); 
request.addProperty("connectionId", did); 

message.addProperty("message", "love it. It seems to work"); 
message.addProperty("mobiles", "435"); 
message.addProperty("messageId", "123"); 

request.addSoapObject(message); 
request.setProperty(0, "connectionId"); 

當我使用SoapUI與第二個與「connectionId」交換它似乎工作,任何人都可以幫助。有想法。 我已經看過幾乎所有的ksoap問題,似乎無法找到答案?

回答

0

嘗試改變:

request.addSoapObject(message); 
request.setProperty(0, "connectionId"); 

到:

request.setProperty(0, "connectionId"); 
request.addSoapObject(message); 
+0

對不起沒有運氣..保持不變 – John 2012-03-23 00:21:05

+0

只是注意到我必須使用setProperty錯誤,因爲值'did'由於setProperty而改變爲文本connectionId。 – John 2012-03-23 00:28:06

+0

這也是不可能的。 – John 2012-03-23 04:59:21