Custom Header Element contains just Strig value
Publiquei um Serviço SOAP.
Recebo o cabeçalho abaixo com o parametro mustUnderstand="1", logo preciso criar a estrutura para interpretar o cabeçalho.
Ocorre que o valor contido na TAG <Action/> é puramente uma string. Não estou conseguindo fazer a classe de header aceitar esse valor, uma vez que por default ela espera que a TAG <Action/> contenha subelementos espelhados nas suas propriedades (como se fizesse o correlate e não conseguisse interpretar a string).
Alguém sabe como consigo receber esse cabeçalho?
Cabeçalho do XML:
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header>
<Action s:mustUnderstand="1" xmlns="http://schemas.microsoft.com/ws/2005/05/addressing/none">http://protocolomatrix.matrixsaude.com/TrocaMensagens</Action>
</s:Header>
...
XData ( classe do serviço publicado
{
<parameters xmlns="http://www.intersystems.com/configuration">
<request>
<header name="Action" class="Header.Action"/>
</request>
</parameters>
}
{
}
Bom Dia Cesar.
Segue a referencia da documentação com a explicação e passo a passo de como criar: https://docs.intersystems.com/iris20211/csp/docbook/Doc.View.cls?KEY=GSOAP_header
Olá Cesar!
Eu sugiro você criar o subelemento do cabeçalho com o valor desejado. Vai ficar mais padronizado também.
Segue a referencia da documentação com a explicação e passo a passo de como criar: https://docs.intersystems.com/iris20211/csp/docbook/Doc.View.cls?KEY=GSOAP_header
Obrigado pelas respostas.
Eu não posso incluir subelementos no cabeçalho do XML, obrigatoriamente preciso receber ele da forma descrito.
Acabei contornando o problema sobrescrevendo o método de construção do cabeçalho dentro da classe que corresponde ao cabeçalho.