zoukankan      html  css  js  c++  java
  • 利用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();
  • 相关阅读:
    福尔摩斯的约会 (20)
    数素数 (20)
    STL源码分析-priority_queue
    STL源码分析-bitset
    STL源码分析-rbtree
    STM32自动生成精美图案
    STL源码分析-function
    STL源码分析-list
    STL源码分析-iterator
    STL源码分析-traits
  • 原文地址:https://www.cnblogs.com/epmouse/p/5714688.html
Copyright © 2011-2022 走看看