How to edit soap envelope for java-ws client

Clovertech Forums Cloverleaf How to edit soap envelope for java-ws client

  • Creator
    Topic
  • #118143
    Bill Pitts
    Participant

      Hi

      I’m configuring a java-ws client in Cloverleaf 19.1.1 to transmit immunization query records (QBP) to our State Immunization Registry (Massachusetts MDPH MIIS).

      The registry will return an RSP response if immunization history found for specific patient.

      I have the java-ws client setup referencing the WSDL that MDPH sent me. The thread connects to the MIIS endpoint but won’t transmit the payload.

      MIIS feedback indicates I need to modify the soap-envelope for the uid/pw parameters and for framing the payload (as such — <hl7Message><![CDATA[HL7Payload]]> )

      Having trouble finding where I can directly edit the soap envelope

      Any advice appreciated!

      Thanks

      Bill

    Viewing 6 reply threads
    • Author
      Replies
      • #118145
        Levy Lazarre
        Participant

          Hi Bill,

          The best place to do this: Outbound tab of your java-ws-client thread. Go to the  TPS Outbound Data: section. There you will create a short Tcl proc to make the changes to the soap envelope and soap body.

          I hope this helps.

        • #118155
          Bill Pitts
          Participant

            Hi

            For the java-ws client thread – I put a tclproc on the pre-write outbound tab.

            Embeds the transaction in a soap envelope but looks like the org.apache.cxf is still overriding/creating a soap envelope

            Extract from logfile:

            [pd  :pdtd:INFO/3:       soap_1:–/–/—- –:–:–]     message           : ‘<soap:Envelope xmlns:soap=”http://www.w3.org/2003/05/soap-envelope&#8221; xmlns:urn=”urn:cdc:iisb:2011″><soap:Header/><soap:Body><urn:submitSingleMessage><urn:username>username</urn:username><urn:password>password</urn:password><urn:facilityID>Tufts</urn:facilityID><urn:hl7Message>&lt;data&gt;MSH|^~\&|Cerner RX|11206|MIIS|99990|20201014121452-04||QBP^Q11^QBP_Q11|Z44_17FTL9L8|P|2.5.1|||ER|AL|||||Z44^CDCPHINVS\x0dQPD|Z44^Request Evaluated History and Forecast^CDCPHINVS|Z44_17FTL9L8|mrn^^^NIST-MPI-1^MR|patientLastName^PatientFirstName^^^^^L||dob|F|Address^^City^ST^Zip^^L|^PRN^PH^^1^555^5555555|N||\x0d&lt;/data&gt;</urn:hl7Message></urn:submitSingleMessage></soap:Body></soap:Envelope>’
            [msg :Msg :INFO/0:       soap_1:10/30/2020 17:15:52] [0.0.59] Updating the recovery database
            [dbi :rlog:INFO/1:       soap_1:10/30/2020 17:15:52] [0.0.59] Update msg in recovery db to state OB post-SMS
            [dbi :log :DBUG/2:       soap_1:10/30/2020 17:15:52] log context: type 1, dbn 1, msgRec 10001, mdRec 10002, bodyRec 10003
            [dbi :log :DBUG/2:       soap_1:10/30/2020 17:15:52]              state 11, mode 1
            [dbi :dbi :DBUG/1:       soap_1:10/30/2020 17:15:52] (0) ‘cl_lock: Trying to lock database ‘
            [dbi :dbi :DBUG/1:       soap_1:10/30/2020 17:15:52] (0) ‘type=w, rec=10001
            [dbi :dbi :DBUG/1:       soap_1:–/–/—- –:–:–] ‘
            [dbi :dbi :DBUG/1:       soap_1:10/30/2020 17:15:52] (1) ‘type=w, rec=10002
            [dbi :dbi :DBUG/1:       soap_1:–/–/—- –:–:–] ‘
            [dbi :dbi :DBUG/1:       soap_1:10/30/2020 17:15:52] (2) ‘type=w, rec=10003
            [dbi :dbi :DBUG/1:       soap_1:–/–/—- –:–:–] ‘
            [dbi :dbi :DBUG/1:       soap_1:10/30/2020 17:15:52] (0) ‘cl_lock: Succeeded in locking database ‘
            [dbi :log :DBUG/2:       soap_1:10/30/2020 17:15:52] update var MD, upd 1, dirty 0
            [dbi :log :DBUG/1:       soap_1:10/30/2020 17:15:52] msgWriteTraverse: len 176, off 0, rem 1000, alloc 0
            [dbi :log :DBUG/2:       soap_1:10/30/2020 17:15:52]     while: len 176, doff 0, off 0, rem 1000, upd 1
            [dbi :log :DBUG/1:       soap_1:10/30/2020 17:15:52] msgWriteTraverse: len 521, off 176, rem 824, alloc 0
            [dbi :log :DBUG/2:       soap_1:10/30/2020 17:15:52]     while: len 521, doff 0, off 176, rem 824, upd 1
            [dbi :log :DBUG/2:       soap_1:10/30/2020 17:15:52]        recwrite
            [dbi :log :DBUG/1:       soap_1:10/30/2020 17:15:52] msgWriteTraverse: len 0, off 697, rem 303, alloc 0
            [pd  :thrd:INFO/1:       soap_1:10/30/2020 17:15:52] OB-Data queue has 1 msgs
            [diag:leak:DBUG/0:       soap_1:10/30/2020 17:15:52] diag timeval alloc 0x344ad178
            [diag:leak:DBUG/0:       soap_1:10/30/2020 17:15:52] diag timeval free  0x344ad178
            [pd  :thrd:INFO/1:       soap_1:10/30/2020 17:15:52] OB-Data queue has SOME work
            [pd  :thrd:INFO/0:       soap_1:10/30/2020 17:15:52] Processing OB-Data message queue
            [msg :Msg :DBUG/0:       soap_1:10/30/2020 17:15:52] msg_Alloc new message 0xefff7028
            [msg :Msg :DBUG/0:       soap_1:10/30/2020 17:15:52] msgCopy from 0xefff6a28 [0.0.59]  to 0xefff7028 midNULL
            [pd  :thrd:DBUG/3:       soap_1:10/30/2020 17:15:52] [0.0.59] OB message in encoding conversion
            [pd  :thrd:DBUG/3:       soap_1:–/–/—- –:–:–] msg: 0xefff7028
            [pd  :thrd:DBUG/3:       soap_1:–/–/—- –:–:–]     msgType           : DATA
            [pd  :thrd:DBUG/3:       soap_1:–/–/—- –:–:–]     msgClass          : PROTOCOL
            [pd  :thrd:DBUG/3:       soap_1:–/–/—- –:–:–]     msgState          : OB in prewrite (17)
            [pd  :thrd:DBUG/3:       soap_1:–/–/—- –:–:–]     msgPriority       : 5120
            [pd  :thrd:DBUG/3:       soap_1:–/–/—- –:–:–]     msgRecoveryDbState: Log:off (1)
            [pd  :thrd:DBUG/3:       soap_1:–/–/—- –:–:–]     msgFlags          : 0x8202
            [pd  :thrd:DBUG/3:       soap_1:–/–/—- –:–:–]     msgMid            : [0.0.59]
            [pd  :thrd:DBUG/3:       soap_1:–/–/—- –:–:–]     msgSrcMid         : midNULL
            [pd  :thrd:DBUG/3:       soap_1:–/–/—- –:–:–]     msgSrcMidGroup    : midNULL
            [pd  :thrd:DBUG/3:       soap_1:–/–/—- –:–:–]     msgHostId         : 1103360127
            [pd  :thrd:DBUG/3:       soap_1:–/–/—- –:–:–]     msgOrigSrcThread  : soap_1
            [pd  :thrd:DBUG/3:       soap_1:–/–/—- –:–:–]     msgOrigDestThread :
            [pd  :thrd:DBUG/3:       soap_1:–/–/—- –:–:–]     msgSrcThread      : soap_1
            [pd  :thrd:DBUG/3:       soap_1:–/–/—- –:–:–]     msgDestThread     :
            [pd  :thrd:DBUG/3:       soap_1:–/–/—- –:–:–]     msgXlateThread    :
            [pd  :thrd:DBUG/3:       soap_1:–/–/—- –:–:–]     msgSkipXlate      : 0
            [pd  :thrd:DBUG/3:       soap_1:–/–/—- –:–:–]     msgSepChars       :
            [pd  :thrd:DBUG/3:       soap_1:–/–/—- –:–:–]     msgNumRetries     : 0
            [pd  :thrd:DBUG/3:       soap_1:–/–/—- –:–:–]     msgGroupId        : 0
            [pd  :thrd:DBUG/3:       soap_1:–/–/—- –:–:–]     msgDriverControl  :
            [pd  :thrd:DBUG/3:       soap_1:–/–/—- –:–:–]     msgRecordFormat   :
            [pd  :thrd:DBUG/3:       soap_1:–/–/—- –:–:–]     msgRoutes         :
            [pd  :thrd:DBUG/3:       soap_1:–/–/—- –:–:–]     msgUserData       :
            [pd  :thrd:DBUG/3:       soap_1:–/–/—- –:–:–]     msgStaticIsDirty  : 1
            [pd  :thrd:DBUG/3:       soap_1:–/–/—- –:–:–]     msgVariableIsDirty: 1
            [pd  :thrd:DBUG/3:       soap_1:–/–/—- –:–:–]     msgRetryTimes     :
            [pd  :thrd:DBUG/3:       soap_1:–/–/—- –:–:–]     msgTimeStartIb    : 1604092552.226
            [pd  :thrd:DBUG/3:       soap_1:–/–/—- –:–:–]     msgTimeStartOb    : 1604092552.226
            [pd  :thrd:DBUG/3:       soap_1:–/–/—- –:–:–]     msgTimeCurQueStart: 0.000
            [pd  :thrd:DBUG/3:       soap_1:–/–/—- –:–:–]     msgTimeTotalQue   : 0.003
            [pd  :thrd:DBUG/3:       soap_1:–/–/—- –:–:–]     msgTimeRecovery   : 1604092552.231
            [pd  :thrd:DBUG/3:       soap_1:–/–/—- –:–:–]     msgEoConfig       : 0x0
            [pd  :thrd:DBUG/3:       soap_1:–/–/—- –:–:–]     msgData (BO)      : 0xefff7130
            [pd  :thrd:DBUG/3:       soap_1:–/–/—- –:–:–]     message           : ‘<soap:Envelope xmlns:soap=”http://www.w3.org/2003/05/soap-envelope&#8221; xmlns:urn=”urn:cdc:iisb:2011″><soap:Header/><soap:Body><urn:submitSingleMessage><urn:username>username</urn:username><urn:password>password</urn:password><urn:facilityID>Tufts</urn:facilityID><urn:hl7Message>&lt;data&gt;MSH|^~\&|Cerner RX|11206|MIIS|99990|20201014121452-04||QBP^Q11^QBP_Q11|Z44_17FTL9L8|P|2.5.1|||ER|AL|||||Z44^CDCPHINVS\x0dQPD|Z44^Request Evaluated History and Forecast^CDCPHINVS|Z44_17FTL9L8|mrn^^^NIST-MPI-1^MR|patientlast^patientfirst^^^^^L||dob|F|address^^city^st^zip^^L|^PRN^PH^^1^555^5555555|N||\x0d&lt;/data&gt;</urn:hl7Message></urn:submitSingleMessage></soap:Body></soap:Envelope>’
            [pd  :thrd:DBUG/3:       soap_1:10/30/2020 17:15:52] [0.0.59] Nothing happened during the pre-write process, using the original message
            [pd  :thrd:DBUG/3:       soap_1:–/–/—- –:–:–] msg: 0xefff6a28
            [pd  :thrd:DBUG/3:       soap_1:–/–/—- –:–:–]     msgType           : DATA
            [pd  :thrd:DBUG/3:       soap_1:–/–/—- –:–:–]     msgClass          : PROTOCOL
            [pd  :thrd:DBUG/3:       soap_1:–/–/—- –:–:–]     msgState          : OB post-SMS (11)
            [pd  :thrd:DBUG/3:       soap_1:–/–/—- –:–:–]     msgPriority       : 5120
            [pd  :thrd:DBUG/3:       soap_1:–/–/—- –:–:–]     msgRecoveryDbState: Log:update (3)
            [pd  :thrd:DBUG/3:       soap_1:–/–/—- –:–:–]     msgFlags          : 0x8202
            [pd  :thrd:DBUG/3:       soap_1:–/–/—- –:–:–]     msgMid            : [0.0.59]
            [pd  :thrd:DBUG/3:       soap_1:–/–/—- –:–:–]     msgSrcMid         : midNULL
            [pd  :thrd:DBUG/3:       soap_1:–/–/—- –:–:–]     msgSrcMidGroup    : midNULL
            [pd  :thrd:DBUG/3:       soap_1:–/–/—- –:–:–]     msgHostId         : 1103360127
            [pd  :thrd:DBUG/3:       soap_1:–/–/—- –:–:–]     msgOrigSrcThread  : soap_1
            [pd  :thrd:DBUG/3:       soap_1:–/–/—- –:–:–]     msgOrigDestThread :
            [pd  :thrd:DBUG/3:       soap_1:–/–/—- –:–:–]     msgSrcThread      : soap_1
            [pd  :thrd:DBUG/3:       soap_1:–/–/—- –:–:–]     msgDestThread     :
            [pd  :thrd:DBUG/3:       soap_1:–/–/—- –:–:–]     msgXlateThread    :
            [pd  :thrd:DBUG/3:       soap_1:–/–/—- –:–:–]     msgSkipXlate      : 0
            [pd  :thrd:DBUG/3:       soap_1:–/–/—- –:–:–]     msgSepChars       :
            [pd  :thrd:DBUG/3:       soap_1:–/–/—- –:–:–]     msgNumRetries     : 0
            [pd  :thrd:DBUG/3:       soap_1:–/–/—- –:–:–]     msgGroupId        : 0
            [pd  :thrd:DBUG/3:       soap_1:–/–/—- –:–:–]     msgDriverControl  :
            [pd  :thrd:DBUG/3:       soap_1:–/–/—- –:–:–]     msgRecordFormat   :
            [pd  :thrd:DBUG/3:       soap_1:–/–/—- –:–:–]     msgRoutes         :
            [pd  :thrd:DBUG/3:       soap_1:–/–/—- –:–:–]     msgUserData       :
            [pd  :thrd:DBUG/3:       soap_1:–/–/—- –:–:–]     msgStaticIsDirty  : 0
            [pd  :thrd:DBUG/3:       soap_1:–/–/—- –:–:–]     msgVariableIsDirty: 0
            [pd  :thrd:DBUG/3:       soap_1:–/–/—- –:–:–]     msgRetryTimes     :
            [pd  :thrd:DBUG/3:       soap_1:–/–/—- –:–:–]     msgTimeStartIb    : 1604092552.226
            [pd  :thrd:DBUG/3:       soap_1:–/–/—- –:–:–]     msgTimeStartOb    : 1604092552.226
            [pd  :thrd:DBUG/3:       soap_1:–/–/—- –:–:–]     msgTimeCurQueStart: 0.000
            [pd  :thrd:DBUG/3:       soap_1:–/–/—- –:–:–]     msgTimeTotalQue   : 0.003
            [pd  :thrd:DBUG/3:       soap_1:–/–/—- –:–:–]     msgTimeRecovery   : 1604092552.225
            [pd  :thrd:DBUG/3:       soap_1:–/–/—- –:–:–]     msgEoConfig       : 0x0
            [pd  :thrd:DBUG/3:       soap_1:–/–/—- –:–:–]     msgData (BO)      : 0xefff6b30
            [pd  :thrd:DBUG/3:       soap_1:–/–/—- –:–:–]     message           : ‘<soap:Envelope xmlns:soap=”http://www.w3.org/2003/05/soap-envelope&#8221; xmlns:urn=”urn:cdc:iisb:2011″><soap:Header/><soap:Body><urn:submitSingleMessage><urn:username>username</urn:username><urn:password>password</urn:password><urn:facilityID>Tufts</urn:facilityID><urn:hl7Message>&lt;data&gt;MSH|^~\&|Cerner RX|11206|MIIS|99990|20201014121452-04||QBP^Q11^QBP_Q11|Z44_17FTL9L8|P|2.5.1|||ER|AL|||||Z44^CDCPHINVS\x0dQPD|Z44^Request Evaluated History and Forecast^CDCPHINVS|Z44_17FTL9L8|mrn^^^NIST-MPI-1^MR|patientlast^patientfirst^^^^^L||phone|F|address^^city^st^zip^^L|^PRN^PH^^1^555^5555555|N||\x0d&lt;/data&gt;</urn:hl7Message></urn:submitSingleMessage></soap:Body></soap:Envelope>’
            [msg :Msg :DBUG/0:       soap_1:10/30/2020 17:15:52] msgFree 0xefff7028  refCnt 1
            [pd  :pdtd:INFO/0:       soap_1:10/30/2020 17:15:52] [0.0.59] Writing message to Protocol Driver java
            [pd  :pdtd:INFO/1:       soap_1:10/30/2020 17:15:52] [0.0.59] Writing message PARTIALLY complete
            [pd  :pdtd:INFO/1:       soap_1:10/30/2020 17:15:52] [0.0.59] Setup callback function for writing partial message
            [pti :sche:INFO/1:       soap_1:10/30/2020 17:15:52] Thread has 0 ready events left.
            [pti :sche:INFO/2:       soap_1:10/30/2020 17:15:52] Performing apply callback for thread 2
            [msi :msi :DBUG/1:       soap_1:10/30/2020 17:15:52] msiExportStats: export for thread: soap_1
            [cmd :cmd :INFO/0: billtest_cmd:10/30/2020 17:15:52] Receiving a command
            [cmd :cmd :INFO/0: billtest_cmd:10/30/2020 17:15:52] Command client went away.  Closing connection.
            [pti :sche:INFO/2:       soap_1:10/30/2020 17:15:52] Performing apply callback for thread 2
            [msi :msi :DBUG/1:       soap_1:10/30/2020 17:15:52] msiExportStats: export for thread: soap_1
            [java:java:WARN/1:     soap_1_0:10/30/2020 17:15:55] org.apache.cxf.configuration.jsse.SSLUtils loadDefaultKeyManagers:WARNING: Default key managers cannot be initialized: Keystore type is not PKCS12
            [java:java:WARN/1:     soap_1_0:–/–/—- –:–:–] Catch Execption:
            [java:java:WARN/1:     soap_1_0:–/–/—- –:–:–] java.io.IOException: Keystore type is not PKCS12
            [java:java:WARN/1:     soap_1_0:–/–/—- –:–:–]  at com.ibm.crypto.provider.PKCS12KeyStoreOracle.engineLoad(Unknown Source)
            [java:java:WARN/1:     soap_1_0:–/–/—- –:–:–]  at java.security.KeyStore.load(KeyStore.java:1456)
            [java:java:WARN/1:     soap_1_0:–/–/—- –:–:–]  at org.apache.cxf.configuration.jsse.SSLUtils.loadDefaultKeyManagers(SSLUtils.java:122)
            [java:java:WARN/1:     soap_1_0:–/–/—- –:–:–]  at org.apache.cxf.configuration.jsse.SSLUtils.getDefaultKeyStoreManagers(SSLUtils.java:88)
            [java:java:WARN/1:     soap_1_0:–/–/—- –:–:–]  at org.apache.cxf.transport.https.SSLUtils.getSSLContext(SSLUtils.java:75)
            [java:java:WARN/1:     soap_1_0:–/–/—- –:–:–]  at org.apache.cxf.transport.https.HttpsURLConnectionFactory.decorateWithTLS(HttpsURLConnectionFactory.java:147)
            [java:java:WARN/1:     soap_1_0:–/–/—- –:–:–]  at org.apache.cxf.transport.https.HttpsURLConnectionFactory.createConnection(HttpsURLConnectionFactory.java:101)
            [java:java:WARN/1:     soap_1_0:–/–/—- –:–:–]  at org.apache.cxf.transport.http.URLConnectionHTTPConduit.createConnection(URLConnectionHTTPConduit.java:121)
            [java:java:WARN/1:     soap_1_0:–/–/—- –:–:–]  at org.apache.cxf.transport.http.URLConnectionHTTPConduit.setupConnection(URLConnectionHTTPConduit.java:125)
            [java:java:WARN/1:     soap_1_0:–/–/—- –:–:–]  at org.apache.cxf.transport.http.asyncclient.AsyncHTTPConduit.setupConnection(AsyncHTTPConduit.java:189)
            [java:java:WARN/1:     soap_1_0:–/–/—- –:–:–]  at org.apache.cxf.transport.http.HTTPConduit.prepare(HTTPConduit.java:505)
            [java:java:WARN/1:     soap_1_0:–/–/—- –:–:–]  at org.apache.cxf.interceptor.MessageSenderInterceptor.handleMessage(MessageSenderInterceptor.java:47)
            [java:java:WARN/1:     soap_1_0:–/–/—- –:–:–]  at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308)
            [java:java:WARN/1:     soap_1_0:–/–/—- –:–:–]  at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:531)
            [java:java:WARN/1:     soap_1_0:–/–/—- –:–:–]  at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:440)
            [java:java:WARN/1:     soap_1_0:–/–/—- –:–:–]  at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:355)
            [java:java:WARN/1:     soap_1_0:–/–/—- –:–:–]  at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:313)
            [java:java:WARN/1:     soap_1_0:–/–/—- –:–:–]  at org.apache.cxf.endpoint.ClientImpl.invokeWrapped(ClientImpl.java:348)
            [java:java:WARN/1:     soap_1_0:–/–/—- –:–:–]  at org.apache.cxf.jaxws.DispatchImpl.invoke(DispatchImpl.java:322)
            [java:java:WARN/1:     soap_1_0:–/–/—- –:–:–]  at org.apache.cxf.jaxws.DispatchImpl.invoke(DispatchImpl.java:241)
            [java:java:WARN/1:     soap_1_0:–/–/—- –:–:–]  at com.infor.cloverleaf.gjdws.WSClient.processMessageFromCloverleaf(WSClient.java:357)
            [java:java:WARN/1:     soap_1_0:–/–/—- –:–:–]  at com.lawson.cloverleaf.driver.FromCloverleafLink.doMsg(FromCloverleafLink.java:46)
            [java:java:WARN/1:     soap_1_0:–/–/—- –:–:–] Caused by: java.io.IOException: DerInputStream.getLength(): lengthTag=109, too big.
            [java:java:WARN/1:     soap_1_0:–/–/—- –:–:–]  at com.ibm.security.util.DerInputStream.getLength(DerInputStream.java:768)
            [java:java:WARN/1:     soap_1_0:–/–/—- –:–:–]  at com.ibm.security.util.DerValue.init(DerValue.java:391)
            [java:java:WARN/1:     soap_1_0:–/–/—- –:–:–]  at com.ibm.security.util.DerValue.<init>(DerValue.java:330)
            [java:java:WARN/1:     soap_1_0:–/–/—- –:–:–]  at com.ibm.security.util.DerValue.<init>(DerValue.java:343)
            [java:java:WARN/1:     soap_1_0:–/–/—- –:–:–]  … 22 more
            [java:java:INFO/1:     soap_1_0:10/30/2020 17:15:57] org.apache.cxf.services.MIISCDCService.MIISCDCServiceHttpSoap12Endpoint.MIISCDCServicePortType:INFO: Outbound Message
            [java:java:INFO/1:     soap_1_0:–/–/—- –:–:–] —————————
            [java:java:INFO/1:     soap_1_0:–/–/—- –:–:–] ID: 1
            [java:java:INFO/1:     soap_1_0:–/–/—- –:–:–] Address: https://miis-cg-cert.hhs.state.ma.us:443/CDCService
            [java:java:INFO/1:     soap_1_0:–/–/—- –:–:–] Encoding: UTF-8
            [java:java:INFO/1:     soap_1_0:–/–/—- –:–:–] Http-Method: POST
            [java:java:INFO/1:     soap_1_0:–/–/—- –:–:–] Content-Type: application/soap+xml
            [java:java:INFO/1:     soap_1_0:–/–/—- –:–:–] Headers: {Accept=[*/*], Connection=[Keep-Alive]}
            [java:java:INFO/1:     soap_1_0:–/–/—- –:–:–] Payload: <env:Envelope xmlns:env=”http://www.w3.org/2003/05/soap-envelope”><env:Header><Action xmlns=”http://www.w3.org/2005/08/addressing”>http://cxf.apache.org/jaxws/dispatch/MIISCDCServicePortType/InvokeRequest</Action><MessageID xmlns=”http://www.w3.org/2005/08/addressing”>urn:uuid:6c46f3c9-c770-4e94-8729-8fe5679932a5</MessageID><To xmlns=”http://www.w3.org/2005/08/addressing”>https://miis-cg-cert.hhs.state.ma.us:443/CDCService</To><ReplyTo xmlns=”http://www.w3.org/2005/08/addressing”><Address>http://www.w3.org/2005/08/addressing/anonymous</Address></ReplyTo><wsse:Security xmlns:wsse=”http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd&#8221; env:mustUnderstand=”true”><wsse:UsernameToken xmlns:wsu=”http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd&#8221; wsu:Id=”UsernameToken-7217f720-fede-4e17-9a11-5dda84428bce”><wsse:Username>username</wsse:Username><wsse:Password Type=”http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText”>username</wsse:Password></wsse:UsernameToken></wsse:Security></env:Header><env:Body/></env:Envelope&gt;
            [java:java:INFO/1:     soap_1_0:–/–/—- –:–:–] ————————————–
            [java:java:WARN/1:     soap_1_0:10/30/2020 17:15:57] org.apache.cxf.phase.PhaseInterceptorChain doDefaultLogging:WARNING: Interceptor for {urn:cdc:iisb:2011}MIISCDCService#{http://cxf.apache.org/jaxws/dispatch}Invoke has thrown exception, unwinding now
            [java:java:WARN/1:     soap_1_0:–/–/—- –:–:–] Catch Execption:
            [java:java:WARN/1:     soap_1_0:–/–/—- –:–:–] org.apache.cxf.interceptor.Fault: Could not send Message.
            [java:java:WARN/1:     soap_1_0:–/–/—- –:–:–]  at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:67)
            [java:java:WARN/1:     soap_1_0:–/–/—- –:–:–]  at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308)
            [java:java:WARN/1:     soap_1_0:–/–/—- –:–:–]  at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:531)
            [java:java:WARN/1:     soap_1_0:–/–/—- –:–:–]  at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:440)
            [java:java:WARN/1:     soap_1_0:–/–/—- –:–:–]  at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:355)
            [java:java:WARN/1:     soap_1_0:–/–/—- –:–:–]  at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:313)
            [java:java:WARN/1:     soap_1_0:–/–/—- –:–:–]  at org.apache.cxf.endpoint.ClientImpl.invokeWrapped(ClientImpl.java:348)
            [java:java:WARN/1:     soap_1_0:–/–/—- –:–:–]  at org.apache.cxf.jaxws.DispatchImpl.invoke(DispatchImpl.java:322)
            [java:java:WARN/1:     soap_1_0:–/–/—- –:–:–]  at org.apache.cxf.jaxws.DispatchImpl.invoke(DispatchImpl.java:241)
            [java:java:WARN/1:     soap_1_0:–/–/—- –:–:–]  at com.infor.cloverleaf.gjdws.WSClient.processMessageFromCloverleaf(WSClient.java:357)
            [java:java:WARN/1:     soap_1_0:–/–/—- –:–:–]  at com.lawson.cloverleaf.driver.FromCloverleafLink.doMsg(FromCloverleafLink.java:46)
            [java:java:WARN/1:     soap_1_0:–/–/—- –:–:–] Caused by: org.apache.cxf.transport.http.HTTPException: HTTP response ‘400: Bad request’ when communicating with https://miis-cg-cert.hhs.state.ma.us:443/CDCService
            [java:java:WARN/1:     soap_1_0:–/–/—- –:–:–]  at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.doProcessResponseCode(HTTPConduit.java:1620)
            [java:java:WARN/1:     soap_1_0:–/–/—- –:–:–]  at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1627)
            [java:java:WARN/1:     soap_1_0:–/–/—- –:–:–]  at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1572)
            [java:java:WARN/1:     soap_1_0:–/–/—- –:–:–]  at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1373)
            [java:java:WARN/1:     soap_1_0:–/–/—- –:–:–]  at org.apache.cxf.io.CacheAndWriteOutputStream.postClose(CacheAndWriteOutputStream.java:56)
            [java:java:WARN/1:     soap_1_0:–/–/—- –:–:–]  at org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:228)
            [java:java:WARN/1:     soap_1_0:–/–/—- –:–:–]  at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)
            [java:java:WARN/1:     soap_1_0:–/–/—- –:–:–]  at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:673)
            [java:java:WARN/1:     soap_1_0:–/–/—- –:–:–]  at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:63)
            [java:java:WARN/1:     soap_1_0:–/–/—- –:–:–]  … 10 more
            [java:java:ERR /1:     soap_1_0:10/30/2020 17:15:57] com.infor.cloverleaf.gjdws.WSClient processMessageFromCloverleaf:SEVERE: Caught exception trying to process message from Cloverleaf
            [java:java:ERR /1:     soap_1_0:–/–/—- –:–:–] Catch Execption:
            [java:java:ERR /1:     soap_1_0:–/–/—- –:–:–] javax.xml.ws.WebServiceException: Could not send Message.
            [java:java:ERR /1:     soap_1_0:–/–/—- –:–:–]  at org.apache.cxf.jaxws.DispatchImpl.mapException(DispatchImpl.java:267)
            [java:java:ERR /1:     soap_1_0:–/–/—- –:–:–]  at org.apache.cxf.jaxws.DispatchImpl.invoke(DispatchImpl.java:330)
            [java:java:ERR /1:     soap_1_0:–/–/—- –:–:–]  at org.apache.cxf.jaxws.DispatchImpl.invoke(DispatchImpl.java:241)
            [java:java:ERR /1:     soap_1_0:–/–/—- –:–:–]  at com.infor.cloverleaf.gjdws.WSClient.processMessageFromCloverleaf(WSClient.java:357)
            [java:java:ERR /1:     soap_1_0:–/–/—- –:–:–]  at com.lawson.cloverleaf.driver.FromCloverleafLink.doMsg(FromCloverleafLink.java:46)
            [java:java:ERR /1:     soap_1_0:–/–/—- –:–:–] Caused by: org.apache.cxf.transport.http.HTTPException: HTTP response ‘400: Bad request’ when communicating with https://miis-cg-cert.hhs.state.ma.us:443/CDCService
            [java:java:ERR /1:     soap_1_0:–/–/—- –:–:–]  at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.doProcessResponseCode(HTTPConduit.java:1620)
            [java:java:ERR /1:     soap_1_0:–/–/—- –:–:–]  at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1627)
            [java:java:ERR /1:     soap_1_0:–/–/—- –:–:–]  at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1572)
            [java:java:ERR /1:     soap_1_0:–/–/—- –:–:–]  at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1373)
            [java:java:ERR /1:     soap_1_0:–/–/—- –:–:–]  at org.apache.cxf.io.CacheAndWriteOutputStream.postClose(CacheAndWriteOutputStream.java:56)
            [java:java:ERR /1:     soap_1_0:–/–/—- –:–:–]  at org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:228)
            [java:java:ERR /1:     soap_1_0:–/–/—- –:–:–]  at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)
            [java:java:ERR /1:     soap_1_0:–/–/—- –:–:–]  at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:673)
            [java:java:ERR /1:     soap_1_0:–/–/—- –:–:–]  at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:63)
            [java:java:ERR /1:     soap_1_0:–/–/—- –:–:–]  at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308)
            [java:java:ERR /1:     soap_1_0:–/–/—- –:–:–]  at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:531)
            [java:java:ERR /1:     soap_1_0:–/–/—- –:–:–]  at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:440)
            [java:java:ERR /1:     soap_1_0:–/–/—- –:–:–]  at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:355)
            [java:java:ERR /1:     soap_1_0:–/–/—- –:–:–]  at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:313)
            [java:java:ERR /1:     soap_1_0:–/–/—- –:–:–]  at org.apache.cxf.endpoint.ClientImpl.invokeWrapped(ClientImpl.java:348)
            [java:java:ERR /1:     soap_1_0:–/–/—- –:–:–]  at org.apache.cxf.jaxws.DispatchImpl.invoke(DispatchImpl.java:322)
            [java:java:ERR /1:     soap_1_0:–/–/—- –:–:–]  … 3 more
            [java:wrte:ERR /0:     soap_1_0:10/30/2020 17:15:57] Call to “doMsg” returned error string “BADDATA caught exception trying to processMessageFromCloverleaf: Caught bad data exception trying to process message from Cloverleaf”. Returning bad send to engine.
            [pti :sche:DBUG/2:       soap_1:10/30/2020 17:15:57] Thread 2 has been enabled
            [pti :sche:INFO/1:       soap_1:10/30/2020 17:15:57] Thread has 1 ready events.
            [pti :even:DBUG/0:       soap_1:10/30/2020 17:15:57] Processing SOCKET (Java protocol thread Eng Event) event 0x35502518
            [pti :even:DBUG/1:       soap_1:10/30/2020 17:15:57] Calling cb 0x300d5054
            [pd  :pdtd:INFO/1:       soap_1:10/30/2020 17:15:57] Executing callback function for writing partial message
            [pd  :pdtd:INFO/1:       soap_1:10/30/2020 17:15:57] [0.0.59] Writing message completed
            [pd  :thrd:INFO/0:       soap_1:10/30/2020 17:15:57] [0.0.59] Saving to error database(BADDATA)
            [dbi :rlog:INFO/0:       soap_1:10/30/2020 17:15:57] [0.0.59] Transitioning msg to error db w/state 419
            [dbi :rlog:INFO/1:       soap_1:10/30/2020 17:15:57] [0.0.59] Update msg in recovery db to state OB post-SMS
            [dbi :log :DBUG/2:       soap_1:10/30/2020 17:15:57] log context: type 1, dbn 1, msgRec 10001, mdRec 10002, bodyRec 10003
            [dbi :log :DBUG/2:       soap_1:10/30/2020 17:15:57]              state 11, mode 1
            [dbi :dbi :DBUG/1:       soap_1:10/30/2020 17:15:57] (0) ‘cl_lock: Trying to lock database ‘
            [dbi :dbi :DBUG/1:       soap_1:10/30/2020 17:15:57] (0) ‘type=w, rec=10001
            [dbi :dbi :DBUG/1:       soap_1:–/–/—- –:–:–] ‘
            [dbi :dbi :DBUG/1:       soap_1:10/30/2020 17:15:57] (1) ‘type=w, rec=10002
            [dbi :dbi :DBUG/1:       soap_1:–/–/—- –:–:–] ‘
            [dbi :dbi :DBUG/1:       soap_1:10/30/2020 17:15:57] (2) ‘type=w, rec=10003
            [dbi :dbi :DBUG/1:       soap_1:–/–/—- –:–:–] ‘
            [dbi :dbi :DBUG/1:       soap_1:10/30/2020 17:15:57] (0) ‘cl_lock: Succeeded in locking database ‘
            [dbi :log :DBUG/2:       soap_1:10/30/2020 17:15:57] update var MD, upd 1, dirty 0
            [dbi :elog:INFO/0:       soap_1:10/30/2020 17:15:57] [0.0.59] Write message to error database, edbState 419 rdbState 11
            [dbi :elog:INFO/1:       soap_1:10/30/2020 17:15:57] Creating prepared statements for insert in /hci/cis19.1/integrator/billtest/exec/databases/elog.elogdb
            [dbi :elog:DBUG/1:       soap_1:10/30/2020 17:15:57] sizeof qry = 1024, len=545, qry:INSERT INTO elog_msgs (MessageContent, DataLen, DestConn, OrigDestConn, DataFmt, SepChars, DriverCtl, UserData, MidDomain, MidHub, MidNum, SrcMidDomain, SrcMidHub, SrcMidNum, Type, SourceConn, OrigSourceConn, Priority, Class, Flags, EdbState, GroupMidDomain, GroupMidHub, GroupMidNum, XltThread, OwnerThread, Retries, MidsAreNull, SkipXlt, GroupID, TimeIn, TimeXlt, TimeOut, TimeQCur, TimeQTot, TimeRec, ErrorString, RdbState) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?,?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?,?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?,?, ?)
            [dbi :elog:DBUG/0:       soap_1:10/30/2020 17:15:57] [0.0.59] Insert message successful
            [dbi :rlog:INFO/0:       soap_1:10/30/2020 17:15:57] [0.0.59] Delete message from recovery database
            [dbi :dbi :DBUG/1:       soap_1:10/30/2020 17:15:57] (0) ‘cl_lock: Trying to lock database ‘
            [dbi :dbi :DBUG/1:       soap_1:10/30/2020 17:15:57] (0) ‘type=w, rec=10001
            [dbi :dbi :DBUG/1:       soap_1:–/–/—- –:–:–] ‘
            [dbi :dbi :DBUG/1:       soap_1:10/30/2020 17:15:57] (1) ‘type=w, rec=10002
            [dbi :dbi :DBUG/1:       soap_1:–/–/—- –:–:–] ‘
            [dbi :dbi :DBUG/1:       soap_1:10/30/2020 17:15:57] (2) ‘type=w, rec=10003
            [dbi :dbi :DBUG/1:       soap_1:–/–/—- –:–:–] ‘
            [dbi :dbi :DBUG/1:       soap_1:10/30/2020 17:15:57] (0) ‘cl_lock: Succeeded in locking database ‘
            [msg :Msg :DBUG/0:       soap_1:10/30/2020 17:15:57] msgFree 0xefff6a28  refCnt 1
            [pti :sche:INFO/1:       soap_1:10/30/2020 17:15:57] Thread has 0 ready events left.
            [pti :sche:DBUG/2:       soap_1:10/30/2020 17:15:57] Thread 2 has been enabled
            [pti :sche:INFO/1:       soap_1:10/30/2020 17:15:57] Thread has 1 ready events.
            [pti :even:DBUG/0:       soap_1:10/30/2020 17:15:57] Processing ACTIVE_TIMER (<no description>) event 0x34e1c618
            [pti :even:DBUG/1:       soap_1:10/30/2020 17:15:57] Calling cb 0x300d5294
            [msi :msi :DBUG/1:       soap_1:10/30/2020 17:15:57] msiExportStats: export for thread: soap_1
            [pti :even:DBUG/0:       soap_1:10/30/2020 17:15:57] tiUnregistering ACTIVE_TIMER (<no description>) event 0x34e1c618 for tid 2
            [pti :even:DBUG/0:       soap_1:10/30/2020 17:15:57] evUnregister ACTIVE_TIMER (<no description>) event 0x34e1c618 for tid 2
            [diag:leak:DBUG/0:       soap_1:10/30/2020 17:15:57] diag timeval alloc 0x34e1c658
            [diag:leak:DBUG/0:       soap_1:10/30/2020 17:15:57] diag dqe alloc 0x37bcd8d8
            [pti :even:DBUG/0:       soap_1:10/30/2020 17:15:57] tiRegistering ACTIVE_TIMER (<no description>) event 0x34e1c618 for tid 2
            [pti :even:DBUG/0:       soap_1:10/30/2020 17:15:57] evRegistering ACTIVE_TIMER (<no description>) event 0x34e1c618 for tid 2
            [diag:leak:DBUG/0:       soap_1:10/30/2020 17:15:57] diag timeval free  0x34e1c658
            [pti :sche:INFO/1:       soap_1:10/30/2020 17:15:57] Thread has 0 ready events left.
            [pti :sche:INFO/2:       soap_1:10/30/2020 17:15:57] Performing apply callback for thread 2
            [msi :msi :DBUG/1:       soap_1:10/30/2020 17:15:57] msiExportStats: export for thread: soap_1

          • #118157
            Bill Pitts
            Participant

              Also tried switching the thread to http-client

              Use same outbound pre-write tclproc to embed hl7 in soap envelope

              Get error finding the destination url when attempting this method

              Extract from Cloverleaf logfile:

              [cmd :cmd :INFO/0: billtest_cmd:10/30/2020 16:49:57] Receiving a command
              [cmd :cmd :INFO/0: billtest_cmd:10/30/2020 16:49:57] Receiving a command
              [cmd :cmd :INFO/0: billtest_cmd:10/30/2020 16:49:57] Received command: ‘MIIS_http resend ob_pre_tps data 5120 /hci/cis19.1/integrator/DATA/QBP_frmRXtest_for_Testing_soap_10222020_1317pm len10 -e ASCII’
              [cmd :cmd :INFO/0:    MIIS_http:10/30/2020 16:49:57] Doing ‘resend’ command with args ‘ob_pre_tps data 5120 /hci/cis19.1/integrator/DATA/QBP_frmRXtest_for_Testing_soap_10222020_1317pm len10 -e ASCII’
              [tcl :out :INFO/0:    MIIS_http:10/30/2020 16:49:57] soapEnv postStringmap <soap:Envelope xmlns:soap=”http://www.w3.org/2003/05/soap-envelope&#8221; xmlns:urn=”urn:cdc:iisb:2011″><soap:Header/><soap:Body><urn:submitSingleMessage><urn:username>username</urn:username><urn:password>password</urn:password><urn:facilityID>Tufts</urn:facilityID><urn:hl7Message>&lt;data&gt;MSH|^~\&|Cerner RX|11206|MIIS|99990|20201014121452-04||QBP^Q11^QBP_Q11|Z44_17FTL9L8|P|2.5.1|||ER|AL|||||Z44^CDCPHINVS
              QPD|Z44^Request Evaluated History and Forecast^CDCPHINVS|Z44_17FTL9L8|mrn^^^NIST-MPI-1^MR|patientlast^patientfirst^^^^^L||dob|F|address^^city^st^zip^^L|^PRN^PH^^1^555^5555555|N||
              &lt;/data&gt;</urn:hl7Message></urn:submitSingleMessage></soap:Body></soap:Envelope>
              [tcl :out :INFO/0:    MIIS_http:10/30/2020 16:49:57] Executing: httppost {URL https://miis-cg-cert.hhs.state.ma.us:443/CDCService} {METHOD POST} {HEADERS {{Content-Type application/soap+xml; charset=UTF-8; action=”urn:cdc:iisb:2011:submitSingleMessage”}}} {OBRESEND 1} {REPLYGEN {
              [tcl :out :INFO/0:    MIIS_http:–/–/—- –:–:–]             { TYPE none }
              [tcl :out :INFO/0:    MIIS_http:–/–/—- –:–:–]         }} {TIMEOUT -1} {WAIT 0} {AUTH { {CREDENTIALS AA5563b1597b6c58d379UkibLKvruTApOK2uNcFzfSLsr2B9Vrd6xVNpx9M3yVdq2uLYTg2ifnVC7ATbOQ1V5IdNzQY+CYcBRdZ0egQe+w1oecUt7N/KpYjIoO1Mt0dvfDcBbNvH9Q4KDgL9flSm+WgThMaJ362oTUVXEyr9sQfLSGQ1GL3S+PN2GdLHb58=}}} {HTTPS { {MODE ClientAnon} {SSL_PROTOCOL All}}} {NO_CURL 0} {DATA {<soap:Envelope xmlns:soap=”http://www.w3.org/2003/05/soap-envelope&#8221; xmlns:urn=”urn:cdc:iisb:2011″><soap:Header/><soap:Body><urn:submitSingleMessage><urn:username>username</urn:username><urn:password>password</urn:password><urn:facilityID>Tufts</urn:facilityID><urn:hl7Message>&lt;data&gt;MSH|^~\&|Cerner RX|11206|MIIS|99990|20201014121452-04||QBP^Q11^QBP_Q11|Z44_17FTL9L8|P|2.5.1|||ER|AL|||||Z44^CDCPHINVS
              QPD|Z44^Request Evaluated History and Forecast^CDCPHINVS|Z44_17FTL9L8|mrn^^^NIST-MPI-1^MR|patientlast^patientfirst^^^^^L||dob|F|address^^city^st^zip^^L|^PRN^PH^^1^555^5555555|N|&lt;/data&gt;</urn:hl7Message></urn:submitSingleMessage></soap:Body></soap:Envelope>}}
              [tcl :out :INFO/0:    MIIS_http:10/30/2020 16:49:57]
              [tcl :out :INFO/0:    MIIS_http:10/30/2020 16:49:57] (httpQuery/Run) Error fetching URL https://miis-cg-cert.hhs.state.ma.us:443/CDCService: HTTP/1.1 500 Internal Server Error
              [tcl :out :INFO/0:    MIIS_http:10/30/2020 16:49:57]
              [cmd :cmd :INFO/0: billtest_cmd:10/30/2020 16:49:57] Receiving a command
              [cmd :cmd :INFO/0: billtest_cmd:10/30/2020 16:49:57] Command client went away.  Closing connection.

            • #118195
              Bill Pitts
              Participant

                Tried switching this thread to java/ws-rawclient
                Added below tclprocs on Outbound tab, TPS Outbound Data element

                I think the current problem is the CDATA section is treating the carriage-return or linefeed characters as text
                If I manually remove them [and hit ENTER key] in the SoapUI utility the message transmits successfully

                Example- current message being sent (no PHI – Test data):
                <soap:Envelope xmlns:soap=”http://www.w3.org/2003/05/soap-envelope&#8221; xmlns:urn=”urn:cdc:iisb:2011″><soap:Header/><soap:Body><urn:submitSingleMessage><urn:username>uid</urn:username><urn:password>pw</urn:password><urn:facilityID>facility</urn:facilityID><urn:hl7Message><![CDATA[MSH|^~\&|Cerner RX|11206|MIIS|99990|20201029125213-04||QBP^Q11^QBP_Q11|Z44_17G6H1LC|P|2.5.1|||ER|AL|||||Z44^CDCPHINVS\x0d\x0aQPD|Z44^Request Evaluated History and Forecast^CDCPHINVS|Z44_17G6H1LC|3036431^^^NIST-MPI-1^MR|TEST^CHICAGO^^^^^L||20051031|M|800 WASHINGTON STREET^^BOSTON^MA^02111^^L|^PRN^PH^^1^617^5551111|N||\x0d\x0aRCP|I|1^RD&Records&HL70126|R^real-time^HL70394||||\x0d\x0a]]></urn:hl7Message></urn:submitSingleMessage></soap:Body></soap:Envelope>

                Below are the tclprocs currently being utilized:

                **************************************************************************************************************
                TCLPROC#1 — minor edits to MSH segment, rebuild HL7 message

                MSH {set splitsegment [split $segment |]
                catch [set splitsegment [lreplace $splitsegment 2 2 $ApplID]]

                # Put the pipe back in the list
                catch [set splitsegment [join $splitsegment |]]
                lappend newMsgList $splitsegment
                }

                default {
                # Send all other segments
                lappend newMsgList $segment
                }

                # Put the carriage return back in
                set newMsg [join $newMsgList \r\n]

                [e.d. note – have tried \n , \r etc – same result, delimiter showing as data in hl7 msg in payload sent]

                msgset $mh $newMsg
                lappend dispList “CONTINUE $mh”
                _________________________________________________________________________________________________________

                TCLPROC#2 — build soap envelope, embeds HL7 msg (passed from TCLPROC#1) into envelope

                #  Set Soap Envelope and embed HL7 message
                set soapEnv1 “<soap:Envelope xmlns:soap=\”http://www.w3.org/2003/05/soap-envelope\” xmlns:urn=\”urn:cdc:iisb:2011\”>”
                set soapEnv2 “<soap:Header/><soap:Body><urn:submitSingleMessage><urn:username>uid</urn:username>”
                set soapEnv3 “<urn:password>pw</urn:password><urn:facilityID>facility</urn:facilityID>”
                set soapEnv4 “<urn:hl7Message><!\[CDATA\[$msg\]\]></urn:hl7Message></urn:submitSingleMessage>”
                set soapEnv5 “</soap:Body></soap:Envelope>”

                set soapEnv [concat $soapEnv1$soapEnv2$soapEnv3$soapEnv4$soapEnv5]

                Have also tried below for CDATA section:
                ##set soapEnv4 “<urn:hl7Message>&lt;data&gt;$msg&lt;/data&gt;</urn:hl7Message></urn:submitSingleMessage>”

              • #118220
                Levy Lazarre
                Participant

                  Not sure if you have this issue  resolved already, but typically if you enclose the data in ![CDATA [ ..]] tags, then carriage return and newline should be XML encoded.

                  CR should be replaced by   

                  NL should be replaced by   

                  You could do this in your TCLPROC#1 for example.

                  I think the segments should be separated by the CR only, no NL.

                  Good luck with testing.

                  • #118221
                    Bill Pitts
                    Participant

                      Hi Levy

                      Can’t makeout the replacement characters:

                      CR should be replaced by

                      NL should be replaced by

                      Not familiar with XML encoding within the tclproc.

                      Any suggestions on how I could accomplish this?

                      Thanks

                      Bill

                    • #118222
                      Bill Pitts
                      Participant

                        Never mind — displaying in the email response, just not in Clovertech

                        I’ve tried multiple variations of those encoding characters; still no luck

                        Internal brainstorming session in 20 min; maybe will have update after that

                        Thanks again

                    • #118223
                      Levy Lazarre
                      Participant

                        Second try (values disappeared???)

                        CR should be replaced by   “ ”   (quotes not included)

                        NL should be replaced by   “ ”    (quotes not included)

                         

                      • #118302
                        Bill Pitts
                        Participant

                          Update:  we’ve got this working

                          We use the java/ws-rawclient to send/recv  query (QBP) and response (RSP) immunization data to the Massachusetts Dept of Public Health MIIS registry.

                          on the thread, in the raw-consumer we had to add some values to the header override

                          Outbound tab of thread:  TPS Outbound Data:  custom tcl to build soap envelope and embed QBP HL7 msg

                          Outbound tab of thread:  TPS Inbound Reply: custom tcl to evaluate the httpResponseCode from USERDATA.  200 success – continue MH, otherwise error mh

                          Route Replies Tab:  tcl to pull HL7 RSP msg from response; route to destination thread that will feed back to source application

                          Process:  Uncheck ‘route replies to original source only’

                          Process:  Java Driver;  add following:

                          $ROOTPATH/lib/java/JavaDriver.jar

                          $ROOTPATH/CAA/ws/lib/GJDWS.jar

                          <hr />

                          We hope to start testing this configuration shortly after the new year.

                          Thanks to everyone who had input and suggestions

                          • #118930
                            Devika Agarwal
                            Participant

                              Bill, We are looking to do the same exact configuration with the state of Connecticut. I am having trouble connecting. Would you mind sharing some screenshots/setup details? We can also get on a call to screen share.

                              Thanks,

                              Devika

                              203-276-2218

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