2013-11-15 2 views
1

Я пытаюсь вызвать веб-сервис через Ksoap 2.5 сейчас. Мой вопрос заключается в том, есть ли способ настроить мыло xml body?Настроить тело мыла в Ksoap2 (Android)

Сейчас ksoap генерирует следующий фрагмент кода: «Сообщение мыло Указана недействительная»

<v:Envelope xmlns:v="http://schemas.xmlsoap.org/soap/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/"> 
    <v:Header/> 
    <v:Body> 
    <n0:TVerifyCode xmlns:n0="urn:AccessDBIntf-IAccessDB" id="o0" c:root="1"> 
     <UserId i:type="d:string">bfy</UserId> 
     <PassWord i:type="d:string">351F42CE0189FAD45AF2EA252A1F149A</PassWord>  
    </n0:TVerifyCode> 
    </v:Body> 
</v:Envelope> 

И сервер веб-служба жалуется, что

Если изменить фрагмент кода следующим образом, код будет работать:

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"> 
    <SOAP-ENV:Body xmlns:NS1="urn:AccessDBIntf-IAccessDB" xmlns:NS2="urn:CommonObj" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> 
    <NS1:Login> 
     <VerifyCode href="#1"/> 
    </NS1:Login> 
    <NS2:TVerifyCode id="1" xsi:type="NS2:TVerifyCode"> 
     <UserId xsi:type="xsd:string">bfy</UserId> 
     <PassWord xsi:type="xsd:string">F0639A434D0A852488F45A3071E009A6</PassWord>  
    </NS2:TVerifyCode> 
    </SOAP-ENV:Body> 
</SOAP-ENV:Envelope> 

Любые идеи, чтобы настроить тело конверта? Заранее спасибо!

ответ

0

Вы можете достичь этого, создав свой собственный запрос на мыло.

https://github.com/Abhan/SoapWithoutKSoap

Пожалуйста, обратитесь к выше библиотеке, этот парень создал запрос мыла без каких-либо библиотек мыла. Это довольно просто.

+0

Спасибо, но это не тот результат, который я хотел. – user2994941