SaxParse exception when parsing messages sent from the IOL

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”> *

  • *
  • 302 Found *
  • <bod...[100 of 365]' *

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:

  1. White spaces are required between publicId and systemId. (org.xml.sax.SAXParseException)

org.apache.xerces.util.ErrorHandlerWrapper:-1 (null)

  1. org.xml.sax.SAXParseException: White spaces are required between publicId and systemId. (net.sf.saxon.trans.DynamicError)

net.sf.saxon.event.Sender:308 (null)

  1. 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 ?


Best Regards,

Suranga

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

···

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”> *
  • *
  • 302 Found *
  • <bod...[100 of 365]' *

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:

  1. White spaces are required between publicId and systemId. (org.xml.sax.SAXParseException)

org.apache.xerces.util.ErrorHandlerWrapper:-1 (null)

  1. org.xml.sax.SAXParseException: White spaces are required between publicId and systemId. (net.sf.saxon.trans.DynamicError)

net.sf.saxon.event.Sender:308 (null)

  1. 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

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 ?

···

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


Best Regards,

Suranga

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”> *
  • *
  • 302 Found *
  • <bod...[100 of 365]' *

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:

  1. White spaces are required between publicId and systemId. (org.xml.sax.SAXParseException)

org.apache.xerces.util.ErrorHandlerWrapper:-1 (null)

  1. org.xml.sax.SAXParseException: White spaces are required between publicId and systemId. (net.sf.saxon.trans.DynamicError)

net.sf.saxon.event.Sender:308 (null)

  1. 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

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

···

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”> *
  • *
  • 302 Found *
  • <bod...[100 of 365]' *

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:

  1. White spaces are required between publicId and systemId. (org.xml.sax.SAXParseException)

org.apache.xerces.util.ErrorHandlerWrapper:-1 (null)

  1. org.xml.sax.SAXParseException: White spaces are required between publicId and systemId. (net.sf.saxon.trans.DynamicError)

net.sf.saxon.event.Sender:308 (null)

  1. 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:

  1. 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)

  1. 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:

  1. 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)

  1. 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:

  1. org.mule.transport.NullPayload cannot be cast to org.jembi.rhea.RestfulHttpResponse (java.lang.ClassCastException)

org.jembi.rhea.transformers.RestfulHttpResponseToHttpResponseTransformer:17 (null)

  1. 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”> *
  • *
  • 302 Found *
  • <bod...[100 of 365]' *

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:

  1. White spaces are required between publicId and systemId. (org.xml.sax.SAXParseException)

org.apache.xerces.util.ErrorHandlerWrapper:-1 (null)

  1. org.xml.sax.SAXParseException: White spaces are required between publicId and systemId. (net.sf.saxon.trans.DynamicError)

net.sf.saxon.event.Sender:308 (null)

  1. 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

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…

···

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


Best Regards,

Suranga

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”> *
  • *
  • 302 Found *
  • <bod...[100 of 365]' *

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:

  1. White spaces are required between publicId and systemId. (org.xml.sax.SAXParseException)

org.apache.xerces.util.ErrorHandlerWrapper:-1 (null)

  1. org.xml.sax.SAXParseException: White spaces are required between publicId and systemId. (net.sf.saxon.trans.DynamicError)

net.sf.saxon.event.Sender:308 (null)

  1. 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:

  1. 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)

  1. 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:

  1. 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)

  1. 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:

  1. org.mule.transport.NullPayload cannot be cast to org.jembi.rhea.RestfulHttpResponse (java.lang.ClassCastException)

org.jembi.rhea.transformers.RestfulHttpResponseToHttpResponseTransformer:17 (null)

  1. 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”> *
  • *
  • 302 Found *
  • <bod...[100 of 365]' *

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:

  1. White spaces are required between publicId and systemId. (org.xml.sax.SAXParseException)

org.apache.xerces.util.ErrorHandlerWrapper:-1 (null)

  1. org.xml.sax.SAXParseException: White spaces are required between publicId and systemId. (net.sf.saxon.trans.DynamicError)

net.sf.saxon.event.Sender:308 (null)

  1. 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

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”> *
  • *
  • 302 Found *
  • <bod...[100 of 365]' *

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:

  1. White spaces are required between publicId and systemId. (org.xml.sax.SAXParseException)

org.apache.xerces.util.ErrorHandlerWrapper:-1 (null)

  1. org.xml.sax.SAXParseException: White spaces are required between publicId and systemId. (net.sf.saxon.trans.DynamicError)

net.sf.saxon.event.Sender:308 (null)

  1. 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:

  1. 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)

  1. 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:

  1. 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)

  1. 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:

  1. org.mule.transport.NullPayload cannot be cast to org.jembi.rhea.RestfulHttpResponse (java.lang.ClassCastException)

org.jembi.rhea.transformers.RestfulHttpResponseToHttpResponseTransformer:17 (null)

  1. 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”> *
  • *
  • 302 Found *
  • <bod...[100 of 365]' *

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:

  1. White spaces are required between publicId and systemId. (org.xml.sax.SAXParseException)

org.apache.xerces.util.ErrorHandlerWrapper:-1 (null)

  1. org.xml.sax.SAXParseException: White spaces are required between publicId and systemId. (net.sf.saxon.trans.DynamicError)

net.sf.saxon.event.Sender:308 (null)

  1. 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

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.

···

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”> *
  • *
  • 302 Found *
  • <bod...[100 of 365]' *

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:

  1. White spaces are required between publicId and systemId. (org.xml.sax.SAXParseException)

org.apache.xerces.util.ErrorHandlerWrapper:-1 (null)

  1. org.xml.sax.SAXParseException: White spaces are required between publicId and systemId. (net.sf.saxon.trans.DynamicError)

net.sf.saxon.event.Sender:308 (null)

  1. 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:

  1. 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)

  1. 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:

  1. 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)

  1. 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:

  1. org.mule.transport.NullPayload cannot be cast to org.jembi.rhea.RestfulHttpResponse (java.lang.ClassCastException)

org.jembi.rhea.transformers.RestfulHttpResponseToHttpResponseTransformer:17 (null)

  1. 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”> *
  • *
  • 302 Found *
  • <bod...[100 of 365]' *

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:

  1. White spaces are required between publicId and systemId. (org.xml.sax.SAXParseException)

org.apache.xerces.util.ErrorHandlerWrapper:-1 (null)

  1. org.xml.sax.SAXParseException: White spaces are required between publicId and systemId. (net.sf.saxon.trans.DynamicError)

net.sf.saxon.event.Sender:308 (null)

  1. 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

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”> *
  • *
  • 302 Found *
  • <bod...[100 of 365]' *

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:

  1. White spaces are required between publicId and systemId. (org.xml.sax.SAXParseException)

org.apache.xerces.util.ErrorHandlerWrapper:-1 (null)

  1. org.xml.sax.SAXParseException: White spaces are required between publicId and systemId. (net.sf.saxon.trans.DynamicError)

net.sf.saxon.event.Sender:308 (null)

  1. 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:

  1. 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)

  1. 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:

  1. 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)

  1. 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:

  1. org.mule.transport.NullPayload cannot be cast to org.jembi.rhea.RestfulHttpResponse (java.lang.ClassCastException)

org.jembi.rhea.transformers.RestfulHttpResponseToHttpResponseTransformer:17 (null)

  1. 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”> *
  • *
  • 302 Found *
  • <bod...[100 of 365]' *

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:

  1. White spaces are required between publicId and systemId. (org.xml.sax.SAXParseException)

org.apache.xerces.util.ErrorHandlerWrapper:-1 (null)

  1. org.xml.sax.SAXParseException: White spaces are required between publicId and systemId. (net.sf.saxon.trans.DynamicError)

net.sf.saxon.event.Sender:308 (null)

  1. 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

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”> *
  • *
  • 302 Found *
  • <bod...[100 of 365]' *

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:

  1. White spaces are required between publicId and systemId. (org.xml.sax.SAXParseException)

org.apache.xerces.util.ErrorHandlerWrapper:-1 (null)

  1. org.xml.sax.SAXParseException: White spaces are required between publicId and systemId. (net.sf.saxon.trans.DynamicError)

net.sf.saxon.event.Sender:308 (null)

  1. 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:

  1. 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)

  1. 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:

  1. 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)

  1. 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:

  1. org.mule.transport.NullPayload cannot be cast to org.jembi.rhea.RestfulHttpResponse (java.lang.ClassCastException)

org.jembi.rhea.transformers.RestfulHttpResponseToHttpResponseTransformer:17 (null)

  1. 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”> *
  • *
  • 302 Found *
  • <bod...[100 of 365]' *

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:

  1. White spaces are required between publicId and systemId. (org.xml.sax.SAXParseException)

org.apache.xerces.util.ErrorHandlerWrapper:-1 (null)

  1. org.xml.sax.SAXParseException: White spaces are required between publicId and systemId. (net.sf.saxon.trans.DynamicError)

net.sf.saxon.event.Sender:308 (null)

  1. 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