SOAP client library

T

t1t0

Hi all,

there is someone that use a opensource and multiplataform C/C++ library
to implement a SOAP client?

Someone use gsoap or axisc with success ?

Thanks in advance,
t1t0
 
N

Noah Roberts

First, this is not quite on topic here, so you may get better responses
somewhere else.

Nevertheless, we have experimented with gsoap in the past. In principle it
was working, though it was a bit slow (probably this is inherent for SOAP)
and required some twiddling for passing utf-8 and binary data, and the
generated code seemed quite fragile. It also had some licensing issues
IIRC. We have now switched over to other communication protocols (not
necessarily better!) so I cannot comment on the current status.

gSOAP does seem to be the only reasonable alternative for C or C++.
That's unfortunate though because it's really a fragile library that
doesn't seem to me to be very well done. It's got a lot of
documentation, but unfortunately none of it is that good. Which of
the 5 different functions to use for deleting stuff should be used for
different conditions for example is difficult to find. There's no
reference material, only a long tutorial like thing that seems to me
to be rather incomplete.

The code it generates is rather convoluted, or at least for what I've
used it for. This may not be entirely gSOAP's fault since I believe
the people who made the SOAP interface I'm working with did a poor job
as well. For example, the user/pass strings that go in the soap
request are labeled as "optional" and thus gsoap makes them
std::string * members in the structures when you do C++. Speaking of
which, the C++ code it generates is just crappy so you may as well
stick with the C.

Unfortunately, this later bit causes some issues as well since it's
structures are all built differently if you're compiling in C vs. C+
+. This caused me a bunch of troubles, at link time because of
course .c files are compiled as C and anything else I'm doing is in C+
+, including the bits that include files that have the soap structures
defined. Thus some parts of the program end up thinking things like
that there's destructors and vector members in the context while other
parts of the program do not.

This caused me all kinds of problems until I just decided to change
the names of the generated files. It would have been much better if
they'd just written the thing in C, but no...gotta do both.

If there was another option that was still maintained I'd certainly
use it. Unfortunately there's not much.
 
T

t1t0

First, this is not quite on topic here, so you may get better responses
somewhere else.

Thanks for the reply, I'll go ahead trying gsoap.
What's a correct group to post this topic?
 
T

t1t0

There's no
reference material, only a long tutorial like thing that seems to me to
be rather incomplete.

I think too, but it's seem a common problem with a lot of c/c++ library,
isn't ?

However, did you try axisc or others libraries like some of thats http://
www.soapclient.com/SourceCode.html ?
Did you think that gsoap is the 'better' of thats ?
Speaking of
which, the C++ code it generates is just crappy so you may as well stick
with the C.

Do you suggest to generate the code in pure C?

Thanks in advance,
t1t0
 
N

Noah Roberts

I think too, but it's seem a common problem with a lot of c/c++ library,
isn't ?

However, did you try axisc or others libraries like some of thats http://www.soapclient.com/SourceCode.html?
Did you think that gsoap is the 'better' of thats ?

Well, the only one I hadn't tried was SQLData's client library, which
I just tried to get and look at but get 404 error codes every time.
This seems fairly standard for C and C++ soap libraries and the way in
which gSOAP is "better" is that it mostly works and doesn't have a
bunch of broken links in the website and/or tests.
Do you suggest to generate the code in pure C?

Yeah, in my experience the C++ that gsoap generates is worse than the
C. You can make a wrapper to use it in C++ much better that it
generates.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,768
Messages
2,569,574
Members
45,051
Latest member
CarleyMcCr

Latest Threads

Top