Announcement

Collapse
No announcement yet.

Sample SOAP Listener + Response Channel

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Sample SOAP Listener + Response Channel

    Hey everyone,

    My company, OCHIN, recently needed to develop a channel which could interface with an external web service originating from the Allscripts product which was sending us CCDs. We don't have a real web service listener on our end, so we wanted to make Mirth pretend to be one well enough that the sending product would be happy with what it received back.

    It needed to accept and decode the SOAP payload but, most importantly, it needed to return a response that the sender was happy with. This took a lot of trial and error, but we ended up with a channel template that is able to use an HTTP listener to accept the SOAP message and respond accordingly.

    We wanted to share this work with the Mirth community to hopefully save people some time if they come across a similar problem.

    One disclaimer: This was developed for Mirth 2.2.3.6825. It should upgrade fairly easily, but there may be one or two things which need to be hand tooled. I would have upgraded it before posting, but unfortunately haven't had time to do adequate testing.

    I'll also upload it to my GitHub in case there are any issues with the attachment.

    Please share any feedback or ask questions!
    Attached Files
    Last edited by ohollarens; 11-05-2015, 03:16 PM.

  • #2
    Hi Thanks for the example . Did you try to create a custom web service for the CCD instead yet. I know most EMR's will require an XDS.b profile on the webserivce

    Comment


    • #3
      Hey Prolasis,

      We didn't put a lot of time into trying to create an actual web service because I was having trouble finding documentation for how to do it on Mirth 2 and, since we didn't have any need for a full fledged service apart from this, we decided that a one-off HTTP listener would be faster.

      Comment


      • #4
        thanks so much. This solved my issue in getting empty responses.

        With this example line in your channel I was finally able to parse my soap response correctly:

        msg.*::['Body'].*::['ProvideAndRegisterDocumentSetRequest'].*::['Document'].toString();

        Comment

        Working...
        X