我需要将旧版 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>