Como faço para escrever um arquivo WSDL para aceitar cabeçalhos SOAP arbitrários?
Pergunta
Eu tenho um cliente que quer enviar um grande número de campos de SOAP cabeçalho para meu serviço web. A única coisa que eu estou esperado para fazer com estes valores é refletir-los de volta.
O que é a maneira correta de lidar com isso? Eles gostariam que eu definir cada um deles no WSDL, mas eles são bastante específicas e não terá nenhum significado de quaisquer outros clientes.
Eu tenho algum código que simplesmente intercepta a solicitação e copia os cabeçalhos de volta para a resposta, mas eu não sei como lidar com isso no WSDL. É legítimo que simplesmente deixá-los fora ainda? Ou uma forma genérica para dizer "me dê alguma coisa e eu vou enviá-lo de volta"?
Solução
Pelo menos na WSDL 1.1 , ele não é obrigado a lista todos os cabeçalhos no arquivo WSDL:
Não é necessário enumerar exaustivamente todos os cabeçalhos que aparecem na novela Envelope uso de sabão: cabeçalho. Por exemplo, extensões (ver secção 2.1.3) para WSDL pode implicar cabeçalhos específicos devem ser adicionados à carga real e não é necessário para listar os cabeçalhos aqui.
Não consigo encontrar a seção correspondente na especificação WSDL 2.0, mas eu não acho que isso teria mudado.