2016-05-20 23 views
1

Ich bin mit einem Scatter-Gather-Muster eine Webservice zu nennen:fehlgeschlagen Antwort vom Web-Service für die Kinder orch

  1. ich einen Umschlag Nachricht erhalte.

  2. Ich debathing eine Nachricht Umschlag durch Ausführen einer XML-Pipeline in Orchestrierung.

  3. Aufrufen einer untergeordneten Orchestrierung für jede debattierte Nachricht mit Start-Orchestrierung und selbstkorrelierendem Port.

  4. Aufrufen eines Webdienstes für jede ausgebettete Nachricht in meiner untergeordneten Orchestrierung und Zurückgeben der Antwort an den Aufrufer.

  5. aggregieren Sie die Antwortnachricht und schickte sie an den Benutzer zurück.

Meine Frage ist es eine Möglichkeit, so dass, wenn mein Kind Orchestrierung auch nur für einen der debatched Nachricht fehlgeschlagen ich die Fehlerreaktion erhalten und es an den Benutzer senden, ohne weiteren Prozess fortgesetzt wird.

+0

wird diese Fehlerreaktion bereits von Ihrem Kind generiert orch? – Zee

+0

No.Fehlerantwort wird nicht in Child orch generiert. Der Fehler wird von den Webdiensten in Child orch zurückgegeben. – user1104946

+2

Gibt es einen Grund, warum Sie eine Start-Orchestrierung anstelle einer Call-Orchestrierung wählen? Der Aufruf der Orchestrierung dauert länger. Sie können jedoch warten, bis die Antwort/der Fehler/Fehler bei Bedarf beendet wird, ohne weitere Anforderungen zu senden. –

Antwort

0

Ja, aber die Verwendung der Start Orchestration Shape macht es schwierig.

Ein relativ einfacher Weg wäre, den richtigen MessageType immer noch an die Scatter Orchestration zurückzugeben, aber mit einer Context-Eigenschaft, die einen Fehler anzeigt.

Sie müssten diese Eigenschaft dann für jede zurückgegebene Nachricht überprüfen. Nachdem Sie alle gesammelten Nachrichten überprüft haben, entscheiden Sie, was zu tun ist.