栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

[spring处理webservice报文] 3 rest处理soap报文

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

[spring处理webservice报文] 3 rest处理soap报文

目录

1 背景

2 rest请求处理soap报文

2.1 创建controller

3 调试


1 背景

前面两篇讲解了spring处理soap报文的囧途,如下。这一篇讲解下spring如何通过post类型的请求来处理soap报文。

[spring处理webservice报文] 1 spring如何搭建webservice服务_独行侠_阿涛的博客-CSDN博客1 背景最近收到一个需求,比较坑,但是大概的意思看懂了,但是其中让我大意的是:需求说,双方通信采用报文的形式,如下: 报文密文

2 rest请求处理soap报文

soap报文格式在前面两篇文章都有了,这边同样的,再次复制一遍:

需求说,双方通信采用报文的形式,如下:


   
   
      报文密文
   

2.1 创建controller
package com.future.ws.controller;

import ch.qos.logback.core.net.SyslogOutputStream;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.servlet.http.HttpServletRequest;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.nio.charset.Charset;

@RestController
@RequestMapping("/ws")
public class FutureController {

    @PostMapping("/in")
    public String wsIn(HttpServletRequest request) {
        // 获取报文
        String body = getBody(request);
        System.out.println(body);
        return "";
    }

    private String getBody(HttpServletRequest request) {
        StringBuffer sb = new StringBuffer("");
        try (
                InputStream in = request.getInputStream();
                BufferedReader br = new BufferedReader(new InputStreamReader(in, Charset.forName("UTF-8")));
        ) {
            String temp;
            while ((temp = br.readLine()) != null) {
                sb.append(temp);
            }
        } catch (Exception ex) {
            ex.printStackTrace();
        } finally {
            return sb.toString();
        }
    }
}

3 调试

 现在我们任何使用soapui模拟rest的post类型请求:

点击调试按钮,查看服务端打印出来的日志,可以看到能够拿到全部的报文信息:

2022-05-14 17:29:15.402  INFO 5788 --- [nio-8080-exec-2] o.s.web.servlet.DispatcherServlet        : Completed initialization in 18 ms


      	111   

 因此,显然我们的分析是对。下面一篇,分享下如何解析soap报文

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/885391.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号