This is a patch for IDX-Tsunami that add SOAP HTTP benchmarking support. You can now use Tsunami to benchmark your web services. It also adds several minor feature and corrects some bugs.
This patch has been included in Tsunami CVS version and will be in IDX-Tsunami beta4 release.
Here is the complete Changelog:
Patch 20040316 - Mickaël Rémond
This patch applies on Tsunami-1.0 beta3, as extracted from CVS on
2004/03/13.
Features:
- SOAP Support: Tsunami can now record and replay SOAP HTTP
scenario. The SOAPAction HTTP header is now recorded.
- Content-type support in Tsunami recorder: The Tsunami recorder now
save content-type information. This information is by the server to
know the kind of information send in Post. This feature is needed to
handle non-HTML form encoded posts.
configure addition in the build process: This is to ensure that
various Erlang installation kind are taken into account (Installation
in /usr/local or in /usr for example). No need to tweak the Makefile
anymore. The configure support should be extended however to
support more Operating system and local install differences.
- Preliminary Windows support: A workaround has been introduced in the
code to handle behaviour difference between Erlang Un*x and Erlang
Windows on how the command-line is handled. When an assumtion is made
on the string type of a parameter, it should be check that this is
actually a string and not an atom.
- HTTP/1.0 support in the recorder: Some clients are not able to
detect end of response when using HTTP/1.0 if the server (and thus
the proxy recorder does not close the connexion). When the client
wants to use HTTP/1.0, the client connexion is closed when the server
closes the connexion. This allows to use Axis library with the
standalone simple webserver.
Bugfixes:
- Added ~/.idx-tsunami creation in idx-tsunami script if the directory
does not already exist.
- The HTTP proxy was not working with long POST request (For example
with Axis). The body length counter were mistakenly taking the
header size in its total. This was causing problem with big post,
that are not part of the same TCP/IP send group. This problem is now
fixed and header length is substracted.
- Tsunami recorder were not recording big POST: The dorecord message
was missing enclosing curly brackets: {...}
- Cookie support: Cookie are not necessarily separated by "; ". They
can be separated by ";". This was causing problem when benchmarking
Axis based web services.
- Extension of XML attribute entity normalisation. This was needed for
SOAP support (POST contents are store in http tag contents attribute
in the XML scenario file).
- ebin directory has to be kept into the CVS. The compilation fails
otherwise (Addition of a .keepme file into the CVS ebin directory).
Remaining (known) bugs:
- Tsunami still does not fully support Xmerl 0.19. I recommander using
Xmerl 0.15, until Xmerl 0.19 problems are fixed.
- session xml end tag is not properly closed in the recorder generated
file. This is a minor bug, but do not forget to add it manually.
|