0

我想发送一个请求

<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 问题,但似乎找不到答案?

4

2 回答 2

0

尝试改变:

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

到:

request.setProperty(0, "connectionId");
request.addSoapObject(message);
于 2012-03-23T00:18:24.137 回答
0

事实证明这是一个问题。

http://code.google.com/p/ksoap2-android/issues/detail?id=113

期待结果。

于 2012-03-25T23:26:00.900 回答