Wie benutze ich WS-Addressing in WCF und setzen Sie den wsa:replyto-header?
Nenne ich eine BizTalk-Dienst über WCF. Der service erfordert die wsa:replyto-Adresse, die in der SOAP-headers um in der Lage, ein 'callback', wenn der Prozess abgeschlossen ist.
Sind wir mit einem contract-first-Ansatz weiter mit automatisch generierten code aus dem svcutil (wir können nicht " nur " den Vertrag ändern)...
Und es ist nicht möglich in der config-Datei...
Habe ich jemanden gesehen, 'überschreiben' einige Methoden, um Ihre eigenen, benutzerdefinierten Kopf - aber dies ist nicht eine benutzerdefinierte Kopf-es ist ein standard, der in der SOAP-Protokoll.
Wie kann ich die wsa:replyto in den SOAP-header?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Um einen Dienst aufrufen, erfordert Der WS-Adressierung von WCF müssen Sie konfigurieren die client-Endpunkt für eine Bindung, die es unterstützt, wie die WSHttpBinding.
Anschließend können Sie den
wsa:ReplyTo
header zu einer bestimmten URL in Ihrem client-code durch die OperationContext.OutgoingMessageHeaders Eigenschaft:In diesem Beispiel setzen wir die
wsa:ReplyTo
- header an eine bekannte URL eingeben, wo die client-Kanal wartet auf ankommende Rückruf-Nachrichten aus dem service.Alternativ wenn der Dienst es unterstützt, könnten Sie die WSDualHttpBinding, die über eine integrierte Unterstützung für duplex-Kommunikation durch WS-Addressing. In diesem Fall legen Sie die callback-Adresse durch die WSDualHttpBinding.ClientBaseAddress Eigenschaft: