HTTP请求转换为SOAP(WebService)请求

依赖:

<dependency>
    <groupId>org.apache.httpcomponents</groupId>
    <artifactId>httpclient</artifactId>
    <version>4.5.6</version>
</dependency>

Demo:

  1. 设置请求地址和请求报文
        //请求地址
        String url = "请求地址";
        //请求报文
        String content = "请求报文";
  1. 获取http客户端和post请求
        //获取http客户端
        CloseableHttpClient httpClient = HttpClientBuilder.create().build();
        // 创建Post请求
        HttpPost httpPost = new HttpPost(url);
  1. 设置post请求的entity
        // 将数据放入entity中
        StringEntity entity = new StringEntity(content, "UTF-8");
        httpPost.setEntity(entity);
  1. 设置响应模型(响应内容和响应)
        // 响应模型
        String result = null;
        CloseableHttpResponse response = null;
  1. 设置请求头
            //设置请求头
            httpPost.setHeader("Content-Type", "text/xml;charset=UTF-8");

            //命名空间+方法名
            httpPost.setHeader("SOAPAction", "\"http://tempuri.org/Request\"");
  1. 发送post请求
            // 由客户端执行(发送)Post请求
            response = httpClient.execute(httpPost);

            // 从响应模型中获取响应实体
            HttpEntity responseEntity = response.getEntity();

            System.out.printlng.info("响应ContentType为:" + responseEntity.getContentType());                
            System.out.printlnog.info("响应状态为:" + response.getStatusLine());

            if (responseEntity != null) {
                result = EntityUtils.toString(responseEntity);
                System.out.printlnog.info("响应内容为:" + result);
            }

            //释放资源
            httpClient.close();
            response.close();

整体代码:

        //请求地址
        String url = "";
        //请求报文
        String content = "";

        // 获得Http客户端
        CloseableHttpClient httpClient = HttpClientBuilder.create().build();

        // 创建Post请求
        HttpPost httpPost = new HttpPost(url);

        // 将数据放入entity中
        StringEntity entity = new StringEntity(content, "UTF-8");
        httpPost.setEntity(entity);

        // 响应模型
        String result = null;
        CloseableHttpResponse response = null;

        try {
            //设置请求头
            httpPost.setHeader("Content-Type", "text/xml;charset=UTF-8");

            //命名空间+方法名
            httpPost.setHeader("SOAPAction", "\"http://tempuri.org/Request\"");

            // 由客户端执行(发送)Post请求
            response = httpClient.execute(httpPost);

            // 从响应模型中获取响应实体
            HttpEntity responseEntity = response.getEntity();
            log.info("响应ContentType为:" + responseEntity.getContentType());
            log.info("响应状态为:" + response.getStatusLine());

            if (responseEntity != null) {
                result = EntityUtils.toString(responseEntity);               
                log.info("响应内容为:" + result);
            }

        }finally {

            // 释放资源
            if (httpClient != null) {              
                    httpClient.close();                
            }
            if (response != null) {                
                    response.close();               
            }
        }
  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值