Bill Pitts

Forum Replies Created

Viewing 15 replies – 1 through 15 (of 27 total)
  • Author
    Replies
  • in reply to: Pull oauth2 token from ib_reply #120424
    Bill Pitts
    Participant

      Update – reinvestigating this as we got sidetracked.

      Current status:

      Syndromic data passing to state endpoint via outbound java/ws-rawclient thread. Two conduits defined on thread – 1) to state hl7 api svc  & 2) to state api token service

      Two RawConsumers defined on thread:   1) POST_API  & 2) TOKEN_REQ

      Thread outbound tab, pre-write Proc:   tclproc to send GET request to TOKEN_REQ consumer.

      On TPSinboundReply:  separate tclproc to evaluate https reponse, pull token out of response headers, evaluate token expiration

      Here’s where I’m stuck.

      Unable to take token and put in in header for subsequent POST request to POST_API consumer and endpoint

      The message data does not seem available at that point. Just have the response data; response data just sending token, no message data.

      Would like to avoid using two outbound threads if possible.

      Thinking I may need to store token in local file and modify GET tclproc to check the token value first, then building conditional logic to branch to GET or POST request.

      Open to other suggestions.  Feel I’m missing something

       

      in reply to: Pull oauth2 token from ib_reply #119944
      Bill Pitts
      Participant

        Update:

        I’m able to send the GET request to the TOKEN endpoint,   pull the token out of the https reply and evaluate token expiration time but stuck at this point.

        Need to put the token in the header for subsequent POST request.

        Not sure how to: 1) put the token I’ve isolated into the  header ;   2) generate the POST msg once the token has been received from the response to the original GET token request

        Config setup of thread is attached

        As always, thanks for any feedback

        Attachments:
        You must be logged in to view attached files.
        in reply to: Pull oauth2 token from ib_reply #119924
        Bill Pitts
        Participant

          USERDATA was keyed list;    was able to get the token by “drilling” down through the nested list,  per @don-martinsanfordhealth-org suggestion.  I had been trying to access token directly from the USERDATA keyed list

          “So, to get the token in your ib reply, you would first get the USERDATA keyed list, then get the httpResponseHeaders keyed list, then get the token.  You can’t use keylget to directly get token without first working your way into the nested list.”

          … then I decoded the token so that I can check the expiration time (“exp” from below):

          DecodedToken = DECODE {“alg”:”RS256″}{“iss”:”DPV601″,”exp”:1662054993.705,”atomicrole_module”:”443/HHS/API/../../..”,”client_id”:”….”}

          Thanks … more to follow!

          in reply to: REST API with PUT Request to JSON format #119746
          Bill Pitts
          Participant

            Think we got this working!

            Had to set the webClientFactoryKey

            keylset uData webClientFactory $webClientFactoryName
            msgmetaset $mh USERDATA $uData

            Have two Raw_Consumers on outbound java/ws-rawclient protocol config.

            One pointing to update url; other pointing to discharge url

            webClientFactory key passes name of Raw_Consumer , based on logic in tclproc

            Appears to be working; throwing one warning error in log that I’m checking and  tclprocs need lots of cleanup … but very encouraging at this point

            in reply to: REST API with PUT Request to JSON format #119744
            Bill Pitts
            Participant

              Added raw_consumer to java/ws-rawclient thread protocol properties

              1 – for updates, 2 – for discharges

              Sent webClientFactory name in USERDATA

              msgUserData       : {webClientFactory AngelEyeUpdateLGH} {httpRequestInfo {requestURL https://lowellgeneral-test.angeleyecameras.com/api/v1/adt/update}}

              Got below error:

              [java:java:WARN/1:AngelEye_JavaRaw2_0:05/19/2022 08:21:51] com.infor.cloverleaf.gjdws.validation.MessageValidation printWarnings:WARNING: Unknown key in overrides ‘webClientFactory’, it will be ignored.  Valid keys at this level are [dispatch, httpRequestHeaders, httpRequestInfo, trxid]

               

              Switched to sending ‘dispatch’ in USERDATA:

              msgUserData       : {dispatch AngelEyeUpdateLGH} {httpRequestInfo {requestURL https://lowellgeneral-test.angeleyecameras.com/api/v1/adt/update}}

              Then got this error:
              org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type ‘com.infor.cloverleaf.gjdws.utils.WebClientFactory’ available: expected single matching bean but found 2: AngelEyeUpdateLGH,AngelEyeDischargeLGH

              <hr />

              So, guessing I’m either:
              1) sending the keys incorrectly  (Infor support seems to indicate I need to send webClientFactory and not dispatch)

              or

              2)  webClientFactory needs to be defined as an allowable key – possibly in a java config file

              or

              3)  something not quite right with the Raw_Consumer setup

              ************************************************************

              Anyone know how to correctly pass the webClientFactory key?

              Attached file has netconfig of thread and latest logfile errors

              Attachments:
              You must be logged in to view attached files.
              in reply to: REST API with PUT Request to JSON format #119743
              Bill Pitts
              Participant

                Getting feedback from Infor support that USERDATA can’t be passed as “dispatch” for this and must be passed as “webClientFactory” (if I understood them correctly)

                Does anyone know the syntax for passing webClientFactory NAME(s) for a java/ws-rawclient outbound thread?

                I’m not sure if these are passed in the USERDATA as an override or if it’s a combination of setting up multiple Raw_Consumers and then passing the USERDATA

                CAA-WS guide is confusing on this

                in reply to: REST API with PUT Request to JSON format #119738
                Bill Pitts
                Participant

                  Hi Charlie

                  Took the “catch” statements out, got more detail on error in log:

                  [java:java:WARN/1:_JavaRaw_0:05/16/2022 13:49:09] com.infor.cloverleaf.gjdws.validation.MessageValidation printWarnings:WARNING: Message validation has detected 1 warning
                  [java:java:WARN/1:_JavaRaw_0:05/16/2022 13:49:09] com.infor.cloverleaf.gjdws.validation.MessageValidation printWarnings:WARNING: The key ‘httpRequestInfo’ is expected to be a map, but it is not. Cast exception is: java.lang.String incompatible with java.util.Map
                  [java:java:ERR /1:_JavaRaw_0:05/16/2022 13:49:09] com.infor.cloverleaf.gjdws.WSRawClient processMessageFromCloverleaf:SEVERE: Caught exception trying to process message from Cloverleaf
                  [java:java:ERR /1:_JavaRaw_0:–/–/—- –:–:–] Catch Execption:

                  From Log:

                  [pd :thrd:DBUG/3:_JavaRaw:05/16/2022 13:49:09] [0.0.422162] Nothing happened during the pre-write process, using the original message
                  [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msg: 0xefff6d28
                  [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgType : DATA
                  [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgClass : PROTOCOL
                  [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgState : OB post-SMS (11)
                  [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgPriority : 5120
                  [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgRecoveryDbState: Log:update (3)
                  [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgFlags : 0x8206
                  [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgMid : [0.0.422162]
                  [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgSrcMid : [0.0.422160]
                  [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgSrcMidGroup : midNULL
                  [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgHostId : 3747252104
                  [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgOrigSrcThread : 1_x_sandbox_ADT
                  [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgOrigDestThread : _JavaRaw
                  [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgSrcThread : 1_x_sandbox_ADT
                  [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgDestThread : _JavaRaw
                  [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgXlateThread :
                  [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgSkipXlate : 0
                  [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgSepChars :
                  [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgNumRetries : 0
                  [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgGroupId : 0
                  [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgDriverControl : {_TRXID_ _HCI_static_route_}
                  [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgRecordFormat :
                  [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgRoutes :
                  [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgUserData : {httpRequestInfo {requestURL https://general-test.cameras.com/api/v1/adt/update}}
                  [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgStaticIsDirty : 0
                  [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgVariableIsDirty: 0
                  [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgRetryTimes :
                  [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgTimeStartIb : 1652723349.354
                  [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgTimeStartOb : 1652723349.365
                  [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgTimeCurQueStart: 0.000
                  [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgTimeTotalQue : 0.003
                  [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgTimeRecovery : 1652723349.358
                  [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgEoConfig : 0x0
                  [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgData (BO) : 0xefff6e30
                  [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] message : ‘{“first”:”KEVIN”,”middle”:””,”last”:”GRAND CENTRAL”,”mrn”:”202979″,”dob”:”01/23/1974″,”bed_id”:”LED-D31-D31″,”encounter_id”:”2002273077″}’
                  [msg :Msg :DBUG/0:_JavaRaw:05/16/2022 13:49:09] msgFree 0xefff7028 refCnt 1
                  [pd :pdtd:INFO/0:_JavaRaw:05/16/2022 13:49:09] [0.0.422162] Writing message to Protocol Driver java
                  [pd :pdtd:INFO/1:_JavaRaw:05/16/2022 13:49:09] [0.0.422162] Writing message PARTIALLY complete
                  [pd :pdtd:INFO/1:_JavaRaw:05/16/2022 13:49:09] [0.0.422162] Setup callback function for writing partial message
                  [pti :sche:INFO/1:_JavaRaw:05/16/2022 13:49:09] Thread has 0 ready events left.
                  [pti :sche:INFO/2:_JavaRaw:05/16/2022 13:49:09] Performing apply callback for thread 3
                  [msi :msi :DBUG/1:_JavaRaw:05/16/2022 13:49:09] msiExportStats: export for thread: _JavaRaw
                  [java:java:WARN/1:_JavaRaw_0:05/16/2022 13:49:09] com.infor.cloverleaf.gjdws.validation.MessageValidation createWarningsList:WARNING: Message Validation is enabled. This should generally only be used in DEVELOPMENT/TEST systems for performance reasons, although it may be acceptable in production systems with low throughput requirements. NOTE: this warning will only be printed on the first message.
                  [java:java:WARN/1:_JavaRaw_0:05/16/2022 13:49:09] com.infor.cloverleaf.gjdws.validation.MessageValidation printWarnings:WARNING: Message validation has detected 1 warning
                  [java:java:WARN/1:_JavaRaw_0:05/16/2022 13:49:09] com.infor.cloverleaf.gjdws.validation.MessageValidation printWarnings:WARNING: The key ‘httpRequestInfo’ is expected to be a map, but it is not. Cast exception is: java.lang.String incompatible with java.util.Map
                  [java:java:ERR /1:_JavaRaw_0:05/16/2022 13:49:09] com.infor.cloverleaf.gjdws.WSRawClient processMessageFromCloverleaf:SEVERE: Caught exception trying to process message from Cloverleaf
                  [java:java:ERR /1:_JavaRaw_0:–/–/—- –:–:–] Catch Execption:
                  [java:java:ERR /1:_JavaRaw_0:–/–/—- –:–:–] java.lang.ClassCastException: java.lang.String incompatible with java.util.Map
                  [java:java:ERR /1:_JavaRaw_0:–/–/—- –:–:–] at com.infor.cloverleaf.gjdws.WSRawClient.processMessageFromCloverleaf(WSRawClient.java:132)
                  [java:java:ERR /1:_JavaRaw_0:–/–/—- –:–:–] at com.lawson.cloverleaf.driver.FromCloverleafLink.doMsg(FromCloverleafLink.java:46)
                  [java:wrte:ERR /0:_JavaRaw_0:05/16/2022 13:49:09] Call to “doMsg” returned error string “BADDATA caught exception trying to processMessageFromCloverleaf: caught exception trying to process message from Cloverleaf”. Returning bad send to engine.
                  [pti :sche:DBUG/2:_JavaRaw:05/16/2022 13:49:09] Thread 3 has been enabled
                  [pti :sche:INFO/1:_JavaRaw:05/16/2022 13:49:09] Thread has 1 ready events.
                  [pti :even:DBUG/0:_JavaRaw:05/16/2022 13:49:09] Processing SOCKET (Java protocol thread Eng Event) event 0x35deda98
                  [pti :even:DBUG/1:_JavaRaw:05/16/2022 13:49:09] Calling cb 0x300d5054
                  [pd :pdtd:INFO/1:_JavaRaw:05/16/2022 13:49:09] Executing callback function for writing partial message
                  [pd :pdtd:INFO/1:_JavaRaw:05/16/2022 13:49:09] [0.0.422162] Writing message completed
                  [pd :pdtd:INFO/0:_JavaRaw:05/16/2022 13:49:09] NOW AWAITING A REPLY!
                  [pd :pdtd:INFO/3:_JavaRaw:05/16/2022 13:49:09] Thread(1_x_sandbox_ADT) will expect incoming reply
                  [diag:leak:DBUG/0:_JavaRaw:05/16/2022 13:49:09] diag ev alloc 0x343141f8
                  [diag:leak:DBUG/0:_JavaRaw:05/16/2022 13:49:09] diag dqe alloc 0x3489cde8
                  [pti :even:DBUG/0:_JavaRaw:05/16/2022 13:49:09] tiRegistering TIMER (<no description>) event 0x343141f8 for tid 3
                  [pti :even:DBUG/0:_JavaRaw:05/16/2022 13:49:09] evRegistering TIMER (<no description>) event 0x343141f8 for tid 3
                  [dbi :rlog:DBUG/3:_JavaRaw:05/16/2022 13:49:09] [0.0.422163] Looking for mid in recovery db
                  [dbi :dbi :DBUG/1:_JavaRaw:05/16/2022 13:49:09] (0) ‘cl_keyfindlock: About to do d_keylock’
                  [dbi :dbi :DBUG/1:_JavaRaw:05/16/2022 13:49:09] (1000) ‘cl_keyfindlock: About to do d_keyfind, keyval:’
                  [msg :Mid :DBUG/3:_JavaRaw:05/16/2022 13:49:09] Assigned mid [0.0.422163] to msg efff7028
                  [msg :Msg :DBUG/0:_JavaRaw:05/16/2022 13:49:09] msg_Alloc new message 0xefff7028
                  [msg :Msg :DBUG/0:_JavaRaw:05/16/2022 13:49:09] msgCopy from 0xefff6d28 [0.0.422162] to 0xefff7028 [0.0.422163]
                  [pd :thrd:INFO/0:_JavaRaw:05/16/2022 13:49:09] [0.0.422162] Saving to error database(BADDATA)
                  [dbi :rlog:INFO/0:_JavaRaw:05/16/2022 13:49:09] [0.0.422162] Transitioning msg to error db w/state 419
                  [dbi :rlog:INFO/1:_JavaRaw:05/16/2022 13:49:09] [0.0.422162] Update msg in recovery db to state OB post-SMS
                  [dbi :log :DBUG/2:_JavaRaw:05/16/2022 13:49:09] log context: type 1, dbn 1, msgRec 10001, mdRec 10002, bodyRec 10003
                  [dbi :log :DBUG/2:_JavaRaw:05/16/2022 13:49:09] state 11, mode 1
                  [dbi :dbi :DBUG/1:_JavaRaw:05/16/2022 13:49:09] (0) ‘cl_lock: Trying to lock database ‘
                  [dbi :dbi :DBUG/1:_JavaRaw:05/16/2022 13:49:09] (0) ‘type=w, rec=10001
                  [dbi :dbi :DBUG/1:_JavaRaw:–/–/—- –:–:–] ‘
                  [dbi :dbi :DBUG/1:_JavaRaw:05/16/2022 13:49:09] (1) ‘type=w, rec=10002
                  [dbi :dbi :DBUG/1:_JavaRaw:–/–/—- –:–:–] ‘
                  [dbi :dbi :DBUG/1:_JavaRaw:05/16/2022 13:49:09] (2) ‘type=w, rec=10003
                  [dbi :dbi :DBUG/1:_JavaRaw:–/–/—- –:–:–] ‘
                  [dbi :dbi :DBUG/1:_JavaRaw:05/16/2022 13:49:09] (0) ‘cl_lock: Succeeded in locking database ‘
                  [dbi :log :DBUG/2:_JavaRaw:05/16/2022 13:49:09] update var MD, upd 1, dirty 0
                  [dbi :elog:INFO/0:_JavaRaw:05/16/2022 13:49:09] [0.0.422162] Write message to error database, edbState 419 rdbState 11
                  [dbi :elog:INFO/1:_JavaRaw:05/16/2022 13:49:09] Creating prepared statements for insert in /hci/cis19.1/integrator/sandbox_t/exec/databases/elog.elogdb
                  [dbi :elog:DBUG/1:_JavaRaw:05/16/2022 13:49:09] 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:_JavaRaw:05/16/2022 13:49:09] [0.0.422162] Insert message successful
                  [dbi :rlog:INFO/0:_JavaRaw:05/16/2022 13:49:09] [0.0.422162] Delete message from recovery database
                  [dbi :dbi :DBUG/1:_JavaRaw:05/16/2022 13:49:09] (0) ‘cl_lock: Trying to lock database ‘
                  [dbi :dbi :DBUG/1:_JavaRaw:05/16/2022 13:49:09] (0) ‘type=w, rec=10001
                  [dbi :dbi :DBUG/1:_JavaRaw:–/–/—- –:–:–] ‘
                  [dbi :dbi :DBUG/1:_JavaRaw:05/16/2022 13:49:09] (1) ‘type=w, rec=10002
                  [dbi :dbi :DBUG/1:_JavaRaw:–/–/—- –:–:–] ‘
                  [dbi :dbi :DBUG/1:_JavaRaw:05/16/2022 13:49:09] (2) ‘type=w, rec=10003
                  [dbi :dbi :DBUG/1:_JavaRaw:–/–/—- –:–:–] ‘
                  [dbi :dbi :DBUG/1:_JavaRaw:05/16/2022 13:49:09] (0) ‘cl_lock: Succeeded in locking database ‘
                  [pd :pdtd:DBUG/0:_JavaRaw:05/16/2022 13:49:09] [0.0.422162] check reserved OBmsg 0xefff6d28/0xefff6d28
                  [msg :Msg :DBUG/0:_JavaRaw:05/16/2022 13:49:09] msgFree 0xefff6d28 refCnt 1
                  [pd :pdtd:INFO/0:_JavaRaw:05/16/2022 13:49:09] Shutting down await reply mode
                  [pd :pdtd:DBUG/0:_JavaRaw:05/16/2022 13:49:09] Reply mode clean-up.
                  [msg :Msg :DBUG/0:_JavaRaw:05/16/2022 13:49:09] msgFree 0xefff7028 refCnt 1
                  [pti :even:DBUG/0:_JavaRaw:05/16/2022 13:49:09] tiUnregistering TIMER (<no description>) event 0x343141f8 for tid 3
                  [pti :even:DBUG/0:_JavaRaw:05/16/2022 13:49:09] evUnregister TIMER (<no description>) event 0x343141f8 for tid 3
                  [diag:leak:DBUG/0:_JavaRaw:05/16/2022 13:49:09] diag dqe free 0x3489cde8
                  [diag:leak:DBUG/0:_JavaRaw:05/16/2022 13:49:09] diag ev free 0x343141f8
                  [pti :sche:INFO/1:_JavaRaw:05/16/2022 13:49:09] Thread has 0 ready events left.
                  [pti :sche:INFO/2:_JavaRaw:05/16/2022 13:49:09] Performing apply callback for thread 3
                  [msi :msi :DBUG/1:_JavaRaw:05/16/2022 13:49:09] msiExportStats: export for thread: _JavaRaw

                  Bill Pitts
                  Participant

                    Hi Marla

                    Running into the same issue

                    Would it be possible to share the tpsFhirSetServerUrl  proc?

                    Was this on your Cloverleaf server(s) or did Infor have to provide it?

                    We’re on v19.1

                    Thanks

                    in reply to: REST API with PUT Request to JSON format #119733
                    Bill Pitts
                    Participant

                      Hi

                      I was monitoring that thread, implemented some code but getting the BADDATA error

                      1st tclproc on route – formats data to JSON format,  sets USERData to value that will be appended to url

                      2nd tclproc – on tps Outbound tab of WS-JavaRaw Client thread;  pulls USERData, sets url with appended value, resets UserData

                      Looks to be setting this correctly but get error for the BADDATA in logfile:

                      Logfile:
                      [pd :thrd:INFO/0:_JavaRaw:05/13/2022 12:30:52] Processing OB-Data message queue
                      [msg :Msg :DBUG/0:_JavaRaw:05/13/2022 12:30:52] msg_Alloc new message 0xefff7028
                      [msg :Msg :DBUG/0:_JavaRaw:05/13/2022 12:30:52] msgCopy from 0xefff6d28 [0.0.422112] to 0xefff7028 midNULL
                      [pd :thrd:DBUG/3:_JavaRaw:05/13/2022 12:30:52] [0.0.422112] OB message in encoding conversion
                      [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msg: 0xefff7028
                      [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgType : DATA
                      [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgClass : PROTOCOL
                      [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgState : OB in prewrite (17)
                      [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgPriority : 5120
                      [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgRecoveryDbState: Log:off (1)
                      [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgFlags : 0x8206
                      [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgMid : [0.0.422112]
                      [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgSrcMid : [0.0.422110]
                      [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgSrcMidGroup : midNULL
                      [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgHostId : 3747252104
                      [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgOrigSrcThread : 1_x_sandbox_ADT
                      [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgOrigDestThread : _JavaRaw
                      [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgSrcThread : 1_x_sandbox_ADT
                      [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgDestThread : _JavaRaw
                      [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgXlateThread :
                      [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgSkipXlate : 0
                      [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgSepChars :
                      [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgNumRetries : 0
                      [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgGroupId : 0
                      [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgDriverControl : {_TRXID_ _HCI_static_route_}
                      [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgRecordFormat :
                      [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgRoutes :
                      [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgUserData : {httpRequestInfo {requestURL https://general-test.cameras.com/api/v1/adt/update}}
                      [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgStaticIsDirty : 1
                      [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgVariableIsDirty: 1
                      [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgRetryTimes :
                      [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgTimeStartIb : 1652459452.850
                      [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgTimeStartOb : 1652459452.858
                      [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgTimeCurQueStart: 0.000
                      [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgTimeTotalQue : 0.002
                      [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgTimeRecovery : 1652459452.862
                      [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgEoConfig : 0x0
                      [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgData (BO) : 0xefff7130
                      [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] message : ‘{“first”:”KEVIN”,”middle”:””,”last”:”GRAND CENTRAL”,”mrn”:”202979″,”dob”:”01/23/1974″,”bed_id”:”LED-D31-D31″,”encounter_id”:”2002273077″}’
                      [pd :thrd:DBUG/3:_JavaRaw:05/13/2022 12:30:52] [0.0.422112] Nothing happened during the pre-write process, using the original message
                      [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msg: 0xefff6d28
                      [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgType : DATA
                      [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgClass : PROTOCOL
                      [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgState : OB post-SMS (11)
                      [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgPriority : 5120
                      [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgRecoveryDbState: Log:update (3)
                      [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgFlags : 0x8206
                      [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgMid : [0.0.422112]
                      [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgSrcMid : [0.0.422110]
                      [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgSrcMidGroup : midNULL
                      [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgHostId : 3747252104
                      [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgOrigSrcThread : 1_x_sandbox_ADT
                      [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgOrigDestThread : _JavaRaw
                      [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgSrcThread : 1_x_sandbox_ADT
                      [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgDestThread : _JavaRaw
                      [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgXlateThread :
                      [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgSkipXlate : 0
                      [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgSepChars :
                      [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgNumRetries : 0
                      [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgGroupId : 0
                      [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgDriverControl : {_TRXID_ _HCI_static_route_}
                      [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgRecordFormat :
                      [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgRoutes :
                      [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgUserData : {httpRequestInfo {requestURL https://general-test.cameras.com/api/v1/adt/update}}
                      [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgStaticIsDirty : 0
                      [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgVariableIsDirty: 0
                      [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgRetryTimes :
                      [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgTimeStartIb : 1652459452.850
                      [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgTimeStartOb : 1652459452.858
                      [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgTimeCurQueStart: 0.000
                      [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgTimeTotalQue : 0.002
                      [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgTimeRecovery : 1652459452.853
                      [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgEoConfig : 0x0
                      [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] msgData (BO) : 0xefff6e30
                      [pd :thrd:DBUG/3:_JavaRaw:–/–/—- –:–:–] message : ‘{“first”:”KEVIN”,”middle”:””,”last”:”GRAND CENTRAL”,”mrn”:”202979″,”dob”:”01/23/1974″,”bed_id”:”LED-D31-D31″,”encounter_id”:”2002273077″}’
                      [msg :Msg :DBUG/0:_JavaRaw:05/13/2022 12:30:52] msgFree 0xefff7028 refCnt 1
                      [pd :pdtd:INFO/0:_JavaRaw:05/13/2022 12:30:52] [0.0.422112] Writing message to Protocol Driver java
                      [pd :pdtd:INFO/1:_JavaRaw:05/13/2022 12:30:52] [0.0.422112] Writing message PARTIALLY complete
                      [pd :pdtd:INFO/1:_JavaRaw:05/13/2022 12:30:52] [0.0.422112] Setup callback function for writing partial message
                      [pti :sche:INFO/1:_JavaRaw:05/13/2022 12:30:52] Thread has 0 ready events left.
                      [pti :sche:INFO/2:_JavaRaw:05/13/2022 12:30:52] Performing apply callback for thread 3
                      [msi :msi :DBUG/1:_JavaRaw:05/13/2022 12:30:52] msiExportStats: export for thread: _JavaRaw
                      [java:java:ERR /1:_JavaRaw_0:05/13/2022 12:30:53] com.infor.cloverleaf.gjdws.WSRawClient processMessageFromCloverleaf:SEVERE: Caught exception trying to process message from Cloverleaf
                      [java:java:ERR /1:_JavaRaw_0:–/–/—- –:–:–] Catch Execption:
                      [java:java:ERR /1:_JavaRaw_0:–/–/—- –:–:–] java.lang.ClassCastException: java.lang.String incompatible with java.util.Map
                      [java:java:ERR /1:_JavaRaw_0:–/–/—- –:–:–] at com.infor.cloverleaf.gjdws.WSRawClient.processMessageFromCloverleaf(WSRawClient.java:132)
                      [java:java:ERR /1:_JavaRaw_0:–/–/—- –:–:–] at com.lawson.cloverleaf.driver.FromCloverleafLink.doMsg(FromCloverleafLink.java:46)
                      [java:wrte:ERR /0:_JavaRaw_0:05/13/2022 12:30:53] Call to “doMsg” returned error string “BADDATA caught exception trying to processMessageFromCloverleaf: caught exception trying to process message from Cloverleaf”. Returning bad send to engine.
                      [pti :sche:DBUG/2:_JavaRaw:05/13/2022 12:30:53] Thread 3 has been enabled
                      [pti :sche:INFO/1:_JavaRaw:05/13/2022 12:30:53] Thread has 1 ready events.
                      [pti :even:DBUG/0:_JavaRaw:05/13/2022 12:30:53] Processing SOCKET (Java protocol thread Eng Event) event 0x35de83d8
                      [pti :even:DBUG/1:_JavaRaw:05/13/2022 12:30:53] Calling cb 0x300d5054
                      [pd :pdtd:INFO/1:_JavaRaw:05/13/2022 12:30:53] Executing callback function for writing partial message
                      [pd :pdtd:INFO/1:_JavaRaw:05/13/2022 12:30:53] [0.0.422112] Writing message completed
                      [pd :pdtd:INFO/0:_JavaRaw:05/13/2022 12:30:53] NOW AWAITING A REPLY!
                      [pd :pdtd:INFO/3:_JavaRaw:05/13/2022 12:30:53] Thread(1_x_sandbox_ADT) will expect incoming reply
                      [diag:leak:DBUG/0:_JavaRaw:05/13/2022 12:30:53] diag ev alloc 0x34314228
                      [diag:leak:DBUG/0:_JavaRaw:05/13/2022 12:30:53] diag dqe alloc 0x34ee8228
                      [pti :even:DBUG/0:_JavaRaw:05/13/2022 12:30:53] tiRegistering TIMER (<no description>) event 0x34314228 for tid 3
                      [pti :even:DBUG/0:_JavaRaw:05/13/2022 12:30:53] evRegistering TIMER (<no description>) event 0x34314228 for tid 3
                      [dbi :rlog:DBUG/3:_JavaRaw:05/13/2022 12:30:53] [0.0.422113] Looking for mid in recovery db
                      [dbi :dbi :DBUG/1:_JavaRaw:05/13/2022 12:30:53] (0) ‘cl_keyfindlock: About to do d_keylock’
                      [dbi :dbi :DBUG/1:_JavaRaw:05/13/2022 12:30:53] (1000) ‘cl_keyfindlock: About to do d_keyfind, keyval:’
                      [msg :Mid :DBUG/3:_JavaRaw:05/13/2022 12:30:53] Assigned mid [0.0.422113] to msg efff7028
                      [msg :Msg :DBUG/0:_JavaRaw:05/13/2022 12:30:53] msg_Alloc new message 0xefff7028
                      [msg :Msg :DBUG/0:_JavaRaw:05/13/2022 12:30:53] msgCopy from 0xefff6d28 [0.0.422112] to 0xefff7028 [0.0.422113]
                      [pd :thrd:INFO/0:_JavaRaw:05/13/2022 12:30:53] [0.0.422112] Saving to error database(BADDATA)

                      Tclproc (to set dynamic url):

                      proc DynamicURL { args } {

                      global HciSite
                      set processing_id [gvgetvar PROCESSING_ID]

                      keylget args MODE mode ;# Fetch mod

                      # Initialize variables
                      set userData “”

                      # Variables for setting url
                      set url “”
                      set urlBase “”
                      set urlBaseTest “https://general-test.cameras.com/api/v1/adt/&#8221;
                      set urlBaseProd “https://general.cameras.com/api/v1/adt/&#8221;
                      set urlExtension “”

                      set dispList {} ;# Nothing to return

                      switch -exact — $mode {
                      start {
                      # Perform special init functions
                      # N.B.: there may or may not be a MSGID key in args
                      }

                      run {

                      # ‘run’ mode always has a MSGID; fetch and process it
                      keylget args MSGID mh
                      keylget args CONTEXT context

                      set msg [msgget $mh]

                      catch [set userData [msgmetaget $mh USERDATA]] ;# set in previous script on route that formats msg, valued to either “update” or “discharge”

                      if {$processing_id eq “P”} {
                      catch [set urlBase $urlBaseProd]
                      } else {
                      if {$processing_id eq “T”} {
                      catch [set urlBase $urlBaseTest]
                      }
                      }

                      catch [set urlExtension $userData]
                      }
                      }

                      catch [set url [concat $urlBase$urlExtension]]

                      catch [set userData “{httpRequestInfo {requestURL $url}}”]

                      msgmetaset $mh USERDATA $userData

                      lappend dispList “CONTINUE $mh”

                      }
                      }
                      time {
                      # Timer-based processing
                      # N.B.: there may or may not be a MSGID key in args
                      }

                      shutdown {
                      # Doing some clean-up work
                      }

                      default {
                      error “Unknown mode ‘$mode’ in tpsDynamicURL”
                      }
                      }

                       

                      return $dispList
                      }

                      in reply to: REST API with PUT Request to JSON format #119727
                      Bill Pitts
                      Participant

                        Message logging enabled worked – let me see output, etc.  Thanks for that tip .. wasn’t aware of that feature

                        Got this working, worked through some auth then payload issues w vendor.

                        Now I need to figure out how to make the url dynamic – update vs discharge based on specific HL7 functions

                        example:

                        https://test.com/api/v1/adt/update     vs       https://test.com/api/v1/adt/discharge

                         

                        LogOutput:

                        [java:java:INFO/1:_JavaRaw_0:–/–/—- –:–:–] ID: 1
                        [java:java:INFO/1:_JavaRaw_0:–/–/—- –:–:–] Address: https://test.com/api/v1/adt/update
                        [java:java:INFO/1:_JavaRaw_0:–/–/—- –:–:–] Http-Method: PUT
                        [java:java:INFO/1:_JavaRaw_0:–/–/—- –:–:–] Content-Type: application/json
                        [java:java:INFO/1:_JavaRaw_0:–/–/—- –:–:–] Headers: {Authorization=[********], Content-Type=[application/json], Accept=[*/*], Connection=[Keep-Alive]}
                        [java:java:INFO/1:_JavaRaw_0:–/–/—- –:–:–] Payload: {“first”:”KEVIN”,”middle”:””,”last”:”GRAND CENTRAL”,”mrn”:”202979″,”dob”:”01/23/1974″,”bed_id”:”LED-D31-D31″,”encounter_id”:”2002273077″}
                        [java:java:INFO/1:_JavaRaw_0:–/–/—- –:–:–] ————————————–
                        [java:java:INFO/1:_JavaRaw_0:05/12/2022 16:23:30] org.apache.cxf.interceptor.LoggingInInterceptor:INFO: Inbound Message
                        [java:java:INFO/1:_JavaRaw_0:–/–/—- –:–:–] —————————-
                        [java:java:INFO/1:_JavaRaw_0:–/–/—- –:–:–] ID: 1
                        [java:java:INFO/1:_JavaRaw_0:–/–/—- –:–:–] Response-Code: 200
                        [java:java:INFO/1:_JavaRaw_0:–/–/—- –:–:–] Encoding: ISO-8859-1
                        [java:java:INFO/1:_JavaRaw_0:–/–/—- –:–:–] Content-Type: application/json

                         

                         

                        in reply to: REST API with PUT Request to JSON format #119718
                        Bill Pitts
                        Participant

                          Not seeing output in msgdump , just message.

                          Tclproc code:

                          catch [set newMsg $JSONmsg]]
                          msgset $mh $newMsg

                          #### —————————————————————
                          keylget args MSGID mh
                          keylget args CONTEXT context

                          echo “message id: $mh”
                          set INmsg [msgget $mh]

                          echo “message body: $INmsg”
                          echo \n\n$context Dump:

                          msgdump $mh
                          echo \n\n

                          ### ——————————————————————–

                          lappend dispList “CONTINUE $mh”

                          *****************************************************************************

                          ****************************************************************************

                           

                          Output in Log:

                          [tcl :out :INFO/0: websrv_xlate:05/11/2022 11:14:34] JSONmsg update?%20{first_name=KEVIN&middle=&last=GRAND%20CENTRAL&mrn=202979&dob=01/23/1974&bed_id=LED-D31-D31&encounter_id=2002273077}
                          [tcl :out :INFO/0: websrv_xlate:05/11/2022 11:14:34] “message id: message0”
                          [tcl :out :INFO/0: websrv_xlate:05/11/2022 11:14:34] “message body: update?%20{first_name=KEVIN&middle=&last=GRAND%20CENTRAL&mrn=202979&dob=01/23/1974&bed_id=LED-D31-D31&encounter_id=2002273077}”
                          [tcl :out :INFO/0: websrv_xlate:05/11/2022 11:14:34]
                          [tcl :out :INFO/0: websrv_xlate:–/–/—- –:–:–]
                          [tcl :out :INFO/0: websrv_xlate:–/–/—- –:–:–] xlt_raw Dump:
                          [tcl :out :INFO/0: websrv_xlate:05/11/2022 11:14:34] msg: 0xefff6d28
                          [tcl :out :INFO/0: websrv_xlate:–/–/—- –:–:–] msgType : DATA
                          [tcl :out :INFO/0: websrv_xlate:–/–/—- –:–:–] msgClass : ENGINE
                          [tcl :out :INFO/0: websrv_xlate:–/–/—- –:–:–] msgState : Unknown: 0 (0)
                          [tcl :out :INFO/0: websrv_xlate:–/–/—- –:–:–] msgPriority : 5120
                          [tcl :out :INFO/0: websrv_xlate:–/–/—- –:–:–] msgRecoveryDbState: Log:new (2)
                          [tcl :out :INFO/0: websrv_xlate:–/–/—- –:–:–] msgFlags : 0x8202
                          [tcl :out :INFO/0: websrv_xlate:–/–/—- –:–:–] msgMid : [0.0.421889]
                          [tcl :out :INFO/0: websrv_xlate:–/–/—- –:–:–] msgSrcMid : [0.0.421887]
                          [tcl :out :INFO/0: websrv_xlate:–/–/—- –:–:–] msgSrcMidGroup : midNULL
                          [tcl :out :INFO/0: websrv_xlate:–/–/—- –:–:–] msgHostId : 3747252104
                          [tcl :out :INFO/0: websrv_xlate:–/–/—- –:–:–] msgOrigSrcThread : 1_x_sandbox_ADT
                          [tcl :out :INFO/0: websrv_xlate:–/–/—- –:–:–] msgOrigDestThread : AngelEye_JavaRaw
                          [tcl :out :INFO/0: websrv_xlate:–/–/—- –:–:–] msgSrcThread : 1_x_sandbox_ADT
                          [tcl :out :INFO/0: websrv_xlate:–/–/—- –:–:–] msgDestThread : AngelEye_JavaRaw
                          [tcl :out :INFO/0: websrv_xlate:–/–/—- –:–:–] msgXlateThread :
                          [tcl :out :INFO/0: websrv_xlate:–/–/—- –:–:–] msgSkipXlate : 0
                          [tcl :out :INFO/0: websrv_xlate:–/–/—- –:–:–] msgSepChars :
                          [tcl :out :INFO/0: websrv_xlate:–/–/—- –:–:–] msgNumRetries : 0
                          [tcl :out :INFO/0: websrv_xlate:–/–/—- –:–:–] msgGroupId : 0
                          [tcl :out :INFO/0: websrv_xlate:–/–/—- –:–:–] msgDriverControl : {_TRXID_ _HCI_static_route_}
                          [tcl :out :INFO/0: websrv_xlate:–/–/—- –:–:–] msgRecordFormat :
                          [tcl :out :INFO/0: websrv_xlate:–/–/—- –:–:–] msgRoutes :
                          [tcl :out :INFO/0: websrv_xlate:–/–/—- –:–:–] msgUserData :
                          [tcl :out :INFO/0: websrv_xlate:–/–/—- –:–:–] msgStaticIsDirty : 1
                          [tcl :out :INFO/0: websrv_xlate:–/–/—- –:–:–] msgVariableIsDirty: 1
                          [tcl :out :INFO/0: websrv_xlate:–/–/—- –:–:–] msgRetryTimes :
                          [tcl :out :INFO/0: websrv_xlate:–/–/—- –:–:–] msgTimeStartIb : 1652282074.093
                          [tcl :out :INFO/0: websrv_xlate:–/–/—- –:–:–] msgTimeStartOb : 1652282074.093
                          [tcl :out :INFO/0: websrv_xlate:–/–/—- –:–:–] msgTimeCurQueStart: 0.000
                          [tcl :out :INFO/0: websrv_xlate:–/–/—- –:–:–] msgTimeTotalQue : 0.007
                          [tcl :out :INFO/0: websrv_xlate:–/–/—- –:–:–] msgTimeRecovery : 1652282074.102
                          [tcl :out :INFO/0: websrv_xlate:–/–/—- –:–:–] msgEoConfig : 0x0
                          [tcl :out :INFO/0: websrv_xlate:–/–/—- –:–:–] msgData (BO) : 0xefff6e30
                          [tcl :out :INFO/0: websrv_xlate:–/–/—- –:–:–] message : ‘update?%20{first_name=KEVIN&middle=&last=GRAND%20CENTRAL&mrn=202979&dob=01/23/1974&bed_id=LED-D31-D31&encounter_id=2002273077}’

                          in reply to: How to edit soap envelope for java-ws client #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

                            in reply to: How to edit soap envelope for java-ws client #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

                              in reply to: How to edit soap envelope for java-ws client #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

                                in reply to: How to edit soap envelope for java-ws client #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>”

                                Viewing 15 replies – 1 through 15 (of 27 total)