locked
custom flat file pipeline and outbound map execution RRS feed

  • Question

  • Hi Team,

    Orchestration publishes canonical schema direct to Messagebox and promotes bunch of porperties. Based on promoted properties, I need to transform canonical schema to trading partner specific schema and send to trading partner. I want to use canonical to trading partner map on the send port as outbound schema and use custom flat file pipeline per trading partner on partner specific send port. But, pipeline gets executed 1st before outbound map and failing on the pipeline component.

    How can I achieve to apply partner specific transformation outside of orchestration and doing dynamic mapping on send port?

    Thanks,


    MMK-007

    Wednesday, September 10, 2014 3:31 PM

Answers

  • Hi,

    It seems that you have an error in the mapping phase. Possibly a missmatch of the namespace/root element. As others have said, the order is <Orchestration>-<Messagebox>-<port:map-pipeline-adapter>-<recipientsystem>.

    http://msdn.microsoft.com/en-us/library/aa561650.aspx

    Otherwise your approach seems to be appropriate when you are using separate send ports for the recipients, and handling the mapping in the port.

    • Marked as answer by Pengzhen Song Tuesday, September 16, 2014 11:25 AM
    Thursday, September 11, 2014 10:56 AM

All replies

  • To clarity, on a Send Port, any Outbound Map is executed before the Pipeline.
    Wednesday, September 10, 2014 3:44 PM
    Moderator
  • Hi,

    The case you are mentioning here happens on the receive side where Pipeline is executed first and then map is executed but on the send side map is executed first and then Pipeline gets executed.

    Well the answer to your problem could be using dynamic send port and make a transform in Orchestration only. You can use the property BTS.SendPortTransformHint to set the Outbound Map of a Dynamic send port.

    If this answers your question please mark it accordingly. If this post is helpful, please vote as helpful by clicking the upward arrow mark next to my reply.

    Regards,

    Rahul Madaan

    biztalkvillage.blogspot.com

    • Proposed as answer by Rahul_Madaan Thursday, September 11, 2014 4:30 AM
    Thursday, September 11, 2014 3:30 AM
  • Hi,

    It seems that you have an error in the mapping phase. Possibly a missmatch of the namespace/root element. As others have said, the order is <Orchestration>-<Messagebox>-<port:map-pipeline-adapter>-<recipientsystem>.

    http://msdn.microsoft.com/en-us/library/aa561650.aspx

    Otherwise your approach seems to be appropriate when you are using separate send ports for the recipients, and handling the mapping in the port.

    • Marked as answer by Pengzhen Song Tuesday, September 16, 2014 11:25 AM
    Thursday, September 11, 2014 10:56 AM
  • I agree with Jari about the possible reason of the failure. Mismatch on the namespace/root element will cause the map not to be executed at all and original message woud be passed to send pipeline. 

    You might also want to consider using Role Links to route messages to Trading Partners.

    Thursday, September 11, 2014 11:31 AM