You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Jean-Baptiste Onofré (JIRA)" <ji...@apache.org> on 2019/08/11 06:04:00 UTC
[jira] [Assigned] (AMQ-7149) activemq-client using HTTP transport
requires Stomp
[ https://issues.apache.org/jira/browse/AMQ-7149?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jean-Baptiste Onofré reassigned AMQ-7149:
-----------------------------------------
Assignee: Jean-Baptiste Onofré
> activemq-client using HTTP transport requires Stomp
> ---------------------------------------------------
>
> Key: AMQ-7149
> URL: https://issues.apache.org/jira/browse/AMQ-7149
> Project: ActiveMQ
> Issue Type: Bug
> Components: JMS client, stomp, Transport
> Affects Versions: 5.14.6, 5.16.0, 5.15.8, 5.15.9
> Reporter: Bruno Baptista
> Assignee: Jean-Baptiste Onofré
> Priority: Major
> Labels: httpclient, stomp
> Attachments: activemq.diff
>
> Time Spent: 10m
> Remaining Estimate: 0h
>
> Both the Stomp and HTTP connectors use the XStream library for serializing and deserializing objects on the wire (to/from XML). The XStreamSupport class sets up XStream with some configuration on what classes can/can't be deserialized to prevent deserialization vulnerabilities.
>
> In order to avoid duplicating that code, it was placed in the stomp module, and then referenced in the http module. This was introduced around 5.13. This can cause a client side class not found exception when using simple http communication:
>
> {code:java}
> "Exception in thread "ActiveMQ Transport: HTTP Reader http://localhost:9090/" java.lang.NoClassDefFoundError: org/apache/activemq/transport/stomp/XStreamSupport
> at org.apache.activemq.transport.xstream.XStreamWireFormat.createXStream(XStreamWireFormat.java:127)
> at org.apache.activemq.transport.xstream.XStreamWireFormat.getXStream(XStreamWireFormat.java:113)
> at org.apache.activemq.transport.xstream.XStreamWireFormat.unmarshalText(XStreamWireFormat.java:66)
> at org.apache.activemq.transport.util.TextWireFormat.unmarshal(TextWireFormat.java:56)
> at org.apache.activemq.transport.http.HttpClientTransport.run(HttpClientTransport.java:199)
> ..."
> {code}
>
> The proposed patch places the XStreamSupport class in activemq-client, thus correcting this issue without requiring the inclusion of the optional activemq-stomp library in the client.
--
This message was sent by Atlassian JIRA
(v7.6.14#76016)