Hi, I have been trying to use JMeter Proxy to capture, and enable the test of an application that makes use of MS XMLHTTP ActiveX object. This object runs in client-side JavaScript to send XML Posts to the server, and collect XML replies in real-time, then it uses DHTML to re-render the client based on the response.
The post to the server gets mangled by the JMeter proxy as it tries to interpret the inbound data as name/value pairs - This wreaks havoc with parameterized XML communications, and the body of the post basically ends up getting lost. The server under test ends up getting a bunch of parameters it doesn't know what to do with, and no body (Servlet InputStream content) to parse into an XML stream. In any case - I have modified HTTPSampler, PostWriter, and HTTPArgument - now when the XMLHTTP control posts XML data to the proxy, it gets stored in a special request parameter called "XMLHTTP" with native XML enclosed (no encoding, no parameter parsing). Playback does the same thing - if it encounters an "XMLHTTP" argument, it just opens the output stream, and sends it verbatim. (I am simply checking the content, and if it starts with "<" and ends with ">" I make an assumption (possibly poor, but safe I think) that it is an XML post - I could not identify a better way to tell as the MS XML control just sends the XML data on the stream with no other auxiliary info. The work-around is not perfect, but it seems to work for my purpose. Is this of any interest to anyone else? I would be happy to provide the patch files, or send the sources or what ever. I built it off of the latest CVS drop using Eclipse, but I have not updated from CVS for a few days while I have been working on this. I know there is other SOAP/XML working going on, and I'm not sure how that relates to this - particularly because I addressed this on the HTTP Request side for general proxy use as opposed to trying to recognizing these inbound posts as some form of SOAP/XML request, and intertwining those with the HTTP Request in the recorder. In other words, if I went down the wrong path here, let me know, and I'll try to fix it up if you want - it is possible I'm not the only one forced to use the MS XML Control on the client side so there could be others that would benefit from this. Basically, this is something I really needed to be able to stress test in my current job, and I couldn't find any way to capture/emulate the conversations with JMeter as it stands - of course that could also be my own inexperience with JMeter as I have just started using it (convert from OpenSTA). Let me know if you want any of this or not ... and thanks for working on and supporting what looks like a great open source tool - I hope my contribution (if you want it) will be helpful to someone else. Kenneth Chenis ___________________________________________________________________________ CONFIDENTIALITY NOTICE: This e-mail message, including any attachments, is for the sole use of the intended recipient(s). The information contained in this message may be private and confidential, and may also be subject to the work product doctrine. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
