I am developing an orchestration that includes sending a request to an application which will respond with one of two different XML message types. I know I can define two matching inbound maps on my receive port, but what do I do in the orchestration to handle two types of message coming in on the same port?
The orchestration will perform transformations on either of the received message types and then send the transformed messages to the original requester.
I just can't see in the world of orchestration how to handle two mesage types coming on the same receive port.
Thanks for anybody's help on this.
-Mark Green
In my situation, one web service may wrap any of dozens of response types in its response, which is inside of a RequestResults node. My project has a "super-schema" in which all possible results are defined. The solution was to account for all of the possible responses in one map (which responses were possible was based on the type of my request), so I define an internal (a.k.a. canonical) schema for the response, and execute the map on the port instead of being invoked using a construct shape within the orchestration.
what about a loop? read the 1 msg and rout it to orchestration1 depend msgtyp, read the 2 msg and rout it to orchestration2 depend msgtyp.
PaPaLeE
I had the same situation.
I created a message of type XmlDocument. Set my receive shape to expect that message. I put a filter on the receive shape to accept messages with the types I wanted.
I then added a decide shape that decides based on the message type to do necessary transformation.
I worked like a charm.