使用Android调用SOAP Web服务的最佳方法是什么?

时间:2011-12-21 14:14:03

标签: android web-services soap

我需要一些建议。 我有WSDL,我需要拨打一些服务。

对于您来说,使用Android调用SOAP web service的最佳方式是什么? 我知道我们可以:

  • 使用库Ksoap 2
  • 创建xml模板并通过简单的http protocol发送。
  • 或者我可以这样做:

  public class AppelService {

private static final String NAMESPACE = "http://my-website.com"; private static final String URL = "http://mon-example-web-services/wsdl.WSDL"; private static final String SOAP_ACTION = "getWeather"; private static final String METHOD_NAME = "getWeather"; private String getWeather(String city) { try { SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME); request.addProperty("city", city); SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); envelope.setOutputSoapObject(request); AndroidHttpTransport androidHttpTransport = new AndroidHttpTransport(URL); androidHttpTransport.call(SOAP_ACTION, envelope); } catch (Exception e) { Log.e("getWeather", "", e); } } }

根据您自己的经验,您认为最好的方法是什么?

任何帮助表示赞赏。 感谢。

2 个答案:

答案 0 :(得分:4)

我肯定会主张使用ksoap2-android libary。我已经完成了这项研究,并且在多功能性方面没有任何好处使用这个库。 您提供的代码是ksoap2。

来自ksoap2-android网站:

  

ksoap2-android项目提供了轻量级和高效的SOAP   适用于Android平台的库。

     

它是使用Android测试的kSOAP2库的一个分支   记住平台。它还有许多功能和   增强功能并采用错误修复,贡献和发布   经常。它也适用于Maven和Ant用户。

答案 1 :(得分:1)

我个人使用kso​​ap2-android,因为解析响应对象非常简单... 如果你对它感到满意,为什么还要使用别的东西?

Bientôt;)

编辑:我的意思是ksoap2 -android 当然