Come faccio a scrivere un file WSDL per accettare intestazioni SOAP arbitrarie?
Domanda
Ho un client che desidera inviare un gran numero di campi di intestazione SOAP al mio servizio web. L'unica cosa che mi aspetto di fare con questi valori è rispecchiarli.
Qual è il modo corretto di gestirlo? Vorrebbero che li definissi ciascuno nel WSDL, ma sono abbastanza specifici e non avranno alcun significato per nessun altro cliente.
Ho del codice che intercetta semplicemente la richiesta e copia le intestazioni sulla risposta, ma non so come gestirlo nel WSDL. È legittimo lasciarli fuori ancora? O un modo generico per dire " inviami qualsiasi cosa e te lo rispedirò " ;?
Soluzione
Almeno in WSDL 1.1 , non è necessario elencare tutte le intestazioni nel file WSDL:
Non è necessario elencare esaurientemente tutte le intestazioni che compaiono nella busta SOAP usando soap: header. Ad esempio, le estensioni (vedere la sezione 2.1.3) a WSDL possono implicare che intestazioni specifiche debbano essere aggiunte al carico utile effettivo e non è necessario elencarle qui.
Non riesco a trovare la sezione corrispondente nelle specifiche WSDL 2.0, ma non credo che questo sarebbe cambiato.