Open rbeckman-nextgen opened 4 years ago
Exception example
{code} ERROR 2016-02-12 16:15:21,915 [pool-4-thread-3] com.mirth.connect.util.MirthXmlUtil: Error pretty printing xml. javax.xml.transform.TransformerException: javax.xml.transform.TransformerException: com.sun.org.apache.xml.internal.utils.WrappedRuntimeException: The markup in the document preceding the root element must be well-formed. at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:755) at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:357) at com.mirth.connect.util.MirthXmlUtil.prettyPrint(MirthXmlUtil.java:103) at com.mirth.connect.client.ui.browsers.message.MessageBrowser$10.doInBackground(MessageBrowser.java:1006) at com.mirth.connect.client.ui.browsers.message.MessageBrowser$10.doInBackground(MessageBrowser.java:999) at javax.swing.SwingWorker$1.call(SwingWorker.java:295) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at javax.swing.SwingWorker.run(SwingWorker.java:334) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Caused by: javax.xml.transform.TransformerException: com.sun.org.apache.xml.internal.utils.WrappedRuntimeException: The markup in the document preceding the root element must be well-formed. at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.getDOM(TransformerImpl.java:584) at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:745) ... 12 more Caused by: com.sun.org.apache.xml.internal.utils.WrappedRuntimeException: The markup in the document preceding the root element must be well-formed. at com.sun.org.apache.xalan.internal.xsltc.dom.XSLTCDTMManager.getDTM(XSLTCDTMManager.java:427) at com.sun.org.apache.xalan.internal.xsltc.dom.XSLTCDTMManager.getDTM(XSLTCDTMManager.java:215) at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.getDOM(TransformerImpl.java:562) ... 13 more {code}
Imported Comment. Original Details: Author: eduardoa Created: 2016-02-12T16:35:35.000-0800
Exception example for JSON (Test Channel = Sending HL7 to Mirth Result using MR Sender) {code}ERROR 2016-03-25 09:14:21,200 [pool-5-thread-5] com.mirth.connect.util.MirthJsonUtil: Error pretty printing json. com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'ORIGINAL': was expecting ('true', 'false' or 'null') at [Source: [ORIGINAL] MSH|^~&||LAB1||SITE1|200812091126|SECURITY|ADT^A01^ADT_A01|MSG00001|P|2.5| EVN|A01|200812091126|| PID|1||1002||JOHN^DOE^^||19850705|M||2106-7|1200 N ELM STREET^^NEWPORT BEACH^CA^92660-1020^US^H|OC|(949) 555-1234|(949) 555-5678||S|| NK1|1|JANET^DOE^M|SIS^SISTER||||N^NEXT-OF-KIN PV1|1|I|2000^2012^01||||001122^ZOIDBERG^JOHN^|||SUR||||1|A0||||12345
[CONTENT] MSH|^~&||LAB1||SITE1|200812091126|SECURITY|ADT^A01^ADT_A01|MSG00001|P|2.5| EVN|A01|200812091126|| PID|1||1002||JOHN^DOE^^||19850705|M||2106-7|1200 N ELM STREET^^NEWPORT BEACH^CA^92660-1020^US^H|OC|(949) 555-1234|(949) 555-5678||S|| NK1|1|JANET^DOE^M|SIS^SISTER||||N^NEXT-OF-KIN PV1|1|I|2000^2012^01||||001122^ZOIDBERG^JOHN^|||SUR||||1|A0||||12345 ; line: 1, column: 10] at com.fasterxml.jackson.core.JsonParser._constructError(JsonParser.java:1487) at com.fasterxml.jackson.core.base.ParserMinimalBase._reportError(ParserMinimalBase.java:518) at com.fasterxml.jackson.core.json.ReaderBasedJsonParser._reportInvalidToken(ReaderBasedJsonParser.java:2299) at com.fasterxml.jackson.core.json.ReaderBasedJsonParser._handleOddValue(ReaderBasedJsonParser.java:1458) at com.fasterxml.jackson.core.json.ReaderBasedJsonParser.nextToken(ReaderBasedJsonParser.java:683) at com.fasterxml.jackson.databind.deser.std.BaseNodeDeserializer.deserializeArray(JsonNodeDeserializer.java:261) at com.fasterxml.jackson.databind.deser.std.JsonNodeDeserializer.deserialize(JsonNodeDeserializer.java:64) at com.fasterxml.jackson.databind.deser.std.JsonNodeDeserializer.deserialize(JsonNodeDeserializer.java:14) at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:3562) at com.fasterxml.jackson.databind.ObjectMapper.readTree(ObjectMapper.java:2136) at com.mirth.connect.util.MirthJsonUtil.prettyPrint(MirthJsonUtil.java:32) at com.mirth.connect.client.ui.browsers.message.MessageBrowser$10.doInBackground(MessageBrowser.java:1008) at com.mirth.connect.client.ui.browsers.message.MessageBrowser$10.doInBackground(MessageBrowser.java:998) at javax.swing.SwingWorker$1.call(SwingWorker.java:295) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at javax.swing.SwingWorker.run(SwingWorker.java:334) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745){code}
Imported Comment. Original Details: Author: minht Created: 2016-03-25T09:22:13.000-0700
The json check is also only checking the first character.
MessageBrowser 981 isJson = trimmedMessage.length() > 0 && (trimmedMessage.charAt(0) == '{' || trimmedMessage.charAt(0) == '[');
Imported Comment. Original Details: Author: eduardoa Created: 2016-03-25T09:25:15.000-0700
The message browser currently just checks for the first character to know whether messages can be pretty printed or not.
{code} isXml = trimmedMessage.length() > 0 && trimmedMessage.charAt(0) == '<'; {code}
A message's first character can be '<' but also not be xml which leads to the client throwing a bunch of exception. An example of this is the response from sending to gmail's smtp server: {code} 538656531.1.1455322472671.JavaMail.eduardoarmendariz@EduardoIMac.hq.mirthcorp.com {code}
I am not sure if we should add a better check for isXml or whether we should be catching this exception.
Imported Issue. Original Details: Reporter: eduardoa Created: 2016-02-12T16:34:46.000-0800