• 利用ksoap调用webservice


    博文参考:

    http://www.cnblogs.com/shenliang123/archive/2012/07/05/2578586.html

    http://blog.csdn.net/jimbo_lee/article/details/23612333

    http://www.cnblogs.com/zhangchaoyang/articles/1955834.html

    注意:

    1、需要加网络权限

    2、跟一般的联网操作一样需要在子线程中。

    3、两个主要参数: webservice的命名空间和要调用的方法名

    引入jar包后,按以下步骤走就可以了。

    (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();
  • 相关阅读:
    医疗器械那些事
    内审员学习1
    BA
    GMP文件分类与编码管理规程
    杂-电工学
    产品学习1
    模拟电子技术1
    电路组装1
    Unable to simultaneously satisfy constraints.
    xcode
  • 原文地址:https://www.cnblogs.com/epmouse/p/5714688.html
Copyright © 2020-2023  润新知