0
votes

Using mirth my grand plan is to do the following:

  1. Create a Channel and a Source that receives LLP
  2. Passes it to a destination which then maps the HL7v2 values to to variables and those values are used in the web service Soap XML request.
  3. The web service does whatever it needs too and returns true or false depending on if everything worked.
  4. Depending on the returned value we send the appropriate ACK NAK value back to the sending application.

I have created a web service hooked it up to Mirth and everything works great on the first request. When I send a second/third/4th request the dashboard shows that the message is received then sits there doing nothing until IIS calls a connection timesout and disconnects the web service.

What am I dong wrong here?

Thanks in advance

Anthony

Update Added screen shots of my current settings: Channel Summary: enter image description here

Channel Source: enter image description here

Channel Destination:

enter image description here

2

2 Answers

1
votes

I have implemented channels that send to web services, and I have implemented channels that generated customized acknowledgements. However, I have NOT implemented a channel that sends to a web service and then builds a customized acknowledgement.

  1. Are you generating your ack/nack in the post-processor, or did you do something "tricky" using the "Send Response to" option? Preferably, you will be generating the ack in the post processor. View my answer here to see how.
  2. On the Summary Tab, is Synchronize channel checked? If not, generally, it should be in this scenario. Otherwise, there's no guarantee that the post-processor will wait for the Destination to complete before it executes.
  3. On the Destination Tab, is "Use Persistent Queues" turned on? I would suggest in your case, turning it off. Since the upstream system shouldn't be sending you additional messages until you've acked or timed out, there's no real need to check it.
0
votes

You have it set to "two way" which waits on a response. Check your receiving web service that it is actually sending a properly formatted response. Test with the one way setting first to see.