none
Multiple messagetype RRS feed

  • Question

  • Hi,

    My existing orchestration (ORCH_1) with a Listen shape can activate three types of messages (root element a, b, c). I need to support two versions of these three message types (envelope 1.0 and 2.0). Unfortunatly I do not use canonical schema's, so I am bound to the schema's (which I cannot alter). I thought I update the main orchestration (ORCH_1) to only use the 2.0 envelop (receive port set to the 2.0 schema), add a new orchestration (ORCH_2), which listens on the same receive location, but for envelop 1.0. This later orchestration transforms the 1.0 to 2.0 and re-sends it to the "receivelocation" (WCF).

    This works (yeah) but now I have two questions

    1) are the concerns/problems regarding this pattern? I understand using canonical schema's would be prefferable. Next release maybe.

    2) This is my main problem, I need to know in the ORCH_1 orchestration which version of the envelop originaly was used. I thought perhaps I can use message context to read the senderaddress or something, but cannot seem to find the right c# syntax. Or maybe there is another way to distinct betwee messages receive directly from partner and which have been altered by the ORCH_2.

    Thnx for your help!

    Sander

    Thursday, September 3, 2015 10:38 AM

Answers

  • I can think of two ways

    1. In your ORCH_2 when sending promote a property. In ORCH_1 check for this property and then only messages received in V1.0 will have this property set.
    2. If you're using a "call orchestration" from ORCH_2 then in ORCH_1 is you check for BTS.InboundTransportLocation which should ONLY be SET for V2.0

    Regards.

    • Marked as answer by Angie Xu Tuesday, September 15, 2015 7:18 AM
    Friday, September 4, 2015 10:49 AM