Announcement

Collapse

Mirth Connect 3.12.0 Released!

Mirth Connect 3.12.0 is now available as an appliance update and on our GitHub page. This release includes database performance improvements, improves visual HL7 representation, message pruning, keystore handling, PDF generation, community contributions, and fixes several security vulnerabilities. This release also contains many improvements to commercial extensions. See the release notes for the list of fixes and updates.

Download | See What's New | Upgrade Guide | Release Notes

For discussion on this release, see this thread.
See more
See less

Sending HL7 V2.x Xml message through SOAP Sender

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

  • Sending HL7 V2.x Xml message through SOAP Sender

    I am listening at LLP for HL7 message (Incoming Data: HL7v2.x) . Message is as follows:

    MSH|^~&||.|||199208180014||ADT^A04|ADT.1.1699793|P |2.1
    PID|1||111115464||Julia^Roberts^K^^^||198207121806 06|F|

    Inbound message template at Source is as above.
    I am using destination of type SOAP sender. The web method exposed accepts string as a parameter.
    Inbound message Template at destination is same as shown in the above HL7 message.

    The Outbound Message Template is as follows:

    <?xml version="1.0" encoding="UTF-8"?><HL7Message><MSH><MSH.1>|</MSH.1><MSH.2>^~&</MSH.2><MSH.3></MSH.3><MSH.4><MSH.4.1>.</MSH.4.1></MSH.4><MSH.5></MSH.5><MSH.6></MSH.6><MSH.7><MSH.7.1>199408180016</MSH.7.1></MSH.7><MSH.8></MSH.8><MSH.9><MSH.9.1>ADT</MSH.9.1><MSH.9.2>A04</MSH.9.2></MSH.9><MSH.10><MSH.10.1>ADT.1.1695693</MSH.10.1></MSH.10><MSH.11><MSH.11.1>P</MSH.11.1></MSH.11><MSH.12><MSH.12.1>2.1</MSH.12.1></MSH.12></MSH><PID><PID.1><PID.1.1>1</PID.1.1></PID.1><PID.2></PID.2><PID.3><PID.3.1>111111111</PID.3.1></PID.3><PID.4></PID.4><PID.5><PID.5.1>Sonia</PID.5.1><PID.5.2>KS</PID.5.2><PID.5.3>M</PID.5.3><PID.5.4></PID.5.4><PID.5.5></PID.5.5><PID.5.6></PID.5.6></PID.5><PID.6></PID.6><PID.7><PID.7.1>19880517180606</PID.7.1></PID.7><PID.8><PID.8.1>F</PID.8.1></PID.8><PID.9></PID.9></PID></HL7Message>

    At destination i have created a javascript which puts the variable named 'outXml' at Destination mapping.

    var param = message.toString();
    param = new XML(message.toString());
    var strOutput = new String(param);
    channelMap.put('outXml',strOutput);


    The SOAP envelope looks like:

    <?xml version="1.0" encoding="utf-16"?>
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <soap:Body>
    <GetXmlFromMirth xmlns="http://tempuri.org/">
    <strXML>${outXml}</strXML>
    </GetXmlFromMirth>
    </soap:Body>
    </soap:Envelope>

    When I send the HL7 message through LLP port, I get the response from server as follows:

    FAILURE: Error invoking WebService
    AxisFault
    (400)Bad Request

    Complete error looks like:

    ERROR-410: SOAP Connector error
    ERROR MESSAGE: Error invoking WebService
    AxisFault
    faultCode: {http://xml.apache.org/axis/}HTTP
    faultSubcode:
    faultString: (400)Bad Request
    faultActor:
    faultNode:
    faultDetail:
    {}:return code: 400

    {http://xml.apache.org/axis/}HttpErrorCode:400

    (400)Bad Request
    at org.apache.axis.transport.http.HTTPSender.readFrom Socket(HTTPSender.java:744)
    at org.apache.axis.transport.http.HTTPSender.invoke(H TTPSender.java:144)
    at org.apache.axis.strategies.InvocationStrategy.visi t(InvocationStrategy.java:32)
    at org.apache.axis.SimpleChain.doVisiting(SimpleChain .java:118)
    at org.apache.axis.SimpleChain.invoke(SimpleChain.jav a:83)
    at org.apache.axis.client.AxisClient.invoke(AxisClien t.java:165)
    at org.apache.axis.client.Call.invokeEngine(Call.java :2784)
    at org.apache.axis.client.Call.invoke(Call.java:2767)
    at org.apache.axis.client.Call.invoke(Call.java:1870)
    at com.webreach.mirth.connectors.soap.axis.AxisMessag eDispatcher.invokeWebService(AxisMessageDispatcher .java:266)
    at com.webreach.mirth.connectors.soap.axis.AxisMessag eDispatcher.doSend(AxisMessageDispatcher.java:300)
    at org.mule.providers.AbstractMessageDispatcher.send( AbstractMessageDispatcher.java:166)
    at org.mule.impl.MuleSession.sendEvent(MuleSession.ja va:191)
    at org.mule.impl.MuleSession.sendEvent(MuleSession.ja va:130)
    at org.mule.routing.outbound.AbstractOutboundRouter.s end(AbstractOutboundRouter.java:85)
    at org.mule.routing.outbound.FilteringMulticastingRou ter.route(FilteringMulticastingRouter.java:89)
    at org.mule.routing.outbound.OutboundMessageRouter$1. doInTransaction(OutboundMessageRouter.java:78)
    at org.mule.transaction.TransactionTemplate.execute(T ransactionTemplate.java:48)
    at org.mule.routing.outbound.OutboundMessageRouter.ro ute(OutboundMessageRouter.java:82)
    at org.mule.impl.model.DefaultMuleProxy.onCall(Defaul tMuleProxy.java:247)
    at org.mule.impl.model.seda.SedaComponent.doSend(Seda Component.java:209)
    at org.mule.impl.model.AbstractComponent.sendEvent(Ab stractComponent.java:277)
    at org.mule.impl.MuleSession.sendEvent(MuleSession.ja va:201)
    at org.mule.routing.inbound.InboundMessageRouter.send (InboundMessageRouter.java:161)
    at org.mule.routing.inbound.InboundMessageRouter.rout e(InboundMessageRouter.java:128)
    at org.mule.providers.AbstractMessageReceiver$Default InternalMessageListener.onMessage(AbstractMessageR eceiver.java:493)
    at org.mule.providers.AbstractMessageReceiver.routeMe ssage(AbstractMessageReceiver.java:272)
    at org.mule.providers.AbstractMessageReceiver.routeMe ssage(AbstractMessageReceiver.java:231)
    at com.webreach.mirth.connectors.vm.VMMessageReceiver .getMessages(VMMessageReceiver.java:157)
    at org.mule.providers.TransactedPollingMessageReceive r.poll(TransactedPollingMessageReceiver.java:108)
    at org.mule.providers.PollingMessageReceiver.run(Poll ingMessageReceiver.java:118)
    at org.mule.impl.work.WorkerContext.run(WorkerContext .java:290)
    at edu.emory.mathcs.backport.java.util.concurrent.Thr eadPoolExecutor$Worker.runTask(ThreadPoolExecutor. java:650)
    at edu.emory.mathcs.backport.java.util.concurrent.Thr eadPoolExecutor$Worker.run(ThreadPoolExecutor.java :675)
    at java.lang.Thread.run(Unknown Source)


    I know that there is something wrong with outXml parameter as it contains the value as
    <HL7Message><MSH><MSH.1>|</MSH.1><MSH.2>^~&</MSH.2><MSH.3/><MSH.4><MSH.4.1>.</MSH.4.1></MSH.4><MSH.5/><MSH.6/><MSH.7><MSH.7.1>199908180016</MSH.7.1></MSH.7><MSH.8/><MSH.9><MSH.9.1>ADT</MSH.9.1><MSH.9.2>A04</MSH.9.2></MSH.9><MSH.10><MSH.10.1>ADT.1.1698593</MSH.10.1></MSH.10><MSH.11><MSH.11.1>P</MSH.11.1></MSH.11><MSH.12><MSH.12.1>2.1</MSH.12.1></MSH.12></MSH><PID><PID.1><PID.1.1>1</PID.1.1></PID.1><PID.2/><PID.3><PID.3.1>777</PID.3.1></PID.3><PID.4/><PID.5><PID.5.1>Salma</PID.5.1><PID.5.2>Hayek</PID.5.2><PID.5.3>J</PID.5.3><PID.5.4/><PID.5.5/><PID.5.6/></PID.5><PID.6/><PID.7><PID.7.1>19880517180606</PID.7.1></PID.7><PID.8><PID.8.1>F</PID.8.1></PID.8><PID.9/></PID></HL7Message>

    There should be some string value of the above.
    Can anyone help me?

    Thanks

    Post edited by: varun, at: 09/11/2008 02:33

  • #2
    Re:Sending HL7 V2.x Xml message through SOAP Sender

    I found the solution for the above mentioned problem. You can refer to the link given below for the solution.


    http://www.mirthproject.org/index.ph...7&catid=5#7197

    Comment


    • #3
      Please can anyone tell me how to get to the solution mentioned in the above post? I can see that most of my questions are answered on some posts but can never get to the actual solution post!!!

      Comment

      Working...
      X