JAVA 調(diào)用Web Service的方法1.使用HttpClient ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 然后定義一個PostMethod,這時需要指定web服務(wù)的Url; PostMethod postMethod = new PostMethod(“http://www.webxml.com.cn/WebServices/IpAddressSearchWebService.asmx”);
然后把Soap請求數(shù)據(jù)添加到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對象,并發(fā)出postMethod請求 HttpClient httpClient = new HttpClient();
statusCode = httpClient.executeMethod(postMethod); String soapRequestData = postMethod.getResponseBodyAsString();
soapRequestData就是調(diào)用web服務(wù)的Soap響應(yīng)數(shù)據(jù),是xml格式的,可以通過解析soapRequestData來獲得調(diào)用web服務(wù)的返回值。 2.使用Xfire Client c = new Client(new URL(“http://www.webxml.com.cn/WebServices/IpAddressSearchWebService.asmx?wsdl”));
調(diào)用Client對象的invoke方法,指定web服務(wù)的方法名,和參數(shù),返回值是一個Object型的數(shù)組。 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. 總結(jié) |
|
來自: ShangShujie > 《資料》