2012-01-11 4 views
1

Я новичок в разработке Android, мне нужно получить XML-файл из Webservice с помощью SOAP-сообщения. Я попытался улучшить свой уровень, чтобы узнать разбор сообщений SOAP в Android, но я не могу найти точное решение для разбора сообщений SOAP. Здесь я прикрепил свой пример кода для анализа сообщения SOAP. Можете ли вы помочь мне разобрать сообщение SOAP на Android? (Ответ на отказ разрешен).Как получить доступ к Webservice в Android?

Я попытался исходный код ниже:

SoapObject request = new SoapObject(NAMESPACE ,METHOD_NAME); 
request.addProperty("username","d"); 
request.addProperty("password","d123"); 
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); 
envelope.dotNet=true; 
envelope.setOutputSoapObject(request);envelope.setAddAdornments(true); 
HttpTransportSE httpTransport = new HttpTransportSE(URL);   
try 
 { 
    httpTransport.call(SOAP_ACTION, envelope); //send request 
     SoapObject result=(SoapObject)envelope.bodyIn; 
     String results = result.toString(); 
     tv.setText(""+results); 
 } 
 catch (Exception e) 
 { 
      tv.setText(e.getMessage()); 
  } 

AndroidManifest.Xml file: 

<uses-permission android:name="android.permission.INTERNET"> 
</uses-permission> 
+0

Является REST не вариант, а также убедитесь, что вы делаете это в фоновом потоке отдельно от основного потока пользовательского интерфейса, как Я объяснил в другом вопросе, который я ответил вчера здесь. Http://stackoverflow.com/questions/8812281/android-emulator-crash-if-click-while-processing/8812798#8812798 –

ответ

1

Вы пропускаете envelope.getResponse(); в вашем коде, prabably, что может быть причиной того, что вы не получаете ответ.

Вы можете попробовать,

SoapObject result=(SoapObject)envelope.getResponse(); 
String results = result.toString(); 
+0

Спасибо, но ответ с таким же разрешением отклонен –

+0

Сообщение исключение в вопросе. –

0

Вы можете сделать это, как этот

 HttpPost httppost = new HttpPost(webServicePath); 
    httppost.setHeader("Content-Type", "text/xml;charset=UTF-8"); 

    HttpParams params = new BasicHttpParams(); 
    params.setParameter(CoreProtocolPNames.PROTOCOL_VERSION, 
      HttpVersion.HTTP_1_1); 

    String soapRequestXML = getXMLAsString(); 
    soapRequestXML = prepareInputParam(soapRequestXML); 

    StringEntity se; 
    se = new StringEntity(soapRequestXML, HTTP.UTF_8); 
    se.setContentType("text/xml"); 
    httppost.setEntity(se); 

    response = httpClient.execute(httppost); 
+0

Спасибо за ваш ответ. –

Смежные вопросы