Sto tentando di aggiungere un'intestazione di sapone personalizzata in C# prima di chiamare un servizio web. Sto usando la classe SOAP Header per ottenere questo risultato. Potrei farlo parzialmente ma non completamente nel modo in cui ne ho bisogno. Ecco come ho bisogno l'intestazione di sapone a guardare comeAggiunta SOAPHeader personalizzata in C# per una chiamata al servizio Web
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
<Security xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<UsernameToken>
<Username>USERID</Username>
<Password>PASSWORD</Password>
</UsernameToken>
</Security>
</soap:Header>
<soap:Body>
...
Sono in grado di aggiungere un'intestazione sapone come di seguito
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
<UsernameToken xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<Username>UserID</Username>
<Password>Test</Password>
</UsernameToken>
</soap:Header>
<soap:Body>
Quello che non sono in grado di fare è aggiungere gli elementi "di sicurezza" che avvolge il "UsernameToken" come nel primo esempio. Qualsiasi aiuto sarebbe apprezzato.
Ogni possibilità di fornire il codice di esempio? Grazie in anticipo. (Sto guardando link/steps, e sto cercando di conciliare la sua domanda con il codice di esempio di/Dudgeon, ma non direttamente corrispondente/facendo clic con me su come tradurre per i requisiti dell'intestazione di sicurezza). – Terry
Vedi sopra ho aggiunto qualche codice di esempio. Spero che questo aiuti –
- questo non è un servizio WCF, probabilmente è ovvio ad alcuni –