android开发调用自定义的webservice

在上一篇,我们开发了自定义的service:使用MyEclipse开发webservice,今天我们用android程序调用自定义的webservice接口:

在浏览器输入:8080/TestService/MyServicePort?wsdl

其中MyServicePort是webservice服务器端的sun-jaxws.xml文件中的url-pattern="/MyServicePort"

注意这里的192.168.0.5是我本机的ip地址,,需要改为自己的ip地址,如下图:

3.建立android客户端:

点击AddExternlJARS

添加ksoap2-android-assembly-2.5.2-jar-with-dependencies.jar包

注意在android

需要注意的是:当服务器端返回的是二进制形式的时候,则

SoapObjectobject=(SoapObject)envelope.getResponse();

否则

SoapObjectobject=(SoapObject)envelope.bodyIn;

当android

// 指定WebService的命名空间和调用的方法名SoapObject rpc = new SoapObject(NAMESPACE, "add"); // 设置需调用WebService接口需要传入的两个参数mobileCode、userIdrpc.addProperty("arg0",Integer.parseInt(one.getText().toString())); rpc.addProperty("arg1",Integer.parseInt(two.getText().toString()));

1.添加权限:

2.新建线程,让那些步骤在新线程中执行

关键代码如下:

//命名空间

StringNAMESPACE="";

//调用的方法名String methodName = "sayHello";//endPointString endPoint = ":8080/TestService/MyServicePort?wsdl";// 指定WebService的命名空间和调用的方法名SoapObject rpc = new SoapObject(NAMESPACE, methodName); // 设置需调用WebService接口需要传入的两个参数mobileCode、userIdrpc.addProperty("arg0","hahaaa"); // 生成调用WebService方法的SOAP请求信息,并指定SOAP的版本final SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);envelope.dotNet = false;envelope.bodyOut = rpc;envelope.setOutputSoapObject(rpc);final HttpTransportSE transport = new HttpTransportSE(endPoint);<span style="white-space:pre"></span>new Thread(){public void run() {try {<span style="white-space:pre"></span>// 调用WebServicetransport.call(null, envelope);if(envelope.getResponse()!=null){// 获取返回的数据SoapObject object = (SoapObject) envelope.bodyIn;String result= object.getProperty(0).toString();Message message = new Message();Bundle bundle = new Bundle();bundle.putString("result",result);<span style="white-space:pre"></span>message.setData(bundle);message.what = 1;handler.sendMessage(message);} } catch (Exception e) {<span style="white-space:pre"></span>e.printStackTrace();}<span style="white-space:pre"></span>};}.start();源码下载

有理想在的地方,地狱就是天堂

android开发调用自定义的webservice

相关文章:

你感兴趣的文章:

标签云: