Header hinzufügen, um die Einfache Web-Service-Anfrage
Ich habe eine Konsolenanwendung, ich einen Webverweis hinzufügen, einfach durch schreiben klicken und "Add Service Reference", dann meine .Config-Datei geändert:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="FServiceSoapBinding" />
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://ServiceAdd/FService" binding="basicHttpBinding"
bindingConfiguration="FServiceSoapBinding" contract="MyReference.MService_"
name="FServicePort" />
</client>
</system.serviceModel>
</configuration>
So, jedes Ding ist in Ordnung und es scheint, dass ich den Dienst nutzen können, erfolgreich, aber der service-Dokumentation sagte, dass ich legen Sie username und Passwort im header der Anfragen, und das ist das Beispiel für die Dokumentation:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:web="http://namespace.com/">
<soapenv:Header>
<Account>
<username>user</username>
<password>password</password>
</Account>
</soapenv:Header>
<soapenv:Body>
<web:oneofservicemethods>
<items>
<item>...</item>
</items>
</web:oneofservicemethods>
</soapenv:Body>
</soapenv:Envelope>
So, Wie kann ich Benutzername und Passwort in den header? jede Anregung?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn ich das richtig verstehe, Sie wollen, legen Sie username und Passwort im header der Anfragen. Sie können Sie erreichen, indem Sie mit
WCF Extensibility – Message Inspectors
mitIClientMessageInspector.BeforeSendRequest
.Erstellen Sie eine Klasse, die
IClientMessageInspector
. In der BeforeSendRequest Methode, fügen Sie Ihre benutzerdefinierten header der ausgehenden Nachricht.Finden Sie diese , diese und diese
Für statische header einfach hinzufügen können .config-Datei endpoint-Teil so ändern Endpunkt: