通过HttpClient调用webservice
2014-11-14 18:26
295 查看
<?xml version="1.0" encoding="utf-8"?> <soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope"> <soap12:Body> <Login xmlns="Loginnames"> <userId>张氏</userId> <password>123456</password> </Login> </soap12:Body> </soap12:Envelope>
String serviceEpr = "http://127.0.0.1/rightproject/WebServices/RightService.asmx"; String contentType = "application/soap+xml; charset=utf-8";
public static String callWebService(String soapRequest, String serviceEpr, String contentType){ PostMethod postMethod = new PostMethod(serviceEpr); //设置POST方法请求超时 postMethod.getParams().setParameter(HttpMethodParams.SO_TIMEOUT, 5000); try { byte[] b = soapRequest.getBytes("utf-8"); InputStream inputStream = new ByteArrayInputStream(b, 0, b.length); RequestEntity re = new InputStreamRequestEntity(inputStream, b.length, contentType); postMethod.setRequestEntity(re); HttpClient httpClient = new HttpClient(); HttpConnectionManagerParams managerParams = httpClient.getHttpConnectionManager().getParams(); // 设置连接超时时间(单位毫秒) managerParams.setConnectionTimeout(30000); // 设置读数据超时时间(单位毫秒) managerParams.setSoTimeout(600000); int statusCode = httpClient.executeMethod(postMethod); if (statusCode != HttpStatus.SC_OK) throw new IllegalStateException("调用webservice错误 : " + postMethod.getStatusLine()); String soapRequestData = postMethod.getResponseBodyAsString(); inputStream.close(); return soapRequestData; } catch (UnsupportedEncodingException e) { return "errorMessage : " + e.getMessage(); } catch (HttpException e) { return "errorMessage : " + e.getMessage(); } catch (IOException e) { return "errorMessage : " + e.getMessage(); }finally{ postMethod.releaseConnection(); } }
相关文章推荐
- 通过httpclient调用webservice
- 排除JQuery通过HttpGet调用WebService返回Json时“parserror”错误
- 通过HttpWebRequest在后台对WebService进行调用
- C#通过http post方式调用需要证书的webservice
- 通过HttpClient调用XDOC云服务
- C# 通过HttpWebRequest在后台对WebService进行调用
- 排除JQuery通过HttpGet调用WebService返回Json时“parserror”错误
- Httpclient远程调用WebService示例(Eclipse+httpclient)
- HTTPclient通过soap协议访问cxf写的webservice服务端的方法。
- 通过HttpClient调用WebApi的Get、Post方法(返回类型限定为json格式)
- 通过HttpWebRequest在后台对WebService进行调用
- Android--通过Http协议向web服务器发送XML数据和调用webService
- IE下通过IXMLHTTPRequest对象用javascipt调用webservice
- 通过HttpClient请求webService
- 在c#中通过http对象编程实现webservice调用
- Android 通过httpclient 调用碰到的问题总结
- [转载]通过HttpWebRequest在后台对WebService进行调用
- Android 通过httpclient 调用碰到的问题总结
- HttpClient-调用webservice客户端
- 通过HttpClient请求webService