使用apache的httpclient组件进行调用。
需要的包:commons-codec-1.5.jar, commons-httpclient-3.1.jar, commons-logging-1.1.jar
调用代码如下:
1 private static void clientDemo() throws HttpException, IOException {
2 HttpClient httpClient = new HttpClient();
3 // httpClient.getHostConfiguration().setProxy("127.0.0.1", 8888);
4 //接口地址。后面的TestMethod表示方法名
5 String url = "http://xxx.xxx.xxx.xxx:8089/service1.asmx/TestMethod";
6 PostMethod postMethod = new PostMethod(url);
7
8 //编码设为UTF-8
9 postMethod.getParams().setParameter(
10 HttpMethodParams.HTTP_CONTENT_CHARSET, "UTF-8");
11
12 //NameValuePair 名值对。传入webservice的参数
13 NameValuePair[] data = {
14 new NameValuePair("name", "admin"),
15 new NameValuePair("password", "admin"),
16 new NameValuePair("message", "测试测试"),
17 };
18 postMethod.setRequestBody(data);
19 //调用webservice,返回statuscode。200表示成功。
20 int statusCode = httpClient.executeMethod(postMethod);
21 System.out.println(statusCode);
22 //返回的Response文本。
23 String soapRequestData = postMethod.getResponseBodyAsString();
24 System.out.println(soapRequestData);
25 }