SOAP benchmarking support for Tsunami (Tsunami patch MR 20040316)


Modified on 03/25/2004 at 17:50
Creator: Mickaël Rémond

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.

File

tsunami_patch_MR_20040316.patch [102KB - file type: application/octet-stream]
 

[ News | About us | Documentation | Links | Projects & Contribs | Success stories | Binary packages | Other languages ]
This site is made and run by the Erlang Projects Association
Copyright 2003 Mickaël Rémond, Thierry Mallard
Powered by Zope, CPS and Nuxeo