Ich versuche, eine benutzerdefinierte Soap-Header-Informationen in c # vor dem Aufruf eines Web-Service hinzuzufügen. Ich verwende die SOAP-Header-Klasse, um dies zu erreichen. Ich könnte das teilweise, aber nicht ganz so machen, wie ich es brauche. Hier ist, wie ich brauche die Soap-Header aussehen wie
%Vor%Ich kann Soap-Header wie folgt hinzufügen
%Vor%Was ich nicht tun kann, ist das Hinzufügen der "Security" -Elemente, die das "UsernameToken" wie im ersten Beispiel umbrechen. Jede Hilfe wäre willkommen.
Dieser Link Hinzufügen von Soap-Header funktionierte für mich. Ich rufe einen SOAP 1.1-Dienst an, den ich nicht geschrieben habe und den ich nicht kontrollieren kann. Verwende VS 2012 und fügte den Dienst als Web-Referenz in meinem Projekt hinzu. Hoffe das hilft
Ich habe die Schritte 1-5 von J. Dudgeons Beitrag zum Ende des Threads verfolgt.
Hier ist ein Beispielcode (dies wäre in einer separaten .cs-Datei):
%Vor% Und dann fügen Sie in der generierten Proxy-Klasse für die Methode, die den Service aufruft, nach J Dudgeons Schritt 4 dieses Attribut hinzu: [SoapHeader("credHeader", Direction = SoapHeaderDirection.In)]
Schließlich ist hier der Aufruf der generierten Proxy-Methode mit dem Header:
%Vor%Tags und Links c# soapheader