JAVA 调用Web Service的方法1.使用HttpClient ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 然后定义一个PostMethod,这时需要指定web服务的Url; PostMethod postMethod = new PostMethod(“http://www.webxml.com.cn/WebServices/IpAddressSearchWebService.asmx”);
然后把Soap请求数据添加到PostMethod中 byte[] b = soapRequestData.getBytes("utf-8");
InputStream is = new ByteArrayInputStream(b,0,b.length); RequestEntity re = new InputStreamRequestEntity(is,b.length,"application/soap+xml; charset=utf-8"); postMethod.setRequestEntity(re);
最后生成一个HttpClient对象,并发出postMethod请求 HttpClient httpClient = new HttpClient();
statusCode = httpClient.executeMethod(postMethod); String soapRequestData = postMethod.getResponseBodyAsString();
soapRequestData就是调用web服务的Soap响应数据,是xml格式的,可以通过解析soapRequestData来获得调用web服务的返回值。 2.使用Xfire Client c = new Client(new URL(“http://www.webxml.com.cn/WebServices/IpAddressSearchWebService.asmx?wsdl”));
调用Client对象的invoke方法,指定web服务的方法名,和参数,返回值是一个Object型的数组。 Object[] results = c.invoke(“getVersionTime”, new Object[0]);
3.使用axis2 wsdl2java.bat -uri http://www.webxml.com.cn/WebServices/IpAddressSearchWebService.asmx?wsdl -p ws.clinet.axis2
4. 总结 |
|
来自: ShangShujie > 《资料》