2013-06-08 2 views
2
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"    xmlns:cli="http://www.xxx.com/services/cliente" xmlns:tel="http://www.xxx.com"> 
    <soapenv:Header/> 
    <soapenv:Body> 
<cli:ConsultaAbonadoRequest> 
<cli:DatosAcceso> 
    <tel:nombreAplicacion>AAAA</tel:nombreAplicacion> 
</cli:DatosAcceso> 
<cli:DatosCelular> 
    <tel:numCelular>BBBB</tel:numCelular> 
    <tel:numAbonado></tel:numAbonado> 
    <tel:codigoCliente></tel:codigoCliente> 
</cli:DatosCelular> 
</cli:ConsultaAbonadoRequest> 
</soapenv:Body> 
</soapenv:Envelope> 

Я пытаюсь сделать SOAP-вызов с помощью ksoap2. Мне нужно отправить такой запрос. И я потратил 3 часа уже читал и до сих пор не могу создавать вложенные узлы, пожалуйста, помогите мне сделать правильный конвертНе удается отправить запрос с помощью ksoap2

Спасибо

ответ

2

В ksoap2 проектах вики-странице, Adding an array of complex objects to the request раздел:

Чтобы получить этот XML:

<users> 
    <user> 
    <name>Jonh</name> 
    <age>12</age> 
    </user> 
    <user> 
    <name>Marie</name> 
    <age>27</age> 
    </user> 
</users> 

Вы бы сделать это:

SoapObject users = new SoapObject(NAMESPACE, "users"); 
SoapObject john = new SoapObject(NAMESPACE, "user"); 
john.addProperty("name", "john"); 
john.addProperty("age", 12); 
SoapObject marie = new SoapObject(NAMESPACE, "user"); 
john.addProperty("name", "marie"); 
john.addProperty("age", 27); 
users.addSoapObject(john); 
users.addSoapObject(marie); 

Это может вам помочь.

+0

Спасибо, что вы сэкономили много времени, теперь я понимаю общую идею! – alex