Hinzufügen von benutzerdefinierten SOAP-header in der PowerShell mit New-WebServiceProxy

In C# kann ich Folgendes tun:

var header = MessageHeader.CreateHeader("MyHeader", "http://mynamespace", "Header value");
OperationContext.Current.OutgoingMessageHeaders.Add(header);

Fügt hinzu, dass die folgende SOAP-Nachricht:

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
    <s:Header>
        <MyHeader xmlns="http://mynamespace">Header value</MyHeader>
        ....
    </s:Header>
...

Wie kann ich in ähnlicher Weise fügen Sie eine benutzerdefinierte ausgehende SOAP-message-header beim Aufruf von Methoden auf einen proxy generiert, indem die New-WebServiceProxy PowerShell-commandlet?

Bearbeiten:
Zu klären, kann ich die gleichen Anrufe in PowerShell, die ich in der C# - oben, aber OperationContext.Current ist immer null. Ich bekomme etwa, dass in C# durch die Schaffung einer OperationContextScope, aber erfordert, dass der innere Kanal der web-service-proxy, die PowerShell-proxy scheint nicht zur Verfügung zu stellen.

  • Zu klären, kann ich die gleichen Anrufe in PowerShell, die ich in der C# - oben, aber OperationContext.Current ist immer null. Ich bekomme etwa, dass in C# durch die Schaffung einer OperationContextScope, aber erfordert, dass der innere Kanal der web-service-proxy, die PowerShell-proxy scheint es nicht zu geben.
  • bitte aktualisieren Sie Ihre Frage mit dieser Klarstellung.
  • FYI ich landete mit dem setzen von cookies mithilfe der proxy-CookieContainer übergeben werden, die Informationen, die ich brauchte. Von Jason ' s Antwort sieht es aus wie mein ursprüngliches Ziel kann sein, möglich, aber etwas umständlich. Wenn ich hatte, es zu tun, immer wieder, ich würde wahrscheinlich gehen mit einem WCF-proxy generiert, mit svcutil.
InformationsquelleAutor dcstraw | 2011-01-21
Schreibe einen Kommentar