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]

Reply via email to