TCP/IP is very unreliable. It has a check sum that is not good enough given enough packages going through the network. This is being discussed somewhere on the net. One of the system I worked on involved a C++ client talks to a java server. In a controlled environment, things work, but when deployed, it will crash the clients once awhile. The java side is really good with drop connection, corruption of network data, etc. However, the C++ side is not so good. It was Ace/Tao then (Corba). The guy at Ace/Tao did not want to fix this. So, I switched to Soap, and use gSoap instead. It again shows a same problem with a test that I created. I send this to the author of gSoap. In no time, he indentifies and fixes problems associated with this. So, with gSoap, no matter how I want to corrupt the message, the thing just work (it could return errors, but does not crash). This really impresses me. The client implementation was a success. To me, this is a must to be production ready. So how to test this? Think of the Tcp monitor. You can add a flag to enable the corruption of messages. When it's on, a random length message can be added/inserted/xor randomly at various random point in the Soap/xml message. With this corruption, the Soap engine must deal with this graciously all the time. Test can run to make dummy request milllion of times to make sure that the thing is rock solid. Please note that the random data can be anything valid/invalid characters in Soap, xml. To make sure the library is very good, you can try to disconnect the networks (like disable the network card) while communication, and make sure a gracious handling is used.
Sanjiva Weerawarana wrote:
Can you expand a bit more on what you have in mind? I am pretty sure even Axis/Java doesn't test for this kind of stuff and its certainly used in production widely :-).
Sanjiva.
----- Original Message ----- From: "Vy Ho" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Monday, November 01, 2004 8:57 PM
Subject: Re: Axis C++ 1.3 final is released
Did developers of Axis C++ tested this with corruption of TCP/IP packages? That is to introduce random corruptions into the message at different places, and runs for hours or days? The library should handle this without a problem (not crashing). If this is not tested, then I don't think it's production ready.
axis cpp wrote:
Hi All,
The Apache Axis C++ team would like to announce the
Final release of Axis c++ 1.3.
The binary and source distributions can be downloaded
from
http://ws.apache.org/axis/cpp/download.html
This release includes bug fixes from Axis C++ 1.2 and
the following features.
-A new transport which eleminate most of the
problems encountered in the older transport
-Improvements to wsdl2ws tool
Synchronizing the wsdl2ws tool with the latest Axis
Java
-Support for non-wrapped style code generation for
doclit type Namespace support
-Simpler build and deploying process in Linux
Additional ant build support(For building the
client
library and related only)
-Clear seperation of API and non API header files
-Simple axis server which can be used for easy
server
side testing
-Improved and upto-date documenation
regards, The Axis C++ team
__________________________________
Do you Yahoo!?
Yahoo! Mail Address AutoComplete - You start. We finish.
http://promotions.yahoo.com/new_mail