Можно ли поменять местами строки xml кода в мыле - PullRequest
0 голосов
/ 23 марта 2012

Я хочу отправить запрос как

<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, и, кажется, не могу найти ответ?

Ответы [ 2 ]

0 голосов
/ 26 марта 2012

это оказывается проблемой.

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

с нетерпением жду результата.

0 голосов
/ 23 марта 2012

Попробуйте изменить:

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

на:

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