android访问webService

来源:互联网 发布:php.ini没有extension 编辑:程序博客网 时间:2024/04/19 09:01

http://www.webxml.com.cn/zh_cn/web_services.aspx免费webservices接口

在Android平台调用Web Service需要依赖于第三方类库ksoap2,不要在主线程操作。

需要定义命名空间、方法名、SoapAction、endPoint(方法地址)

步骤:

1、初始化请求的SoapObject

2、初始化请求SoapObject的参数

3、初始化SoapSerializationEnvelope

4、建立连接HttpTransportSE httpTransportSE = new HttpTransportSE(url);

5、调用WebService(其中参数为1:命名空间+方法名称,2:Envelope对象): 

transport.call(serviceNameSpace+getWeatherbyCityName, envelope);

6、获取返回值。

    // 指定WebService的命名空间和调用的方法名        SoapObject rpc = new SoapObject(nameSpace, methodName);        // 设置需调用WebService接口需要传入的两个参数mobileCode、userId        rpc.addProperty("mobileCode", "");        rpc.addProperty("userID", "");        // 生成调用WebService方法的SOAP请求信息,并指定SOAP的版本        SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER12);        envelope.bodyOut = rpc;        // 设置是否调用的是dotNet开发的WebService        envelope.dotNet = true;        // 等价于envelope.bodyOut = rpc;//        envelope.setOutputSoapObject(rpc);        HttpTransportSE transport = new HttpTransportSE(endPoint);        try {            // 调用WebService            transport.call(soapAction, envelope);        } catch (Exception e) {            e.printStackTrace();        }//        // 获取返回的数据        SoapObject object = (SoapObject) envelope.bodyIn;

0 0
原创粉丝点击