axis-c-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alexei Dets <>
Subject Re: Is Axis(C++) stable and mature
Date Fri, 01 Oct 2004 16:02:41 GMT
On Friday 01 October 2004 05:56, John Hawkins wrote:
> I would like to disagree with that....
> We have four major projects that are using the code as is - we still need
> to make a few additions  - however, they are happy with the results so far.
> Yes, the project needs to include more function - but this will happen. If
> you have specific requirements then please shout and we will do our best to
> accomodate.

Axis C++ is not even nearly of production quality at least because of:
1) Very active development that causes nearly everyday API and behaviour 
changes, new bugs and bugfixes etc. - unfortunately Axis C++ has no stable 
version at all (see below).
2) Latest "stable" 1.2 is UNUSABLE for everything except simple demos: 
transport layer is _completely_ broken and is usually unable to exchange SOAP 
messages bigger than ~2K. 
3) Axis C++ currently is a mess of C & C++ code. In particular this leads to 
memory allocation/deallocation problems (AFAIK Axis C++ has tons of memory 
leaks). Also this complicates C++ coding a lot because instead of strings and 
vectors users are forced to deal with plain C data types.
4) Axis C++ doesn't support ref/href/multiRef that are recommended  for SOAP 
messages and are _default_ at least in Axis Java (that seems to be one of the 
most popular SOAP implementations). This means that interoperability sucks, 
there is a very good chance that you'll not be able to communicate with 
another side.
5) Axis C++ has problems in the SOAP faults processing.
6) Axis C++ has nearly NO documentation. And what it has is partially 
7) Fortunately, Axis C++ developers perfectly understand the main problems of 
the current Axis C++ API & design. Unfortunately, to solve them major rewrite 
is planned that will in turn require user application changes. Probably major 

In the other words - if you are ready to actively _develop_ Axis C++ then may 
be you can use it for some projects. But prepare that this means that your 
project will not become stable until Axis C++ become stable. So, if you 
project release date is somewhere around 2006 (or later) you can probably 
start with Axis C++ now but not otherwise. Axis C++ is very promising but it 
is not mature yet, it is growing and changing.

As for me, what I want to see in Axis C++:
1) Redesign Axis, implement native C++ API in the whole project. This means 
ONLY new/delete for memory allocations, NO char* etc. C++ (STL) data types 
instead - string, vector etc.
2) Get rid of memory leaks. Probably switching to C++ will help a lot in this. 
Document memory management model in Axis - who, when & how should allocate 
and deallocate memory.
3) Interoperability, more functions, better standards compatibility. 
ref/href/multiRef as the first priority. Also there are some other 
interoperability issues.
4) _Stable_ release with 1,2 & 3.



View raw message