在Android中访问WebService接口


  最近公司有个项目需要从 Android 平台访问 WebService 接口,实现向发布的函数传递对象。在网上找了一些资料,发现使用 ksoap2 可以调用 WebService 传递对象。

 

需要引入 ksoap2-android-assembly-2.5.2-jar-with-dependencies.jar

 

//WebService 的命名空间

static final String namespace = "http://impl.service.suncreate.com" ;

// 服务器发布的 url

static final String url = http://10.100.3.41/axis2/services/UploadService;

 

final   String methodName = "upload"; // 函数名

final int sessionID = "111111";   //sessionID

 

 

// 创建 HttpTransportSE 对象 , 通过 HttpTransportSE 类的构造方法可以指定 WebService url  

 

 

HttpTransportSE transport = new HttpTransportSE( url );

transport. debug = true ; 

 

// 指定 WebService 的命名空间和函数名

SoapObject soapObject = new SoapObject( namespace , methodName);

 

// 设置调用方法参数的值

soapObject.addProperty( "sessionID" , sessionID ); //sessionID

soapObject.addProperty( "data" , cds); //cds 是需要传递的对象

 

SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope. VER10 );

envelope. bodyOut = transport;

envelope.setOutputSoapObject(soapObject);

 

// 使用 call 方法调用 WebService 方法

transport.call( null , envelope);

SoapObject sb = (SoapObject) envelope. bodyIn ;

String xmlMessage = sb.toString(); // 获取从服务器端返回的 XML 字符串

你可能感兴趣的:(webservice)