android调用java的web service接口

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

android中通过webservice调用服务器端其实还是很简单的,只要按部就班的按照下面步骤进行即可: 
(1)创建HttpTransportSE对象,该对象用于调用WebService操作 

代码如下:

HttpTransportSE ht = new HttpTransportSE(SERVICE_URL); 

(2)创建SoapSerializationEnvelope对象 

代码如下:

SoapSerializationEnvelope envelope = new SoapSerializationEnvelope
(SoapEnvelope.VER11);

(3)创建SoapObject对象,创建该对象时需要传入所要调用的Web Service的命名空间和WebService方法名 

代码如下:

SoapObject request = new SoapObject(SERVICE_NS, methodName); 

(4)如果有参数传给Web Service服务器端,调用SoapObject对象的addProperty(String name, Object value)方法来设置参数,该方法的name参数指定参数名 
注意:参数名不一定要与服务端的方法中的参数名相同,只要对应顺序相同即可;value参数指定参数值 

代码如下:

request.addProperty("name", "1006010054"); 

(5)调用SoapSerializationEnvelope的setOutputSoapObject()方法,或者直接对bodyOut属性赋值,将前两步创建的SoapObject对象设为SoapSerializationEnvelope的传出SOAP消息体 

代码如下:

envelope.bodyOut = request; 


(6)调用对象的call()方法,并以SoapSerializationEnvelope作为参数调用远程的web service 

代码如下:

ht.call(null, envelope); 

(7)掉用完成后,访问SoapSerializationEnvelope对象的bodyIn属性,该属性返回一个SoapObject对象,该对象就代表Web service的返回消息,解析该对象,即可获得调用web service的返回值

代码如下:

SoapObject result = (SoapObject) envelope.bodyIn; 
String name = result.getProperty(0).toString(); 


转载于:https://my.oschina.net/hnqingping1255/blog/375704

你可能感兴趣的:(android调用java的web service接口)