rbeckman-nextgen / test-mc6

0 stars 0 forks source link

Circular reflection exception causes entire Message to not be serialized #4221

Closed rbeckman-nextgen closed 4 years ago

rbeckman-nextgen commented 4 years ago

If an object in a map (like the response map) causes a CircularReferenceException, the entire Message will fail to serialize because the ErrorContent Donkey class doesn't implement Serializable.

com.mirth.connect.donkey.util.xstream.SerializerException: com.mirth.connect.donkey.util.DonkeyElement$DonkeyElementException: java.io.EOFException: no more data available - expected end tags </metaDataMap></connectorMessage></entry></connectorMessages></message> to close start tag <metaDataMap> from line 601 and start tag <connectorMessage> from line 13 and start tag <entry> from line 11 and start tag <connectorMessages> from line 10 and start tag <message> from line 1, parser stopped on TEXT seen ...</metaDataMap>\n <processingErrorContent... @659:32 com.mirth.connect.client.core.ClientException: com.mirth.connect.donkey.util.xstream.SerializerException: com.mirth.connect.donkey.util.DonkeyElement$DonkeyElementException: java.io.EOFException: no more data available - expected end tags </metaDataMap></connectorMessage></entry></connectorMessages></message> to close start tag <metaDataMap> from line 601 and start tag <connectorMessage> from line 13 and start tag <entry> from line 11 and start tag <connectorMessages> from line 10 and start tag <message> from line 1, parser stopped on TEXT seen ...</metaDataMap>\n <processingErrorContent... @659:32 at com.mirth.connect.client.core.Client$2.invoke(Client.java:286) at com.sun.proxy.$Proxy62.getMessageContent(Unknown Source) at com.mirth.connect.client.core.Client.getMessageContent(Client.java:1686) at com.mirth.connect.client.ui.browsers.message.MessageBrowser.MessageListSelected(MessageBrowser.java:1694) at com.mirth.connect.client.ui.browsers.message.MessageBrowser.access$1400(MessageBrowser.java:119) at com.mirth.connect.client.ui.browsers.message.MessageBrowser$11.valueChanged(MessageBrowser.java:1109) at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:184) at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:164) at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:211) at javax.swing.DefaultListSelectionModel.changeSelection(DefaultListSelectionModel.java:405) at javax.swing.DefaultListSelectionModel.changeSelection(DefaultListSelectionModel.java:415) at javax.swing.DefaultListSelectionModel.setSelectionInterval(DefaultListSelectionModel.java:459) at javax.swing.JTable.changeSelectionModel(JTable.java:2392) at javax.swing.JTable.changeSelection(JTable.java:2461) at javax.swing.plaf.basic.BasicTableUI$Handler.adjustSelection(BasicTableUI.java:1115) at javax.swing.plaf.basic.BasicTableUI$Handler.mousePressedDND(BasicTableUI.java:1080) at javax.swing.plaf.basic.BasicTableUI$Handler.mousePressed(BasicTableUI.java:1032) at java.awt.AWTEventMulticaster.mousePressed(AWTEventMulticaster.java:280) at java.awt.AWTEventMulticaster.mousePressed(AWTEventMulticaster.java:279) at java.awt.AWTEventMulticaster.mousePressed(AWTEventMulticaster.java:279) at java.awt.Component.processMouseEvent(Component.java:6536) at javax.swing.JComponent.processMouseEvent(JComponent.java:3324) at org.jdesktop.swingx.JXTreeTable.processMouseEvent(JXTreeTable.java:396) at java.awt.Component.processEvent(Component.java:6304) at java.awt.Container.processEvent(Container.java:2239) at java.awt.Component.dispatchEventImpl(Component.java:4889) at java.awt.Container.dispatchEventImpl(Container.java:2297) at java.awt.Component.dispatchEvent(Component.java:4711) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4532) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476) at java.awt.Container.dispatchEventImpl(Container.java:2283) at java.awt.Window.dispatchEventImpl(Window.java:2746) at java.awt.Component.dispatchEvent(Component.java:4711) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760) at java.awt.EventQueue.access$500(EventQueue.java:97) at java.awt.EventQueue$3.run(EventQueue.java:709) at java.awt.EventQueue$3.run(EventQueue.java:703) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84) at java.awt.EventQueue$4.run(EventQueue.java:733) at java.awt.EventQueue$4.run(EventQueue.java:731) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74) at java.awt.EventQueue.dispatchEvent(EventQueue.java:730) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) at java.awt.EventDispatchThread.run(EventDispatchThread.java:82) Caused by: com.mirth.connect.donkey.util.xstream.SerializerException: com.mirth.connect.donkey.util.DonkeyElement$DonkeyElementException: java.io.EOFException: no more data available - expected end tags </metaDataMap></connectorMessage></entry></connectorMessages></message> to close start tag <metaDataMap> from line 601 and start tag <connectorMessage> from line 13 and start tag <entry> from line 11 and start tag <connectorMessages> from line 10 and start tag <message> from line 1, parser stopped on TEXT seen ...</metaDataMap>\n <processingErrorContent... @659:32 at com.mirth.connect.model.converters.ObjectXMLSerializer.handleDeserializationException(ObjectXMLSerializer.java:415) at com.mirth.connect.model.converters.ObjectXMLSerializer.deserialize(ObjectXMLSerializer.java:295) at com.mirth.connect.client.core.api.providers.XmlMessageBodyReader.readFrom(XmlMessageBodyReader.java:51) at org.glassfish.jersey.message.internal.ReaderInterceptorExecutor$TerminalReaderInterceptor.invokeReadFrom(ReaderInterceptorExecutor.java:256) at org.glassfish.jersey.message.internal.ReaderInterceptorExecutor$TerminalReaderInterceptor.aroundReadFrom(ReaderInterceptorExecutor.java:235) at org.glassfish.jersey.message.internal.ReaderInterceptorExecutor.proceed(ReaderInterceptorExecutor.java:155) at org.glassfish.jersey.message.internal.MessageBodyFactory.readFrom(MessageBodyFactory.java:1085) at org.glassfish.jersey.message.internal.InboundMessageContext.readEntity(InboundMessageContext.java:874) at com.mirth.connect.client.core.MirthClientResponse.readEntity(MirthClientResponse.java:40) at org.glassfish.jersey.message.internal.InboundMessageContext.readEntity(InboundMessageContext.java:834) at org.glassfish.jersey.client.ClientResponse.readEntity(ClientResponse.java:368) at org.glassfish.jersey.client.JerseyInvocation.translate(JerseyInvocation.java:867) at org.glassfish.jersey.client.JerseyInvocation.access$800(JerseyInvocation.java:92) at org.glassfish.jersey.client.JerseyInvocation$3.call(JerseyInvocation.java:722) at org.glassfish.jersey.internal.Errors.process(Errors.java:315) at org.glassfish.jersey.internal.Errors.process(Errors.java:297) at org.glassfish.jersey.internal.Errors.process(Errors.java:228) at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:444) at org.glassfish.jersey.client.JerseyInvocation.invoke(JerseyInvocation.java:718) at org.glassfish.jersey.client.JerseyInvocation$Builder.method(JerseyInvocation.java:430) at org.glassfish.jersey.client.proxy.WebResourceFactory.invoke(WebResourceFactory.java:381) at com.sun.proxy.$Proxy62.getMessageContent(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.mirth.connect.client.core.Client$2.invoke(Client.java:265) ... 51 more Caused by: com.mirth.connect.donkey.util.DonkeyElement$DonkeyElementException: java.io.EOFException: no more data available - expected end tags </metaDataMap></connectorMessage></entry></connectorMessages></message> to close start tag <metaDataMap> from line 601 and start tag <connectorMessage> from line 13 and start tag <entry> from line 11 and start tag <connectorMessages> from line 10 and start tag <message> from line 1, parser stopped on TEXT seen ...</metaDataMap>\n <processingErrorContent... @659:32 at com.mirth.connect.donkey.util.DonkeyElement.fromXml(DonkeyElement.java:490) at com.mirth.connect.donkey.util.DonkeyElement.<init>(DonkeyElement.java:53) at com.mirth.connect.model.converters.ObjectXMLSerializer.getDonkeyElement(ObjectXMLSerializer.java:443) at com.mirth.connect.model.converters.ObjectXMLSerializer.deserialize(ObjectXMLSerializer.java:270) ... 76 more Caused by: java.io.EOFException: no more data available - expected end tags </metaDataMap></connectorMessage></entry></connectorMessages></message> to close start tag <metaDataMap> from line 601 and start tag <connectorMessage> from line 13 and start tag <entry> from line 11 and start tag <connectorMessages> from line 10 and start tag <message> from line 1, parser stopped on TEXT seen ...</metaDataMap>\n <processingErrorContent... @659:32 at org.xmlpull.mxp1.MXParser.fillBuf(MXParser.java:3035) at org.xmlpull.mxp1.MXParser.more(MXParser.java:3046) at org.xmlpull.mxp1.MXParser.parseStartTag(MXParser.java:1738) at org.xmlpull.mxp1.MXParser.nextImpl(MXParser.java:1127) at org.xmlpull.mxp1.MXParser.next(MXParser.java:1093) at org.xmlpull.v1.dom2_builder.DOM2XmlPullBuilder$BuildProcess.parseSubTree(DOM2XmlPullBuilder.java:154) at org.xmlpull.v1.dom2_builder.DOM2XmlPullBuilder$BuildProcess.parseSubTree(DOM2XmlPullBuilder.java:122) at org.xmlpull.v1.dom2_builder.DOM2XmlPullBuilder$BuildProcess.parseSubTree(DOM2XmlPullBuilder.java:156) at org.xmlpull.v1.dom2_builder.DOM2XmlPullBuilder$BuildProcess.parseSubTree(DOM2XmlPullBuilder.java:122) at org.xmlpull.v1.dom2_builder.DOM2XmlPullBuilder$BuildProcess.parseSubTree(DOM2XmlPullBuilder.java:156) at org.xmlpull.v1.dom2_builder.DOM2XmlPullBuilder$BuildProcess.parseSubTree(DOM2XmlPullBuilder.java:122) at org.xmlpull.v1.dom2_builder.DOM2XmlPullBuilder$BuildProcess.parseSubTree(DOM2XmlPullBuilder.java:156) at org.xmlpull.v1.dom2_builder.DOM2XmlPullBuilder$BuildProcess.parseSubTree(DOM2XmlPullBuilder.java:122) at org.xmlpull.v1.dom2_builder.DOM2XmlPullBuilder.parseSubTree(DOM2XmlPullBuilder.java:106) at org.xmlpull.v1.dom2_builder.DOM2XmlPullBuilder.parse(DOM2XmlPullBuilder.java:92) at com.mirth.connect.donkey.util.DonkeyElement.fromXml(DonkeyElement.java:488) ... 79 more

Imported Issue. Original Details: Jira Issue Key: MIRTH-4369 Reporter: narupley Created: 2019-01-21T11:49:53.000-0800