none
MLLP adapter BizTalk 2010 - Can it act as tcp client on receive side RRS feed

  • Question

  • In our existing environment, the requirment is to setup BizTalk to initiate the TCP connection first to the ADT messages server.

    Then only the ADT server can submit messages to BizTalk to process and acknowledge.

    The default behaviour of BizTalk MLLP I believe is to act as TCP server at receive end and TCP client at send port side.

    Any suggestions on making the receive end of BizTalk MLLP to initiate the connection and accept the messages thus making it as TCP client?

    I believe it is not supported out of the box. Please advise.

    Thanks,

    Gopal.

    Friday, April 19, 2013 7:59 AM

Answers

  • Receive adapter works like a listener and waits for messages to arrive. You may try to initiate the connection by sending something to ADT to wake it up, may be initiating some dummy message from other source and send it using send port. or the right way is to ask ADT team to initiate the connection to your receive location.
    Monday, April 22, 2013 4:22 PM

All replies

  • In our existing environment, the requirment is to setup BizTalk to initiate the TCP connection first to the ADT messages server.

    Then only the ADT server can submit messages to BizTalk to process and acknowledge.

    The default behaviour of BizTalk MLLP I believe is to act as TCP server at receive end and TCP client at send port side.

    Any suggestions on making the receive end of BizTalk MLLP to initiate the connection and accept the messages thus making it as TCP client?

    I believe it is not supported out of the box. Please advise.

    Thanks,

    Gopal.

    Friday, April 19, 2013 7:24 AM
  • This is not straight forward, but of course possible. Eitherway you will have to write the code that implements your TCP requirements. Other than than that it's about how to execute/host that code the best way. I'm not entirely sure that i understand your client/server description, but here comes a few possible solutions:

    1. Windows Service(recommended, best, easiest, and less time consuming)

    Write a windows service in .NET to make the intial request on startup and then listen for messages. 

    http://msdn.microsoft.com/en-us/library/aa984335(v=vs.71).aspx

    http://www.codeproject.com/Articles/14353/Creating-a-Basic-Windows-Service-in-C

    2. Create a custom binding for the WCF-Custom adapter

    http://geekswithblogs.net/michaelstephenson/archive/2009/02/10/129302.aspx

    3. The orchestration(bad)

    Could execute your .NET code as well, but that would give you an orchestration active all the time

    Friday, April 19, 2013 10:01 AM
  • 1. Windows service is an option but then it sits outside BizTalk. Assuming windows service initiated and opened the connection between Biztalk and remote server, can MLLP adapter listens to this tcp connection and receive messages? Is there an limitations like service and BizTalk host should be on same process?

    2. The messages we receive are wrapped in MLLP (HL7 messages) protocal. Can WCF-Custom adapter be configured to receive MLLP messages out of the box?

    3. It can be done on the orchestration but not a good choice as you mentioned.

    Any easy way to extend the MLLP receive adapter to act as TCP client?

    Thanks.

    Friday, April 19, 2013 10:36 AM
  • Receive adapter works like a listener and waits for messages to arrive. You may try to initiate the connection by sending something to ADT to wake it up, may be initiating some dummy message from other source and send it using send port. or the right way is to ask ADT team to initiate the connection to your receive location.
    Monday, April 22, 2013 4:22 PM