Java 访问asmx接口

1、pom

<dependency>
            <groupId>commons-httpclient</groupId>
            <artifactId>commons-httpclient</artifactId>
            <version>3.1</version>
        </dependency>

2、工具类

import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.SimpleHttpConnectionManager;
import org.apache.commons.httpclient.methods.PostMethod;

import java.io.IOException;
import java.util.Map;

public class SoapUtil {
    public static String callSoap(String url,String method, Map<String, String> paramMap) throws IOException {
        // 输入服务网址
        HttpClient client = new HttpClient();
        PostMethod post = new PostMethod(url+"/"+method);
        // 设置参数
        if (paramMap != null) {
            for (Map.Entry<String, String> item : paramMap.entrySet()) {
                String key = item.getKey();
                String value = item.getValue();
                //System.out.println(key + ":" + value);
                post.setParameter(key, value);
            }
        }
        // client.setTimeout(newTimeoutInMilliseconds);

        // 执行,返回一个结果码
        int code = client.executeMethod(post);

        //System.out.println("结果码:" + code);
        // 获取xml结果
        String result = post.getResponseBodyAsString();
        //System.out.println("结果:" + result);
        // 释放连接
        post.releaseConnection();
        // 关闭连接
        ((SimpleHttpConnectionManager) client.getHttpConnectionManager()).shutdown();
        return result;
    }

}

3、demo

public static void main(String[] args) throws Exception {
       
    Map<String, String> paramMap = new HashMap<>();
    paramMap.put("id", "10086");
    paramMap.put("name", "老李");

    SoapUtil.callSoap("http://120.79.xxx.xxx:1234/aaaa.asmx", "调用的方法", paramMap);

}

 

posted @ 2024-02-21 16:36  都是城市惹的祸  阅读(5)  评论(0)    收藏  举报