diff --git a/CHANGELOG b/CHANGELOG index ed240b2..dd1d554 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,8 +1,9 @@ Changelog --------------------- -### Unreleased +### Version 1.2 * Build process cleanup +* Resolved issue with the AMF proxy being unable to sample command messages ### Version 1.1 * Store response as XML in a variable for assertion and post-processing. diff --git a/src/protocol/amf/org/apache/jmeter/protocol/amf/proxy/AmfRequestHdr.java b/src/protocol/amf/org/apache/jmeter/protocol/amf/proxy/AmfRequestHdr.java index 4664651..036e8e2 100644 --- a/src/protocol/amf/org/apache/jmeter/protocol/amf/proxy/AmfRequestHdr.java +++ b/src/protocol/amf/org/apache/jmeter/protocol/amf/proxy/AmfRequestHdr.java @@ -456,14 +456,13 @@ private void populateSampler(Map pageEncodings, Map 0) { if (amf) { - //sampler.setProperty(AmfSampler.RAWAMF, postData); - - // If AMF, attempt to convert it to XML + //sampler.setProperty(AmfRequest.RAWAMF, postData); + + // If AMF, try to process the request and store it if (postData != null && postData.length() > 0) { - String xml = AmfXmlConverter.convertAmfMessageToXml(postData.getBytes()); - sampler.setProperty(AmfRequest.AMFXML, xml); + String xml = AmfXmlConverter.convertAmfMessageToXml(postData.getBytes()); + sampler.setProperty(AmfRequest.AMFXML, xml); } - } else if (isBinaryContent(contentType)) { try { diff --git a/src/protocol/amf/org/apache/jmeter/protocol/amf/util/AmfXmlConverter.java b/src/protocol/amf/org/apache/jmeter/protocol/amf/util/AmfXmlConverter.java index e727d40..fad7724 100644 --- a/src/protocol/amf/org/apache/jmeter/protocol/amf/util/AmfXmlConverter.java +++ b/src/protocol/amf/org/apache/jmeter/protocol/amf/util/AmfXmlConverter.java @@ -144,7 +144,7 @@ public static String convertAmfMessageToXml(byte[] amf) { // Class aliases for deserialization, mimics registerClassAlias in Flex // TODO: Allow user configuration ClassAliasRegistry aliases = ClassAliasRegistry.getRegistry(); - aliases.registerAlias("DSC", "flex.messaging.messages.CommandMessageExt"); + //aliases.registerAlias("DSC", "flex.messaging.messages.CommandMessageExt"); // This causes errors in XStream during sampling (cannot cast byte to string) aliases.registerAlias("DSK", "flex.messaging.messages.AcknowledgeMessageExt"); // TODO: Maybe allow user configuration