views:

71

answers:

4

Does anyone know of any really good C++ Libraries for implementing a web services api over top of existing legacy code?

I've got two portions that are in need of it:

  • An old-school client/server api (No, not web based, that's the problem)
  • An old cgi application that it integrates with the client and server.

Let me know if you've had any luck in the past implementing something like this using the library.

+1  A: 

You can use the Apache AXIS/C interface to build a web services interface. It has plugins for Apache and IIS (and I think FastCGI), and lets you talk web services to your legacy code.

Chris Kaminski
+2  A: 

Microsoft has put out native code webservices API (WWSAPI) that looks pretty decent. I haven't had a chance to use it yet. We had originally ignored it, since it required Windows 7 or Server 2008, but they've finally released a runtime library for older OSs.

I would advise staying away from Microsoft's old SOAP SDK. For one, it's been deprecated; two, it's not terribly easy to distribute; and three, it's terrible to code for compared to the .NET offerings.

What we've done is written a bit of C++\CLI to interface our existing C++ codebase with .NETs webservice framework. This turned out to be remarkably easy. .NET will generate all the classes and boilerplate code you need based of of a WSDL file. Then you just write some C++\CLI code to handle the incoming data as managed classes and fill in some managed classes as responses.

Eclipse
A: 

I hear poco is good.

http://pocoproject.org/

Martin York
+1  A: 

I used gSOAP in a project and it was quite straightforward. Compared to Axis/C, I found it easier to learn and use. I never used POCO, can't give you an opinion, but it's gaining popularity recently. This is the link for gSOAP

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

Fabio Ceconello