TCL msgcreate in tps of thread A to place a message on inbound queue of thread B

Clovertech Forums Cloverleaf TCL msgcreate in tps of thread A to place a message on inbound queue of thread B

Tagged: 

  • Creator
    Topic
  • #119990
    William Grow
    Participant

      Scenario is:

      Reply message to thread A from the destination system  contains data that I would like to use to create a new message for thread B. I would like to place the message on the inbound queue of thread B. Ideally no additional routing logic or threads would be needed.

      I have been able to use the technique described in the post by Charlie to create a message in the outbound queue of thread B

      Routing query response from state vaccination registry to diffferent OB thread

       

      My question is if there is a technique that would allow this to be placed on the inbound queue for Thread B.

      • This topic was modified 2 years, 2 months ago by William Grow.
    Viewing 7 reply threads
    • Author
      Replies
      • #119994
        Charlie Bursell
        Participant

          Did you try to OVER it at thread B?

        • #119995
          William Grow
          Participant

            No, I did not. Let me try that with different values. Thank you.

          • #119996
            William Grow
            Participant

              I tried using OVER. It seemed to result in an infinite loop and that seems to line up with the protocol thread disposition state action for OVER. The configuration is described below.

              Thread A

              • TCP/IP MLLP client protocol thread sending to Foreign System (FS)
              • Ack from foreign system contains additional data
              • Would like to place a new msg on IB queue of thread B

              Thread B

              • TCP/IP MLLP server protocol thread that routes data to Hospital Ancillary System (HAS)
              • Not listening or connected in any way in the engine to Thread A

               

              A   — — — TCP/IP  — — — — ->  FS

              A  <– — —  ACK  — — — — — –  FS

              B ——— Update ————> HAS

               

              Goal:

              Place msg created via msgcreate on IB queue of thread A. Understand that this is not standard but trying to work inside a design constraint.

              set new_mh [msgcreate -meta [subst {SKIPXLT 0 USERECOVERDB 1 SOURCECONN B ORIGSOURCECONN B USERECOVERDB 1}] “THIS IS DATA”]

              lappend dispList “OVER $new_mh”

              Attachments:
              You must be logged in to view attached files.
            • #120003
              Charlie Bursell
              Participant

                Where are you trying to send it once it gets to IB queue?

                I have not had time to experiment with this but I will later.

              • #120005
                William Grow
                Participant

                  After it gets to the inbound queue of thread B it would be routed through an existing route/translate from that thread to an outbound protocol thread that sends to a downstream ancillary system.

                • #120007
                  Charlie Bursell
                  Participant

                    William:

                    I have not had time to create this via the Tcl procs yet but are you aware in the later versions you can route replies to any thread.  If routing to another thread it should be an OB thread.  You can do translation if needed.

                    I did like:

                    A –reg route—- >B ==== Reply Route ==>C

                    Where C is an OB thread.

                    No procs needed.

                    What version do you have?

                  • #120029
                    Robert Kersemakers
                    Participant

                      Maybe you can route the reply that you get on A via ‘Route Replies’ to B. Then on B set on tab Properties the ‘Messages routed to this connection treated as inbound’.
                      Haven’t tried this myself, so nose sure if a REPLY message will be treated as inbound DATA this way. Maybe REPLY should be changed to DATA via a tcl.

                      Zuyderland Medisch Centrum; Heerlen/Sittard; The Netherlands

                    • #120031
                      David Barr
                      Participant

                        You can route from thread A to thread B and in the outbound TPS of thread B you can return the message with an OVER disposition to put it in the inbound queue. You may also want to reset the SOURCECONN metadata field (msgmetaset $mh SOURCECONN $HciConnName).

                    Viewing 7 reply threads
                    • You must be logged in to reply to this topic.