Ryan, that would probably be useful from a flexibility perspective … we don’t necessarily know the details of how a given registry will be hosted. We are set up now with the sandbox to test that out whenever you want!
···
On Tue, Nov 12, 2013 at 1:20 AM, Ryan Crichton ryan@jembi.org wrote:
Hmm, ok that’s interesting. Shouldn’t that happen transparently though without the HIM receiving redirects?
Maybe in the HIM we need to support following of redirects to mitigate this sort of problem.
Cheers,
Ryan
On Mon, Nov 11, 2013 at 6:18 PM, Jeremy Keiper bigmanjer@gmail.com wrote:
In case this was not communicated yet, we found the problem: OpenHIM should point directly at the CR app, and we were pointing it at the Apache front end (which was forwarding the request internally). We changed the port in the OpenHIM settings, restarted, and it worked. The error was somewhat difficult to interpret, but made sense once we realized the infrastructure issue.
Ryan Crichton
Software Developer, Jembi Health Systems | SOUTH AFRICA
Mobile: +27845829934 | Skype: ryan.graham.crichton
E-mail: ryan@jembi.org
–
On Mon, Nov 11, 2013 at 1:50 AM, Ryan Crichton ryan@jembi.org wrote:
Hi,
Also you need to restart the HIM after you change the session key. Maybe it wasn’t restarted? The easiest way to test this would be to try send the exact message the HIM is sending to the CR manually using something like soapUI and seeing what is returned.
I hope you make progress.
Cheers,
Ryan
On Fri, Nov 8, 2013 at 4:33 PM, Suranga Kasthurirathne surangakas@gmail.com wrote:
Howdy,
Sorry, wanted to add Jeremy to the thread because i’m running out of ideas. It seems that i’m getting the same basic error message also when I try to register a patient on the CR.
We will try making a call to the CR using the session key. Hopefully it will give us some idea as to whats happening…
Ryan Crichton
Software Developer, Jembi Health Systems | SOUTH AFRICA
Mobile: +27845829934 | Skype: ryan.graham.crichton
E-mail: ryan@jembi.org
–
On Fri, Nov 8, 2013 at 2:21 AM, Ryan Crichton ryan@jembi.org wrote:
Hi,
Yes, that is usually the problem. Maybe its different in this case. The root of the problem is that the OpenHIM is receiving a redirect from the CR, I’m not sure why this would be happening. Can you make call to the CR API using this session key?
The root problem: org.mule.transport.http.HttpClientMessageDispatcher: Received a redirect, but followRedirects=false. Response code: 302 Found
Cheers,
Ryan
Suranga
–
Best Regards,
On Thu, Nov 7, 2013 at 11:53 PM, Suranga Kasthurirathne surangakas@gmail.com wrote:
Aloha,
I (or rather, Ryan Yates) updated our session key as you suggested. We’ve configured the HIM to use the new session key as you directed, but it seems to result in the very same stack-trace as I shared above.
Furthermore, the HIM Transaction console lists this transaction as ‘processing’, and it never moves into ‘completed’ status.
Umm… are you very sure that re-generating new session keys is how you solved it ?
INFO 2013-11-07 21:30:29,350 [[openhim-0.1.0-SNAPSHOT].HTTPSConnector.receiver.03] org.mule.transport.http.HttpClientMessageDispatcher: Received a redirect, but followRedirects=false. Response code: 302 Found
INFO 2013-11-07 21:30:29,354 [[openhim-0.1.0-SNAPSHOT].HTTPSConnector.receiver.03] org.mule.component.simple.LogComponent:
- Message received in service: *
- mediation-getecid-denormalization-openempiFlow1. Content is: '<!DOCTYPE *
- HTML PUBLIC “-//IETF//DTD HTML 2.0//EN”> *
ERROR 2013-11-07 21:30:29,402 [[openhim-0.1.0-SNAPSHOT].HTTPSConnector.receiver.03] org.mule.exception.CatchMessagingExceptionStrategy:
Message : org.xml.sax.SAXParseException: White spaces are required between publicId and systemId. (net.sf.saxon.trans.DynamicError)
Code : MULE_ERROR–2
Exception stack is:
- White spaces are required between publicId and systemId. (org.xml.sax.SAXParseException)
org.apache.xerces.util.ErrorHandlerWrapper:-1 (null)
- org.xml.sax.SAXParseException: White spaces are required between publicId and systemId. (net.sf.saxon.trans.DynamicError)
net.sf.saxon.event.Sender:308 (null)
- org.xml.sax.SAXParseException: White spaces are required between publicId and systemId. (net.sf.saxon.trans.DynamicError) (org.mule.api.transformer.TransformerException)
org.mule.module.xml.transformer.XsltTransformer:188 (http://www.mulesoft.org/docs/site/current3/apidocs/org/mule/api/transformer/TransformerException.html)
Root Exception stack trace:
org.xml.sax.SAXParseException: White spaces are required between publicId and systemId.
at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
at org.apache.xerces.util.ErrorHandlerWrapper.fatalError(Unknown Source)
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
- 3 more (set debug level logging or ‘-Dmule.verbose.exceptions=true’ for everything)
ERROR 2013-11-07 21:30:29,445 [[openhim-0.1.0-SNAPSHOT].HTTPSConnector.receiver.03] org.mule.exception.DefaultMessagingExceptionStrategy:
Message : Invalid Client: ECID for id type: NID with ID: 1234567890123464 could not be found in Client Registry (org.jembi.rhea.transformers.exceptions.InvalidClientIdException)
Code : MULE_ERROR–2
Exception stack is:
- Invalid Client: ECID for id type: NID with ID: 1234567890123464 could not be found in Client Registry (org.jembi.rhea.transformers.exceptions.InvalidClientIdException)
org.jembi.rhea.transformers.QueryEncounterInjectECIDTransformer:69 (null)
- Invalid Client: ECID for id type: NID with ID: 1234567890123464 could not be found in Client Registry (org.jembi.rhea.transformers.exceptions.InvalidClientIdException) (org.mule.api.transformer.TransformerException)
org.jembi.rhea.transformers.QueryEncounterInjectECIDTransformer:81 (http://www.mulesoft.org/docs/site/current3/apidocs/org/mule/api/transformer/TransformerException.html)
Root Exception stack trace:
org.jembi.rhea.transformers.exceptions.InvalidClientIdException: Invalid Client: ECID for id type: NID with ID: 1234567890123464 could not be found in Client Registry
at org.jembi.rhea.transformers.QueryEncounterInjectECIDTransformer.transformMessage(QueryEncounterInjectECIDTransformer.java:69)
at org.mule.transformer.AbstractMessageTransformer.transform(AbstractMessageTransformer.java:145)
at org.mule.transformer.AbstractMessageTransformer.transform(AbstractMessageTransformer.java:93)
- 3 more (set debug level logging or ‘-Dmule.verbose.exceptions=true’ for everything)
INFO 2013-11-07 21:30:29,457 [[openhim-0.1.0-SNAPSHOT].HTTPSConnector.receiver.03] org.mule.api.processor.LoggerMessageProcessor: Responce de-normalization
ERROR 2013-11-07 21:30:29,635 [[openhim-0.1.0-SNAPSHOT].HTTPSConnector.receiver.03] org.mule.exception.DefaultMessagingExceptionStrategy:
Message : Failed to route event via endpoint: DefaultOutboundEndpoint{endpointUri=jdbc://errorMsg2, connector=JdbcConnector
{
name=JDBCConnector
lifecycle=start
this=4b32919d
numberOfConcurrentTransactedReceivers=4
createMultipleTransactedReceivers=false
connected=true
supportedProtocols=[jdbc]
serviceOverrides=
}
, name=‘endpoint.jdbc.errorMsg2’, mep=REQUEST_RESPONSE, properties={queryTimeout=-1, queries=merged: {errorMsg2=UPDATE transaction_log SET status=‘3’, error_description=#[groovy: return message.getExceptionPayload().getMessage();], error_stacktrace=#[header:OUTBOUND:stacktrace], responded_timestamp=now() WHERE uuid=#[header:SESSION:uuid];}}, transactionConfig=Transaction{factory=null, action=INDIFFERENT, timeout=0}, deleteUnacceptedMessages=false, initialState=started, responseTimeout=10000, endpointEncoding=UTF-8, disableTransportTransformer=false}. Message payload is of type: NullPayload
Code : MULE_ERROR–2
Exception stack is:
- Data truncation: Data too long for column ‘error_stacktrace’ at row 103(SQL Code: 1406, SQL State: + 22001) (com.mysql.jdbc.MysqlDataTruncation)
com.mysql.jdbc.MysqlIO:4185 (null)
- Data truncation: Data too long for column ‘error_stacktrace’ at row 103 Query: UPDATE transaction_log SET status=‘3’, error_description=?, error_stacktrace=?, responded_timestamp=now() WHERE uuid=?; Parameters: [Invalid Client: ECID for id type: NID with ID: 1234567890123464 could not be found in Client Registry (org.jembi.rhea.transformers.exceptions.InvalidClientIdException), org.mule.api.transformer.TransformerMessagingException: Invalid Client: ECID for id type: NID with ID: 1234567890123464 could not be found in Client Registry (org.jembi.rhea.transformers.exceptions.InvalidClientIdException). Message payload is of type: RestfulHttpRequest (org.mule.api.transformer.TransformerMessagingException). Message payload is of type: RestfulHttpRequest
at org.mule.transformer.AbstractTransformer.process(AbstractTransformer.java:139)
at org.mule.execution.ExceptionToMessagingExceptionExecutionInterceptor.execute(ExceptionToMessagingExceptionExecutionInterceptor.java:27)
at org.mule.execution.MessageProcessorNotificationExecutionInterceptor.execute(MessageProcessorNotificationExecutionInterceptor.java:61)
at org.mule.execution.MessageProcessorExecutionTemplate.execute(MessageProcessorExecutionTemplate.java:47)
at org.mule.processor.chain.DefaultMessageProcessorChain.doProcess(DefaultMessageProcessorChain.java:95)
at org.mule.processor.chain.AbstractMessageProcessorChain.process(AbstractMessageProcessorChain.java:70)
at org.mule.execution.ExceptionToMessagingExceptionExecutionInterceptor.execute(ExceptionToMessagingExceptionExecutionInterceptor.java:27)
at org.mule.execution.MessageProcessorExecutionTemplate.execute(MessageProcessorExecutionTemplate.java:47)
at org.mule.processor.AbstractInterceptingMessageProcessorBase.processNext(AbstractInterceptingMessageProcessorBase.java:106)
at org.mule.processor.AsyncInterceptingMessageProcessor.process(AsyncInterceptingMessageProcessor.java:101)
at org.mule.execution.ExceptionToMessagingExceptionExecutionInterceptor.execute(ExceptionToMessagingExceptionExecutionInterceptor.java:27)
at org.mule.execution.MessageProcessorNotificationExecutionInterceptor.execute(MessageProcessorNotificationExecutionInterceptor.java:61)
at org.mule.execution.MessageProcessorExecutionTemplate.execute(MessageProcessorExecutionTemplate.java:47)
at org.mule.processor.chain.DefaultMessageProcessorChain.doProcess(DefaultMessageProcessorChain.java:95)
at org.mule.processor.chain.AbstractMessageProcessorChain.process(AbstractMessageProcessorChain.java:70)
at org.mule.execution.ExceptionToMessagingExceptionExecutionInterceptor.execute(ExceptionToMessagingExceptionExecutionInterceptor.java:27)
at org.mule.execution.MessageProcessorExecutionTemplate.execute(MessageProcessorExecutionTemplate.java:47)
at org.mule.processor.AbstractInterceptingMessageProcessorBase.processNext(AbstractInterceptingMessageProcessorBase.java:106)
at org.mule.interceptor.AbstractEnvelopeInterceptor.process(AbstractEnvelopeInterceptor.java:55)
at org.mule.execution.ExceptionToMessagingExceptionExecutionInterceptor.execute(ExceptionToMessagingExceptionExecutionInterceptor.java:27)
at org.mule.execution.MessageProcessorNotificationExecutionInterceptor.execute(MessageProcessorNotificationExecutionInterceptor.java:61)
at org.mule.execution.MessageProcessorExecutionTemplate.execute(MessageProcessorExecutionTemplate.java:47)
at org.mule.processor.AbstractInterceptingMessageProcessorBase.processNext(AbstractInterceptingMessageProcessorBase.java:106)
at org.mule.processor.AbstractFilteringMessageProcessor.process(AbstractFilteringMessageProcessor.java:44)
at org.mule.execution.ExceptionToMessagingExceptionExecutionInterceptor.execute(ExceptionToMessagingExceptionExecutionInterceptor.java:27)
at org.mule.execution.MessageProcessorNotificationExecutionInterceptor.execute(MessageProcessorNotificationExecutionInterceptor.java:61)
at org.mule.execution.MessageProcessorExecutionTemplate.execute(MessageProcessorExecutionTemplate.java:47)
at org.mule.processor.AbstractInterceptingMessageProcessorBase.processNext(AbstractInterceptingMessageProcessorBase.java:106)
at org.mule.construct.AbstractPipeline$1.process(AbstractPipeline.java:112)
at org.mule.execution.ExceptionToMessagingExceptionExecutionInterceptor.execute(ExceptionToMessagingExceptionExecutionInterceptor.java:27)
at org.mule.execution.MessageProcessorNotificationExecutionInterceptor.execute(MessageProcessorNotificationExecutionInterceptor.java:61)
at org.mule.execution.MessageProcessorExecutionTemplate.execute(MessageProcessorExecutionTemplate.java:47)
at org.mule.processor.chain.DefaultMessageProcessorChain.doProcess(DefaultMessageProcessorChain.java:95)
at org.mule.processor.chain.AbstractMessageProcessorChain.process(AbstractMessageProcessorChain.java:70)
at or…--------------------------------------------------------------------------------
Root Exception stack trace:
com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column ‘error_stacktrace’ at row 103
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4185)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4119)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2570)
- 3 more (set debug level logging or ‘-Dmule.verbose.exceptions=true’ for everything)
ERROR 2013-11-07 21:30:29,643 [[openhim-0.1.0-SNAPSHOT].HTTPSConnector.receiver.03] org.mule.exception.DefaultMessagingExceptionStrategy:
Message : org.mule.transport.NullPayload cannot be cast to org.jembi.rhea.RestfulHttpResponse (java.lang.ClassCastException). Message payload is of type: NullPayload
Code : MULE_ERROR–2
Exception stack is:
- org.mule.transport.NullPayload cannot be cast to org.jembi.rhea.RestfulHttpResponse (java.lang.ClassCastException)
org.jembi.rhea.transformers.RestfulHttpResponseToHttpResponseTransformer:17 (null)
- org.mule.transport.NullPayload cannot be cast to org.jembi.rhea.RestfulHttpResponse (java.lang.ClassCastException). Message payload is of type: NullPayload (org.mule.api.transformer.TransformerMessagingException)
org.mule.transformer.AbstractTransformer:139 (http://www.mulesoft.org/docs/site/current3/apidocs/org/mule/api/transformer/TransformerMessagingException.html)
Root Exception stack trace:
java.lang.ClassCastException: org.mule.transport.NullPayload cannot be cast to org.jembi.rhea.RestfulHttpResponse
at org.jembi.rhea.transformers.RestfulHttpResponseToHttpResponseTransformer.transformMessage(RestfulHttpResponseToHttpResponseTransformer.java:17)
at org.mule.transformer.AbstractMessageTransformer.transform(AbstractMessageTransformer.java:145)
at org.mule.transformer.AbstractMessageTransformer.transform(AbstractMessageTransformer.java:93)
- 3 more (set debug level logging or ‘-Dmule.verbose.exceptions=true’ for everything)
–
Ryan Crichton
Software Developer, Jembi Health Systems | SOUTH AFRICA
Mobile: +27845829934 | Skype: ryan.graham.crichton
E-mail: ryan@jembi.org
On Thu, Nov 7, 2013 at 3:36 AM, Ryan Crichton ryan@jembi.org wrote:
Hey Suranga,
I recognise this error. It usually happen when OpenHIM cannot authenticate with OpenEMPI. OpenEMPI sends a redirect to a login page to authenticate, thus you see the “Response code: 302 Found” in the logs. Maybe check the OpenEMPI auth details haven’t changed when you upgraded the version. You may need to update the session key that the OpenHIM uses.
Cheers,
Ryan
Suranga
–
Best Regards,
On Thu, Nov 7, 2013 at 6:47 AM, Suranga Kasthurirathne surangakas@gmail.com wrote:
Hi,
I was trying to get the maternal summary module to pull data from the SHR sandbox when I came up with what may be a problem in the Interop layer.
Basically, I tried to refresh the data of a patient with both ECID and NID numbers registered on the Client Registry. However, the IOL logs turned out the following error,
INFO 2013-11-06 21:41:01,070 [[openhim-0.1.0-SNAPSHOT].HTTPSConnector.receiver.08] org.mule.transport.http.HttpClientMessageDispatcher: Received a redirect, but followRedirects=false. Response code: 302 Found
INFO 2013-11-06 21:41:01,073 [[openhim-0.1.0-SNAPSHOT].HTTPSConnector.receiver.08] org.mule.component.simple.LogComponent:
- Message received in service: *
- mediation-getecid-denormalization-openempiFlow1. Content is: '<!DOCTYPE *
- HTML PUBLIC “-//IETF//DTD HTML 2.0//EN”> *
ERROR 2013-11-06 21:41:01,143 [[openhim-0.1.0-SNAPSHOT].HTTPSConnector.receiver.08] org.mule.exception.CatchMessagingExceptionStrategy:
Message : org.xml.sax.SAXParseException: White spaces are required between publicId and systemId. (net.sf.saxon.trans.DynamicError)
Code : MULE_ERROR–2
Exception stack is:
- White spaces are required between publicId and systemId. (org.xml.sax.SAXParseException)
org.apache.xerces.util.ErrorHandlerWrapper:-1 (null)
- org.xml.sax.SAXParseException: White spaces are required between publicId and systemId. (net.sf.saxon.trans.DynamicError)
net.sf.saxon.event.Sender:308 (null)
- org.xml.sax.SAXParseException: White spaces are required between publicId and systemId. (net.sf.saxon.trans.DynamicError) (org.mule.api.transformer.TransformerException)
org.mule.module.xml.transformer.XsltTransformer:188 (http://www.mulesoft.org/docs/site/current3/apidocs/org/mule/api/transformer/TransformerException.html)
Root Exception stack trace:
org.xml.sax.SAXParseException: White spaces are required between publicId and systemId.
at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
at org.apache.xerces.util.ErrorHandlerWrapper.fatalError(Unknown Source)
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
+ 3 more (set debug level logging or '-Dmule.verbose.exceptions=true' for everything)
Now, if you look at the section i’ve highlighted in red, you’ll see that there seems to be a problem with parsing the message being returned from the IOL.
Jeremy even tried updating our instance of openempi from 2.2.7 to 2.2.8, but this didn’t solve our problem.
So my question is, which version of OpenEMPI are you using on your sandbox ? have you ever faced such an error before ? Would this be something we would solve by editing the structure of the html content being generated ?
Suranga
–
Best Regards,
–
You received this message because you are subscribed to the Google Groups “Interoperability Layer (OpenHIE)” group.
To unsubscribe from this group and stop receiving emails from it, send an email to openhie-interoperability-layer+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
Ryan Crichton
Software Developer, Jembi Health Systems | SOUTH AFRICA
Mobile: +27845829934 | Skype: ryan.graham.crichton
E-mail: ryan@jembi.org
–