Looking for a portable SOAP Client C++ Library [closed] - c++

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 8 years ago.
Improve this question
I'am going to have to interact with a SOAP web service, using a C++ application.
I am looking for a library that could help me do that, knowing that there's a few requirement I need to full fill:
It needs to be portable (Windows/Linux)
It needs to be free and open source (but I don't need to sell/distribute my code)
It needs to support asynchronous handling of requests
It needs to be able to support concurrent request to the server, as I will have to manage a pool of requests
It needs to be easy to integrate
As I am not going to have a lot of different type of interactions with the server, I first thought I could just create a nice wrapper around libcurl that will let me connect to the web service. But I was wondering if parsing the reply and serializing SOAP request was not going to be complicated in this case. Using this method, I will be able to manage myself my pool of request, which is a good thing for what I want to do.
So probably I just need a library that makes it easy to parse SOAP request.
The question is, what would you consider doing ? Is there a good SOAP web client library that I could use, or should I do it myself ?

the library that comes to mind to handle SOAP in C++ is gsoap I think it matches your requirements. If I remember correctly some of their tools are not open-sourced if you use them to produce non open-source code. Check the license ...
Great toolkit. Worked very well for me some times ago ...
my2c
EDIT: As said in comment you have tools to generate code from WSDL description. That's those tools that you can not use if you do not want your code to be GPL'ed ^^

Related

Default approach to a http client with c++ [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 3 years ago.
Improve this question
looking at how high level languages, like Java, C# and Python handle http requests as a client, I'm wondering what the default approach is in c++ today.
My requirements are:
HTTP Client for a REST Interface
HTTP over SSL
Support of OAuth2 Client credentials
The OAuth2 support I scratched very fast and accepted, that this needs to implemented.
I found a number of libraries, but most of them appear to be rather outdated and a bit "unprofessional".
So here is a list of what I could find and what my thoughts are about these:
libcurl
While this appears to be the most professional choice. The C API is a bummer and of course the OAuth support does not exist. But this seems to be the optimal choice for me right now.
CPR
A c++ wrapper for libcurl and it appears to be a rather badly maintained library, which is a nono. It appears to have https support, but in the github md it says it hasnt.
curlpp
This project appears to be not maintained anymore.
boost::asio
If I am not mistaken, I have to do everythings myself here. I am trying to get sth. done and don't want to reinvent the wheel.
Qt
While it doesn't look bad, I'm kind of reluctant towards using a UI framework for communication. But maybe I'm mistaken.
cpprestsdk
While looking good for my purpose at first, OAuth2 client credentials are not supported. The whole OAuth2 part is flagged as experimental. And thats the case for a few years now. Seems to be unfinished and badly maintained.
Conclusions
So probably c++ isn't the usual language you do http client stuff in, but this is such a basic thing, that I'm suprised about the libraries that are out there.
Did I miss anything big?
What is the default approach at this? Is there a better "high level" choice. Or is the default approach doing it low level boost::asio style for optimal performance?
I think you skipped most common libraries like crow for a small projects and fast pace development. It's quite limited however provides enough functionality.
The Poco Project which is the most mature library I came across and provides a lot of functionality for mature projects.

Cortana from Win32 [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
This is a rather directionless post I'm afraid an I apologize. I'm trying to figure out how to use Cortana from win32 (non universal) applications. I found this link but I can't tell if there is a way to access these APIs from non-managed code. That sent me on a rabbit trail to find out what this UniversalApiContract stuff is and how to use it form native code but so far I am coming up very empty.
Could someone please provide me with some direction!! What do I even need to search for to begin to learn how to access these APIs natively? Is there some reading on windows runtime that I should undertake?
Thanks in advance and again I apologize for the general questions - not sure where else to turn.
[Expressed displeasure over how many people voted to close the thread without any useful response or suggestions]
Now, on to science.
After spending some time with this it would seem this is not possible. I was able to call the API from Win32 by using the Visual C++ Component Extensions. This allows you to use windows runtime and CLR like concepts but results in purely native code. As a side note, since I wanted to link this with an application that I did not want to recompile with this extension, I did this in a DLL and delay loaded it.
Unfortunately the call to install the voice command definition file failed with a COMException: The process has no package identity. This means I can successfully call the API, however it requires a package identity - in other words, it must be called from a Modern/Store/Universal App context with an application identity.
The only way remaining to me seems to be to use the Cortana background API to interface with a modern app I write in the background, and use it to broker calls from my Win32 app to Cortana through some sort of custom communication. Icky.
I hope this helps save someone else time.

Tools for making web applets [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 8 years ago.
Improve this question
Iv written a program in C++ that takes a set of n points and two double variables as input and output a graph with some special properties. I also wrote some OpenGL codes to visualize this graph. I showed the result to my teacher and he liked it and asked me if I can build an applet so he can put it in his web site so the other students can use it. I almost know nothing about making an applet. What are my options? is it possible to do such thing?
note that the C++ program itself is not simple.
an output of my program looks like this.
You could make your C++ program some specialized web server, using HTTP server libraries like libonion or Wt; you might also use FastCGI (i.e. make your program become a FastCGI server application), or, if your program is quasi-static and produce simple output and if you accept having a crude web interface, perhaps make it use old CGI
Of course you need to learn more about Web technologies (e.g. on w3schools - which is not perfect). You need to learn HTML5 with a bit of HTTP, Javascript (perhaps with JQuery) & Ajax, Html5 Canvas, perhaps WebGL. Google browsers also have Native Client (NaCl).
But all this requires a significant amount of work (weeks or perhaps months; if you do it, please publish your software as free software)
BTW, you might be interested in graphviz ...

Dictionary service free online [closed]

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 11 years ago.
Improve this question
Anyone knows a good FREE dictionary service? I want to consume it through HTTP Get and then parsing simple HTML or Json.
Dictionary.com is free for non commercial purposes. I need something completely free and reliable.
Google used to have a good api but thy have since changed it to a paid service.
Wordnik API might be usefull http://developer.wordnik.com/docs
It requires a registration, but it supports a bunch of cool features, such as word audio, and you can easily find client libraries for that in different programming languages.
The okapi framework offers a set of translation connectors. Take a look:
http://www.opentag.com/okapi/wiki/index.php?title=Connectors
Not sure about the licenses for those services they are using - but some of them might be just what you need. (click on each connector to read about the webservice it is based on)

AMQP C++ implementation [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 1 year ago.
Improve this question
We are writing C++ code which needs messaging. Is there a free/open-source and stable AMQP server available that has equally stable C++ client library with it. We also need to provide Python interface of our code to users (idea is to do maximum stuff in C++ and expose the API in Python).
What can be best way to achieve this.
For future reference, take a look at Apache Qpid - it has a C++ client library and is very good. The problem for your use-case is that Rabbit implements AMQP 0-8 and the Qpid C++ client talks AMQP 0-10.
Apache QPid seems to be relevant here. There's a C++ broker/client library here.
Note that since you're programming to a protocol (AMQP), your broker/client don't have to be in the same language. e.g. I'm using Scala and C# clients talking to RabbitMQ (an Erlang broker).
AMQP C++ wrapper https://github.com/akalend/amqpcpp on librabbit: https://github.com/alanxz/rabbitmq-c
For RabbitMQ, the following library is more feature rich with good documentation:
https://github.com/CopernicaMarketingSoftware/AMQP-CPP
I know this is a bit late, I'm kind of in the same position as the asker.
I'm looking at IceStorm and Apache QPid per answers above.
Currently I have rabbit MQ but it's not so easy to integrate with C++.
I think if you have control over both client and server code, and you don't need AMQP "the standard" and IceStorm does what you need, and you're cool with GPL license (or ready to buy a license from zeroC) .. IceStorm seems to be the most stable and cross-language solution out there.