【J2ME】KSOAP 调用 .Net Webservice

kSOAP调用Web Service介绍:


SoapObject,一个高度抽象化的类,让无线设备完成SOAP调用。可以调用它的addProperty方法填写要调用的Web Service方法的参数。如下面代码所示:

SoapObject soap = new SoapObject(serviceNamespace, methodName);

SoapObject构造函数的两个参数的意思分别是:

serviceNamespace – Web Service的命名空间,严格和wsdl文件里一致

methodName – 要调用的方法名。

然后,按照Web Service方法参数的顺序,依次调用

soap.addProperty( "username", "user" );
soap.addProperty( "password", "pass" );


一般来说,对于仅仅是String的返回值,还用不着ClassMap。

接下来就要声明

HttpTransport tx = new HttpTransport(serviceUrl, soapAction );

这是一个强大的helper类,来完成Http-call transport process,它封装了network的一切,你完全不用考虑序列化消息。方法HttpTransport.call()自己就能够发送请求给服务器、接收服务器响应并序列化SOAP消息,如下所示:

Object Response = tx.call(request);

客户端的MIDlet的按键事件函数这么写,即可:

 

  1. import  org.ksoap.SoapObject;
  2. import  org.ksoap.transport.HttpTransport;
  3. public   class  KSoapProcess {
  4.      public  KSoapProcess() {
  5.     }
  6.      /**
  7.      * 调用webservice方法,不带参数
  8.      * @return
  9.      */
  10.      public  String process() {
  11.         String result =  null ;
  12.          try  {
  13.             SoapObject soap =  new  SoapObject( "http://tempuri.org/" ,
  14.                      "GetDeptList" );
  15.             HttpTransport ht =  new  HttpTransport(
  16.                      "http://localhost:88/LawWebService/Service.asmx" ,
  17.                      "http://tempuri.org/GetDeptList" );
  18.             ht.debug =  true ;
  19.             result = ht.call(soap).toString();
  20.         }  catch  (Exception e) {
  21.             e.printStackTrace();
  22.         }
  23.          return  result;
  24.     }
  25. }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值