Here's my summary of what's going on:

1) Using Java2Wsdl to generate wsdl for RPC/encode and then using Wsdl2Java to generate all stubs and skeletons works fine. However, switching this to document/literal does not work. Some API are changed such as Arrays are wrapped in a class, and if I manually wrap it, then it will again wrap the member of the wrapped class (which is the array) again. Some API just does not get generated correctly (such as return a String array becomes a single String). Using gSoap, I have no problem at all, and the code compile without a problem (using the same original wsdl, just change the generated .h file to have doc/literal). This causes alot of code change all over places, and also manual change of the wsdl. I think the right way would be somehow generate the same api so that implementation code would not have to be changed for this to work.

2) The data received from one attachment get sent in the same or another function that has no attachment as an in parameter, also causing stability problem (sometimes it pauses for a long time before timeout).

3) In a successfully call (no exception), a function with 2 in parameters (1 is an array of custom objects, another is a string), the string is always null when received by the server, however the xml data sent by client is correct with all data. (I can provide example code for this). Some functions with complex data structure work fine without any problem.

4) Just in this particular computer, identical code with other computer, using gSoap client to hit the Axis server, single thread, continously, and the server will be out of business after couple thousand calls. Even you quit the server, you can not use the same port (there's a process to kill, after that, it'll work with that same port). This is under Windows XP. This is a very serious problem with Axis, because with this problem it cannot be used in a production environment.
(I can provide example code for this, and also exception generated after it's out).




Reply via email to