Pergunta

Estamos migrando de serviços da Web WebLogic para Spring-WS (1.5.x). Atualmente, há um problema que estamos enfrentando:

Precisamos passar por um objeto de contexto (no WLS, ele é passado como elemento do cabeçalho de sabão) para outros serviços que ainda estão sendo executados no WLS do serviço alimentado por Spring-WS. O elemento do cabeçalho ainda é formulado no lado do cliente e o WS (Spring-WS) recém-criado deve transmiti-lo para outros serviços.

Eu posso imaginar como o elemento personalizado seria aprovado: substituir o método DowithMessage (mensagem da WebServicemessage) ...

Existe uma maneira de gerar o WSDL com a ajuda do DefaultWSDL11Definition para conter esse elemento de cabeçalho personalizado? Veja o exemplo:

<wsdl:operation name="GetSomeInformation">
    <soap:operation
        soapAction="http://www.dummyservice.com/InformationService/GetSomeInformation" />
    <wsdl:input>
        <soap:body use="literal" />
        <soap:header message="ctx:ServiceContextMessage" part="serviceContext" use="literal" />
    </wsdl:input>
    <wsdl:output>
        <soap:body use="literal" />
    </wsdl:output>
    <wsdl:fault name="Error">
        <soap:fault name="Error" use="literal" />
    </wsdl:fault>
</wsdl:operation>

Obrigado pela ajuda

Foi útil?

Solução

Nós encontramos uma questão semelhante no meu projeto. Verifique a extensão do sufixo -comedomPortypesProvider, o sufixo baseado em provedor e o SOAP11Provider. Utilizamos o InLiningXSDSCHEMATIPESPROVER para importar o esquema que usamos para construir o WSDL. Se você executar a geração do WSDL através do depurador, conseguirá o jeito de como ele funciona. O código da primavera é fácil de seguir e estender.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top