Hinzufügen von benutzerdefiniertem SOAPHeader in C # für einen Web-Service-Aufruf

8

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.

    
user2810857 24.09.2013, 11:43
quelle

1 Antwort

1

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%     
PBMe_HikeIt 03.10.2013 18:04
quelle

Tags und Links