views:

1627

answers:

6

What are the alternatives for SOAP development in C++? Which one do you prefer and is most supported/modern?

A: 

I had to make SOAP calls for a project a while ago and the only acceptable solution I found was GSOAP.

http://www.cs.fsu.edu/~engelen/soap.html

It supports both C and C++ code, although working with C++ is nicer and easier to understand. It worked ok although there was an incompatibility with our WCF web service which meant we had to manually edit the automagically generated source code.

JamieH
A: 

I stumbled on gsoap awhile ago, but I wasn't a huge fan of it's interface and code generator. And as I remember it, the documentation is significantly lacking (or at least in a very difficult format)

Sometime in the near future, though, this library may be adding sockets support. At least, I suggested it to the developer some time ago and he seemed to think it was the idea, and a few months later an XML parser showed up in the API. I'm a big fan of that library, and would definitely use it more if it wasn't GPL.

Sean Edwards
A: 

Have a look at protocols :
http://code.google.com/p/protobuf/

Performance is very good.

lsalamon
A: 

If you are working on Windows, why dont you use MS SOAP? MSSOAP

Naveen
Because it's no longer supported.
Eclipse
Indeed, this library seems to be a dead end.
Dimitri C.
A: 

SmartWin++ have a side-project called SmartSOAP which is pretty neat I think, it features a pretty complete stack starting from SocketStream, working it's way up to HttpRequest/Response objects. Features a small (to the job) XML DOM class abstraction and goes up to SOAP. It even comes with a WSDL parser to create proxy classes for you. It heavily uses templates and STL. And is pretty awesome C++. Works on WindowsMobile...

Though it isn't extremely rich, doesn't feature stuff like SSL and such. But since the code is pure art I would guess it could easily be understood and extended upon yourself...

License is New BSD...

Disclaimer; I implemented it...

Thomas Hansen
+4  A: 

Check out Apache Axis. That is my all times favorite SOAP implementation. It's SOAP done right! Exists for C++ and Java.
http://ws.apache.org/axis/
And in best traditions of Apache Foundation, it is FREE and OPENSOURCE.
So, enjoy!

Ma99uS
Does Axis support asynchronous queries?
Sean Edwards
I would also point you towards Axis2/C - which is the C version of the Axis2 architecture, which is way more flexible than Axis1 - see http://ws.apache.org/axis2/c/
ajborley