Android调用WebService

WebService是一种基于SOAP协议的远程调用标准,是一种嵌入式技术。通过WebService可以将不用操作系统,不同语言,不同技术整合到一块,在Android SDK并没有提供调用WebService的库,我们可以使用Ksoap2,可以自行下载,把对应的包复制到Eclipse的lib目录中,同时在Eclipse中引用这个jar包。

(1)指定WebService的命名空间和调用的方法名,如:

SoapObject request = new SoapObject(http://service,"getname”);

(2)设置调用的方法的参数值,如果没有参数,可以省略,设置参数如下:

Request.addProperty("param1",value);

(3)生成调用WebService方法的SOAP请求信息,给信息由SoapSerializationEnvelope对象描述。

(4)使用call方法调用WebService方法,如

ht.call(null,envelope);

(5)使用getResponse方法获得WebService方法的返回结果。如

SoapObject soapObject = (SoapObject )envelope.getResponse();

下面是一个简单的调用例子:

public class WebService {  

    
    private static final String NAMESPACE = "http://tempuri.org/";    
    private static final String URL = "http://scaucs.net:6390/Service1.svc";  
    private static final String METHOD = "GetData";
    private static final String ACTION = "http://tempuri.org/IService1/GetData"; 
    public String beginRequest(int value) {  
    String result = "";
        try {  
            SoapObject request = new SoapObject(NAMESPACE, METHOD);  
            request.addProperty("value", value);            
            SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);  
            envelope.dotNet = true;
            envelope.setOutputSoapObject(request);              
            HttpTransportSE transport = new HttpTransportSE(URL);  
            transport.debug = true;              
            transport.call(ACTION, envelope);              
            result = envelope.getResponse().toString();
        } catch (IOException e) {  
            e.printStackTrace();  
        } catch (XmlPullParserException e) {  
            e.printStackTrace();  
        }  
        return result;
    }  
}  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值