2015-07-24 5 views
5

Ich habe eine Orchestrierung, die eine Anfrage von lokalen Rest Service erhalten dann Anfrage an einen anderen Remote Rest Service dann senden, wenn der Remote-Service eine Antwort erfolgreich mit 200 HTTP-Code zurückgegeben BizTalk kann Antwortnachricht verarbeiten können , aber wenn der HTTP-Antwortcode anders ist, konnte 200 BizTalk die Fehlerantwortnachricht nicht verarbeiten.BizTalk Catch Http Antwort Code

BizTalk-Protokoll gibt unter Fehler auf Ereignisanzeige.

Details:"System.Net.WebException: The remote server returned an unexpected response: (400) Bad Request. 
{"errorMessage":{"message":"En az 1 adres alani gereklidir.","moreInfoURL":"http://paritus.com/kb/api-errors","status":400}}". 

enter image description here

Nach dieser Ausgabe füge ich einen Fehler Betrieb auf Sendeport aber BizTalk konnte immer noch nicht eine Ausfallmeldung fangen. Hast du eine Idee?

+0

Was ist im Catch Exception Part? Fangen Sie eine System.Exception? Oder fangen Sie die Fault_1. Was ist in Fault_1 definiert? – Sven

+0

Eigentlich versuche ich, die Nachricht fault_1 abzufangen, die vom Sende-Port kommt, aber ich kann die http-Fehlerreaktion nicht abfangen. Wenn Sie eine andere Idee haben, die Fehlermeldung zu fangen, kann ich Ihre Lösung versuchen – ibrahimsen

+0

versucht dieses, den WCF-WebHttp Adapter zu benutzen? Ja, die Fehlermeldung wird nicht in den Fehler am Port eingehen, da der Nachrichtentyp nicht auf die SOAP-Ausnahme gesetzt wird, die erstellt wird. Ein Fehler meiner Meinung nach, ich habe darüber in meinem Blog gebloggt. Sie müssen es als System.Exception abfangen – Dijkgraaf

Antwort

0

Ja gibt es ein Problem mit dem WCF-WebHttp-Adapter, in dem es die Nachrichtentyp Kontexteigenschaft nicht festgelegt, wenn es einen Fehler gibt und so geht es dann nicht die Fehlertyp am Port definiert.
Der einzige Weg, um es zu fangen, ist in einem System.Exception-Block.

Sehen Sie mein Blog-Post BizTalk 2013 R2 known bugs, issues & quirks, BUG: BIZTALK WCF-WEBHTTP ADAPTER DOES ON ERROR NOT SET MESSAGE TYPE

aktualisieren: Die unten nicht mehr nach CU 5 für BizTalk 2013 R2 versuchen wird

Auch Bitte beachten Sie, dass wenn das Endsystem einen 500 Statuscode ausgibt, es NICHT als Fehler ausgegeben wird und Sie den Statuscode selbst überprüfen müssen.

Siehe BizTalk WCF-WebHttp adapter does not detect 500 error