Android 调用webService

WebService是一种基于SOAP协议的远程调用标准,通过webservice可以将不同操作系统平台、不同语言、不同技术整合到一块。在Android SDK中并没有提供调用WebService的库,因此,需要使用第三方的SDK来调用WebService。PC版本的WEbservice客户端库非常丰富,例如Axis2,CXF等,但这些开发包对于Android系统过于庞大,也未必很容易移植到Android系统中。因此,这些开发包并不是在我们的考虑范围内。适合手机的WebService客户端的SDK有一些,比较常用的有Ksoap2,可以从http://code.google.com/p/ksoap2-android/downloads/list进行下载;将下载的ksoap2-android-assembly-2.4-jar-with-dependencies.jar包复制到Eclipse工程的lib目录中,当然也可以放在其他的目录里。同时在Eclipse工程中引用这个jar包。

private static String nameSpace ;
private static String serviceURL ;
private static String methodName1;
private static String soapAction;
public static String GetNewMsg() {
String mes="";
SoapObject request = new SoapObject(nameSpace,methodName1);
// request.addProperty("ID", ID);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.bodyOut = request;
envelope.dotNet=true;
HttpTransportSE ht = new HttpTransportSE(serviceURL);
ht.debug = true;
try {
ht.call(soapAction, envelope);
if (envelope.getResponse() != null) {
mes=envelope.getResponse().toString();
} else {
mes="获取信息失败!";
}
} catch (Exception e) {
Log.i("获取信息异常",e.getMessage());
mes="获取信息异常!";
}
return mes;
}

posted @ 2014-03-11 13:42  风语9  阅读(204)  评论(0编辑  收藏  举报