Как использовать KSoap 2 в андроиде

Я только что наткнулся на ksoap2 для использования своих собственных asp .net веб-сервисов в приложениях для Android. Я нашел несколько больших ресурсов через Интернет, и я реализовал свой веб-сервис в приложении для Android.

Ниже приведен ответ от webservice, который я использовал:

HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: length <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <CheckAuthenticationResponse xmlns="http://tempuri.org/"> <CheckAuthenticationResult>boolean</CheckAuthenticationResult> </CheckAuthenticationResponse> </soap:Body> </soap:Envelope> 

Для использования вышеуказанной услуги я выполнил следующий код:

 public static Boolean isAuthenticated(String UserName, String Password) { String NAMESPACE = "http://tempuri.org/"; String METHOD_NAME = "CheckAuthentication"; String SOAP_ACTION = "http://tempuri.org/CheckAuthentication"; String URL = "http://primehangout.com/primehangoutweb.asmx"; SoapObject Request = new SoapObject(NAMESPACE, METHOD_NAME); PropertyInfo pi = new PropertyInfo(); pi.setName("UserId"); pi.setValue(UserName); pi.setType(String.class); Request.addProperty(pi); PropertyInfo pi2 = new PropertyInfo(); pi2.setName("Password"); pi2.setValue(Password); pi2.setType(String.class); Request.addProperty(pi2); SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); envelope.dotNet = true; envelope.setOutputSoapObject(Request); try { AndroidHttpTransport transp = new AndroidHttpTransport(URL); transp.call(SOAP_ACTION, envelope); SoapPrimitive result = (SoapPrimitive)envelope.getResponse(); return Boolean.parseBoolean(result.toString()); } catch(Exception e) { } return false; } 

Он работает нормально … Но теперь я собираюсь использовать услугу. Формат запроса требуемого сервиса следующий:

 POST /primehangoutweb.asmx HTTP/1.1 Host: primehangout.com Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: "http://tempuri.org/GetComment" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header> <AuthSoapHd xmlns="http://tempuri.org/"> <strUserName>string</strUserName> <strPassword>string</strPassword> </AuthSoapHd> </soap:Header> <soap:Body> <GetComment xmlns="http://tempuri.org/"> <UId>string</UId> <refID>int</refID> </GetComment> </soap:Body> </soap:Envelope> 

И ответ на требуемый сервис следующий:

 HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: length <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetCommentResponse xmlns="http://tempuri.org/"> <GetCommentResult> <xsd:schema>schema</xsd:schema>xml</GetCommentResult> </GetCommentResponse> </soap:Body> </soap:Envelope> 

Я использовал те же самые сервисы в своем предыдущем приложении iPhone, используя классы XMLReader, но поскольку я новичок в android, мне нужны ваши ребята.

🙂

Спасибо всем за чтение моего сообщения!

Solutions Collecting From Web of "Как использовать KSoap 2 в андроиде"