Frank,
Hi again. Just to cover our reasons for using gsoap:
1. It is older software ... fewer bugs. Lower risk
for a production project.
2. We used it for an rpc wsdl, so nothing too fancy
as far as wsdls go.
3. Our legacy C++ software developers and
integration team knows almost
nothing about building C++ code with ant (they
dislike all things java).
4. Axis2 for java was not ready for production so
(at the time) we did not
consider Axis2/c.
On 8/20/07, Samisa Abeysinghe <[EMAIL PROTECTED]>
wrote:
Frank Zhou wrote:
Hi All,
I am trying to build a web service application
in c++,
and now investigate to see if AXIS2/c can
satisfy my
needs. Specifically, I have the following
requirements:
(1) The library supports common web services
standards
like SOAP/HTTP/WSDL et cetera. I will use it to
build
a web service client application (web service
consumer).
Axis2/C can handle SOAP over HTTP. But there are
some TODOs pending in
WSDL space.
(2) It should provides a rich set of APIs for me
to
traverse through a WSDL and make SOAP/HTTP
calls. In
particular, I need a WSDL parser so that I can
parse
a
WSDL (given the WSDL file or the URL)to get the
definitions. I DO NOT NEED TO CONVERT THE WSDL
TO
C++ code, just need to parse a WSDL to get the
definitions, later on I will traverse the
parsed
objects to get the services, operations,
messages
and types (XML schemas) et cetera to build my
only
datastore for a given WSDL. This way I can
dynamically handle different WSDLs in my
application
without generating the c++ code stubs every
time.
As mentioned earlier, there is a piece of code
written in Axis2/C called
woden, that can deal with the WSDL functionality
that you are looking for.
Unfortunately that is not in the main source tree,
because we could not
maintain it - due to lack of contributors in that
space.
At some point, however, someone will again start
looking into that, at
which point you would have WSDL handling features.
(3) The library is in c++ and available for
multi-platforms, like windows, linux and unix et
cetera.
Axis2/C is a C library, that works on Windows,
Solaris, MacOS and Linux.
Please let me know if AXIS2/c is a good choice
to me.
and how it is compared to gSOAP?
I am not in a position to do a formal comparison
on Axis2/C vs. gSOAP.
However, here is an overview:
- Axis2/C comes with Apache license, and gSOAP
comes with GNU license
- Axis2/C is just two years old, gSOAP has
been around for much longer
- Axis2/C is based on Axis2 architecture, an
architecture designed
to cope with extensions and addition of new WS-*
spec implementations.
You would have to refer to gSOAP site on their
architecture
- Axis2/C already have full WS-Security and
WS-RM implementations,
to my knowledge, gSOAP do not have those specs
implemented fully.
(http://www.bloglines.com/blog/samisa?id=57)
- Axis2/C has a comparatively simple
deployment model. You get
Apache2 and IIS modules with Axis2/C. If you are
using apache module to
deploy, it is one off configuration. But if gSOAP,
you have to configure
Apache server for each and every service that you
cant to deploy.
- Axis2/C has the ability to support many other
transports. It
already support HTTP and TCP. WSO2 WSF/C has
implemented an XMPP
transport and one of the GSOC students is
implementing and SMTP
transport. To my knowledge, gSOAP only support
HTTP transport
HTH
Regards,
Samisa...
Thanks very much.
Frank