Witam
mam problem z wysłaniem paczki danych do webserwisu tak by otrzymać odpowiedź z danymi
poniżej wymagane dane z pliku WSDL
<xsd:complexType name="DataIn">
−
<xsd:all>
<xsd:element name="imei" type="xsd:string"/>
<xsd:element name="lang" type="xsd:int"/>
<xsd:element name="login" type="xsd:string"/>
<xsd:element name="soft" type="xsd:string"/>
</xsd:all>
</xsd:complexType>
ma ktoś pomysł jak zapisać wymagane dane ?
kod androida
SoapObject Request = new SoapObject(NAMESPACE, METHOD_NAME);
Request.addAttribute("imei", this.imei);
Request.addAttribute("lang", this.lang);
Request.addAttribute("soft", this.soft);
Request.addAttribute("login", this.login);
SoapSerializationEnvelope soapEnvelop = new SoapSerializationEnvelope(SoapEnvelope.VER12);
soapEnvelop.setOutputSoapObject(Request);
takie wywołanie nie działa - pewnie trzeba jakoś obudować dane w "DataIn" i je dodać w Request.addAttribute - tylko jak to zrobić ?
---
odpowiem sobie sam 😃
nie jestem przekonany czy to rozwiązanie jest w 100% poprawne jednak działa
SoapObject Request = new SoapObject(NAMESPACE, METHOD_NAME);
SoapObject pack = new SoapObject(NAMESPACE, METHOD_NAME);
pack.addProperty("imei", "000000000000000");
pack.addProperty("lang", 1);
pack.addProperty("soft", "and");
pack.addProperty("login", "log_and");
Request.addProperty("DataIn", pack);
SoapSerializationEnvelope soapEnvelop = new SoapSerializationEnvelope(SoapEnvelope.VER11);
soapEnvelop.setOutputSoapObject(Request);
swoją drogą rada dla innych programistów - jeśli nie musicie korzystać z webservice to tego nie róbcie
jak na razie gorszego łączenia (i potem przetwarzania odpowiedzi) z webservice niż to w Androidzie to nie widziałem :/