将旧的 JAVA RPC SOAP Web 服务器迁移到 Spring Boot

问题描述

我需要将旧的 JAVA RPC/Encoded SOAP Web 服务器迁移到 Spring Boot。该 Web 服务器被大量客户端应用程序使用,并且预计客户端的迁移将是无缝的。我尝试使用 Contract First 方法在 Spring Boot 中生成 Web 服务器,但 RPC/Encoded wsdl 无法使用它。我试图为它收集一些炒锅,但没有在线获得任何相关文档或指导。

即使对 wsdl 进行微小更改而不对客户端应用程序产生任何影响,在我的情况下也是可以接受的。例如,如果不会在使用此 Web 服务的客户端应用程序中产生问题,那么将类型更改为文字而不是编码是可以的。

任何完整的指导将不胜感激。下面是 wsdl 文件

<?xml version="1.0" encoding="UTF-8"?>
<deFinitions name="DataExchangeService" targetNamespace="http://auto.example.com/message" xmlns:tns="http://auto.example.com/message" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
    <types/>
    <message name="DateExchangeServiceIF_exchangeMessage">
        <part name="String_1" type="xsd:string"/>
    </message>
    <message name="DateExchangeServiceIF_exchangeMessageResponse">
        <part name="result" type="xsd:string"/>
    </message>
    <portType name="DateExchangeServiceIF">
        <operation name="exchangeMessage" parameterOrder="String_1">
            <input message="tns:DateExchangeServiceIF_exchangeMessage"/>
            <output message="tns:DateExchangeServiceIF_exchangeMessageResponse"/>
        </operation>
    </portType>
    <binding name="DateExchangeServiceIFBinding" type="tns:DateExchangeServiceIF">
        <operation name="exchangeMessage">
            <input>
                <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded" namespace="http://auto.example.com/message"/>
            </input>
            <output>
                <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded" namespace="http://auto.example.com/message"/>
            </output>
            <soap:operation soapAction="https://auto.example.com/message/exchangeMessage"/>
        </operation>
        <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="rpc"/>
    </binding>
    <service name="DataExchangeService">
        <port name="DateExchangeServiceIFPort" binding="tns:DateExchangeServiceIFBinding">
            <soap:address location="REPLACE_WITH_ACTUAL_URL"/>
        </port>
    </service>
</deFinitions>


解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)