Перенос устаревшего веб-сервера JAVA RPC SOAP Web Server на загрузку Spring

У меня есть требование перенести устаревший веб-сервер JAVA RPC/Encoded SOAP на весеннюю загрузку. Этот веб-сервер используется множеством клиентских приложений, и ожидается, что миграция будет беспроблемной для клиентов. Я попытался использовать подход Contract First для создания веб-сервера при весенней загрузке, но RPC/Encoded wsdl с ним не работает. Я попытался собрать немного вок для этого, но не нашел в Интернете соответствующей документации или руководств.

В моем случае допустимо даже внесение незначительных изменений в wsdl без какого-либо влияния на клиентское приложение. Например, вместо закодированного можно изменить тип на буквальный, если это не создаст проблемы в клиентском приложении, использующем эту веб-службу.

Мы будем очень благодарны за любое полное руководство. Ниже представлен файл 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>


0 ответов

Другие вопросы по тегам