• SOAP接口对接


    SOAP接口对接

    SOAP协议

    ​ SOAP (简单对象访问协议)是基于xml格式简易协议,支持绑定http、tcp、udp协议进行网络信息交换。常见的是SOAP结合http构建rpc风格的传输,大致过程是SOAP消息基于xml进行编码,然后映射到http协议语义上,基于http协议进行消息的网络传输。(也可以将SOAP消息映射到tcp\udp上)

    webservice

    ​ webservice由SOAP、WSDL、UDDI 组成,SOAP用来描述传递信息的格式、WSDL用来描述如何访问具体的接口,UDDI用来管理查询webservice。

    spring webservice 实现

    发布webservice

    https://spring.io/guides/gs/producing-web-service/#initial

    访问webservice

    1. 生成相应的服务依赖对象,通过服务发放地址(通常拼接上?wsdl)可以获取相应的wsdl文件,利用maven的 **maven-jaxb2-plugin**插件生成对象

      参考

      
              
                  
                  
                      org.jvnet.jaxb2.maven2
                      maven-jaxb2-plugin
                      0.14.0
                      
                          
                              
                                  generate
                              
                          
                      
                      
                          WSDL
                          ${project.basedir}/src/main/java
                          com.xxx.xxxxx
                          ${project.basedir}/src/main/resources
                          
                              xx.wsdl
                          
      
      
      
      
      
                      
                  
                  
              
          
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
      • 15
      • 16
      • 17
      • 18
      • 19
      • 20
      • 21
      • 22
      • 23
      • 24
      • 25
      • 26
      • 27
      • 28
      • 29
      • 30
      • 31
      • 32
    2. 基于spring提供的webserviceTemplate 可以简单便捷的进行接口的请求

      依赖

              
                  org.springframework.boot
                  spring-boot-starter-web-services
                  
                      
                          org.springframework.boot
                          spring-boot-starter-tomcat
                      
                  
              
              
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
    3. webserviceTemplate 使用

      WebServiceTemplate webServiceTemplate = new WebServiceTemplate() ;
      Jaxb2Marshaller marshaller = new Jaxb2Marshaller();
      marshaller.setContextPath("com.xx.xxx");//marshaller 解析的时候会依赖这个类路径
      webServiceTemplate.setMarshaller(marshaller);
      webServiceTemplate.setUnmarshaller(marshaller);
      ObjectFactory objectFactory = new ObjectFactory();
      return ((JAXBElement)webServiceTemplate.marshalSendAndReceive(url, objectFactory.createXXXX(xxxxx))).getValue();
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7

    参考

    https://www.w3school.com.cn/soap/soap_intro.asp

    https://baike.baidu.com/item/%E7%AE%80%E5%8D%95%E5%AF%B9%E8%B1%A1%E8%AE%BF%E9%97%AE%E5%8D%8F%E8%AE%AE/3841505?fromtitle=SOAP&fromid=4684413&fr=aladdin

    https://spring.io/guides/gs/producing-web-service/#initial

    https://docs.spring.io/spring-ws/site/reference/html/client.html

  • 相关阅读:
    NFA转换成DFA的方法——子集法
    如何保证消息的顺序性
    入门力扣自学笔记147 C++ (题目编号1598)
    SpringBoot-配置-YAML-properties-2
    Nodejs 第五十章(lua的基本使用)
    [附源码]Java计算机毕业设计SSM读书网络社区设计
    Java 泛型
    【手把手带你学JavaSE系列】String类(上篇)
    Hello Playwright:(3)基本概念
    ClickHouse 学习之基础入门(一)
  • 原文地址:https://blog.csdn.net/xuexilangren1/article/details/127547250