none
Send Port In Bound Map is not working RRS feed

  • Question

  • Hi,

    I have a receive port that receives an xml file and transform the message into another xml schema format.

    In my send port I put a filter BTS.ReceivePortName == InputReceivePort and setup the inbound map

    but the send port receives the original message from the receive port.

    If I don't put the filter no message is being sent. 

    What is the correct filter or settings for the send port to get the mapped message ? Thanks

    Please see below Visual Studio Orchestration and  BT configuration.

    1. ReceiveInput - receiveInputMessage(XML)

    2, ContractMessageRequest - Transforns  receiveInputMessage(XML) into sendRequestMessage(XML) using Map

    2. SendRequest -Send sendRequestMessage(XML) into a WCF-BasicHttp as the input

      ----the issue is in BT Console , the Inbound Map does not work, what is being sent is receiveInputMessage(XML)  not the sendRequestMessage(XML). 

    I think my BT configuration in incorrect since I put BTS.ReceivePortName="InputReceivePort" the inBound Map is not applied. 

    Please advise. Thanks

    




    Tuesday, February 21, 2017 2:39 AM

Answers

  • So, here's the problem, or where it doesn't make sense.

    "In my send port I put a filter BTS.ReceivePortName == InputReceivePort and setup the inbound map"

    You would not normally do this with an Orchestration.  It's usually either one or the other.

    Tuesday, February 21, 2017 5:00 PM
    Moderator
  • So, here's the problem, or where it doesn't make sense.

    "In my send port I put a filter BTS.ReceivePortName == InputReceivePort and setup the inbound map"

    You would not normally do this with an Orchestration.  It's usually either one or the other.

    Topic starter, on top of that - if I'm guessing your design right - don't apply input map in receive port. The purpose of transform shape is actually to apply a map to incoming message(s).

    Tuesday, February 21, 2017 5:40 PM
  • For this you need to create a message in the Orchestration and add you input schema in the message type. After this add the message in the receive shape. In the Orchestration binding add your receive port and start the Orchestration.By doing this Orchestration will subscribe to your input message and it will perform mapping using transform shape.
    Thursday, February 23, 2017 7:57 AM

All replies

  • Hi,

    Are you applying map map at receive port level or send port ? 

    Change your default pipeline at your receive and send location from pass through receive to xml receive  .


    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

    Tuesday, February 21, 2017 4:00 AM
  • Most of the Types get resolved in BizTalk by MessageType context property make sure it will get promoted, otherwise runtime will not be able to Find/load the Map to be applied.

    if you are applying you map on receive port, make sure your pipeline must have XMLDisassembler component OR use default XMLReceive pipeline in your receive location.
    Thanks
    Tuesday, February 21, 2017 5:41 AM
  • Hi ,

    First thing m not clear what you are talking and what scree-shot you provided here. Is there any relation between both?

    my suggestion first check the which receive pipeline you are using in you receive location ? I should be XMLReceive Pipeline.

    Second if this is fine then instead of putting receive port name in filter condition , use the message type of your expected message. By this way you will be able to know whether your MAP is working or not.

    Regards

    Abhay Giri

    Mark this as answered or vote , if this help you.

    Tuesday, February 21, 2017 6:38 AM
  • Hi,

    I'm transforming the message I received from the receive port and I set the inbound map to the send port.

    Thanks.

    Tuesday, February 21, 2017 11:30 AM
  • HOLD ON!  It's not clear what you're trying to do.

    You're asking about a Send Port Map/Filter, but have posted a picture of an Orchestration.

    Can you edit the question to describe the steps the message should follow and let us know which one isn't working?

    Tuesday, February 21, 2017 1:21 PM
    Moderator
  • It seems like you configured your scenarios incorrectly, your filter looks correct. You can use content based routing on the basis of receive port name (make sure you are not using pass through pipeline)

    Please verify at send port location, you have map configured at Outbound Maps

    I hope this will help ,

    Thnaks,

    Chandra Kumar

    Tuesday, February 21, 2017 2:00 PM
  • Do you really need an Orchestration here? Seems overkill.

    Could you not only use Inbound / Outbound Maps in the Receive and Send Ports?


    Did my post help? Please use "Vote As Helpful", "Mark as answer" or "Propose as answer". Thank you!

    Tuesday, February 21, 2017 2:08 PM
  • Hi,

    I added more details in my original post. Please let me know if you need more details.

    Thanks.

    Tuesday, February 21, 2017 2:27 PM
  • Can you please check your Send port schema name space and map name space. 

    Map by default validates name space, then only it will apply once filter conditions satisfies. 


    Ram

    Tuesday, February 21, 2017 2:37 PM
  • So, here's the problem, or where it doesn't make sense.

    "In my send port I put a filter BTS.ReceivePortName == InputReceivePort and setup the inbound map"

    You would not normally do this with an Orchestration.  It's usually either one or the other.

    Tuesday, February 21, 2017 5:00 PM
    Moderator
  • So, here's the problem, or where it doesn't make sense.

    "In my send port I put a filter BTS.ReceivePortName == InputReceivePort and setup the inbound map"

    You would not normally do this with an Orchestration.  It's usually either one or the other.

    Topic starter, on top of that - if I'm guessing your design right - don't apply input map in receive port. The purpose of transform shape is actually to apply a map to incoming message(s).

    Tuesday, February 21, 2017 5:40 PM
  • Hi,

    Thank you for your reply.

    If I don' t put the filter I get the following error.

     C:\BizTalkProjects\ReceiveInput\*.xml 
       InputReceiveLocation 
       The published message could not be routed because no subscribers were found. This error occurs if the subscribing orchestration or send port has not been enlisted, or if some of the message properties necessary for subscription evaluation have not been promoted. Please use the Biztalk Administration console to troubleshoot this failure 

    Is there specific settings that I should do in the orchestration?

     
    Tuesday, February 21, 2017 5:49 PM
  • For this you need to create a message in the Orchestration and add you input schema in the message type. After this add the message in the receive shape. In the Orchestration binding add your receive port and start the Orchestration.By doing this Orchestration will subscribe to your input message and it will perform mapping using transform shape.
    Thursday, February 23, 2017 7:57 AM