首页 > 代码库 > android下身份验证方式调用webservice
android下身份验证方式调用webservice
在企业开发领域,webservice还是经常被用到的服务体系,因为他对安全事务支持都比较好。
有时候,我们就需要在android下调用后端的webservice服务,因为在内部网络环境下,所有需要basic身份验证。
一般情况下,我们会用soap包来访问,但是soap包虽然封装的比较好,但是一旦出错很难找到原因。下面我们介绍一种简单的方式,通过http client post来访问webservice;
首先,我们把soap请求拼装成xml字符串,如下:
String soapRequestData = http://www.mamicode.com/"<?xml version=\"1.0\" encoding=\"utf-8\"?>">
创建postMethod:PostMethod postMethod = new PostMethod( "http://xx?wsdl");
声明他是一个soap请求:StringRequestEntity requestEntity = new StringRequestEntity(soapRequestData,"application/soap+xml; charset=UTF-8; type=\"text/xml\"","UTF-8"); postMethod.setRequestEntity(requestEntity);
加上basic身份认证:HttpClient httpClient = new HttpClient(); httpClient.getState().setCredentials(new AuthScope("host", 80, AuthScope.ANY_REALM), new UsernamePasswordCredentials("username", "password")); httpClient.getParams().setAuthenticationPreemptive(true);
最后,像正常的http请求一下,调用起来:int statusCode = httpClient.executeMethod(postMethod); if(statusCode == 200) { System.out.println("调用成功!"); String soapResponseData = http://www.mamicode.com/postMethod.getResponseBodyAsString();>
这里的返回值就是webservice返回的xml,需要我们解析这个xml文件来得到数据。android下身份验证方式调用webservice
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。