2012-04-28 5 views
0

как позвонить в веб-srvice с помощью мыла, когда мой веб-сервис выглядит следующим образом. Мне нужно заполнить детали cus, как я могу это сделать .. может ли кто-нибудь помочь мне на этомотправить вложенный запрос в android

<registerCustomer xmlns="http://webservices.foodtruck.zsl.com/"> 
    <cusDetails> 
    <FirstName>string</FirstName> 
    <LastName>string</LastName> 
    <EmailID>string</EmailID> 
    <AddLine1>string</AddLine1> 
    <AddLine2>string</AddLine2> 
    <ZipCode>string</ZipCode> 
    <City>string</City> 
    <StateCode>string</StateCode> 
    <PhoneNumber>string</PhoneNumber> 
    <Username>string</Username> 
    <Password>string</Password> 
    <BrandID>int</BrandID> 
    <DiscAgree>int</DiscAgree> 
    <Latitude>string</Latitude> 
    <Longitude>string</Longitude> 
    </cusDetails> 
     </registerCustomer> 
     </soap:Body> 
    </soap:Envelope> 

Код, который я использую для вызова услуги: final String METHOD_NAME = ServiceStrings.registerMethod; final String SOAP_ACTION = ServiceStrings.registerSoapAction; попробовать {

 SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME); 
     PropertyInfo pi = new PropertyInfo(); 

     pi.setName("cusDetails"); 
     pi.setValue(new SoapObject(NAMESPACE, "cusDetails") 
     .addProperty("FirstName", fname) 
     .addProperty("LastName", lname) 
     .addProperty("EmailID", email) 
     .addProperty("AddLine1", add1) 
     .addProperty("AddLine2", add2) 
     .addProperty("ZipCode", zip) 
     .addProperty("City", city) 
     .addProperty("StateCode", state) 
     .addProperty("PhoneNumber", phoneno) 
     .addProperty("Username", email) 
     .addProperty("Password", pwd) 
     .addProperty("BrandID", 1) 
     .addProperty("DiscAgree", 1) 
     .addProperty("Latitude", "11.2") 
     .addProperty("Longitude", "11.2")); 

     request.addProperty(pi); 

Но я получаю сообщение об ошибке

Server was unable to read request. ---&gt; There is an error in XML document (1, 316). ---&gt; The specified type was not recognized: name='cusDetails', namespace='http://webservices.foodtruck.zsl.com/', at &lt;cusDetails xmlns='http://webservices.foodtruck.zsl.com/'&gt; 
+0

вы как-то отправить '' </'' > вместо '' <' '> – zapl

+0

я дал мой полный код .. я не упомянул что-то вроде </> тогда как это hpnd – Dinu

+0

Что-то не работает при построении или отправке xml '' -> '< c usDetails > '. Но я не знаю, как работает SoapObject. – zapl

ответ

0
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME); 
     PropertyInfo pi = new PropertyInfo(); 
     pi.setName("cusDetails"); 
     pi.setValue(new SoapObject(NAMESPACE, "Customer") 
       .addProperty("FirstName", fname) 
       .addProperty("LastName", lname) 
       .addProperty("EmailID", email) 
       .addProperty("AddLine1", add1) 
       .addProperty("AddLine2", add2).addProperty("ZipCode", zip) 
       .addProperty("City", city).addProperty("StateCode", state) 
       .addProperty("PhoneNumber", phoneno) 
       .addProperty("Username", email) 
       .addProperty("Password", pwd) 
       .addProperty("BrandID", brandid) 
       .addProperty("DiscAgree", flag) 
       .addProperty("Latitude", "11.2") 
       .addProperty("Longitude", "11.2")); 

     request.addProperty(pi); 
     Log.e("req", brandid); 
     SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
       SoapEnvelope.VER11); 
     envelope.dotNet = true; 
     envelope.setOutputSoapObject(request); 
     AndroidHttpTransport androidHttpTransport = new AndroidHttpTransport(
       URL); 
Смежные вопросы