How to find out xmlrpc interface of any webservice? - web-services

How to find out xmlrpc interface of any webservice? For example in case of SOAP webservices you can just have a look at WSDL and findout the interface. In particular I am looking for interface of xmlrpc implemented using xmlrpclib in python. I have souce code of server available, which file should I look for?

There is no way to do this. XML/RPC is not self-describing.

Related

How to implement Restful Webservice using C++

Are there any helpful c++ libraries which can support me, implementing a simple REST webservice?
I am not searching for a bloated webservice framework like c++ REST SDK, or something like that. I already have a HTTP server running which can handle HTTP calls. (especially the HTTP server from the poco libraries).
I guess it should be not too hard to implement a Restful webservice interface around that.
But my question is, do i have to implement it on my own (how would you implement it?) or can I still make use of some libraries? So I am searchin for a library that can actually help me processing rest requests.
kind regards

CMUSphinx for web application

I'm trying to create an speech reconigtion based web. Afer some searching, i found that cmusphinx is a library quite good for speech reconigtion application. And my problem is how can communicate between cmusphinx and web ?
Sorry if this is a silly question.
Thanks for all your help !
In general, you need a web framework to marshal web requests to the Java or C code, then you just need to implement required speech-to-text methods with CMUSphinx API.
Here is the JAX-RS tutorial:
http://docs.oracle.com/javaee/6/tutorial/doc/giepu.html
There are also more lightweight web service framework, for example Sinatra for Ruby.
You can also study existing implementations of web service using CMUSphinx, for example
https://github.com/alumae/ruby-pocketsphinx-server
Read more about it here.

Access Exchange Mails using EWS without C# code?

Is there a way I can access the Exchange Mails/Calendars/Addressbook without .NET or non cross platform thing? I want to access them with C++ but on both MS and Linux. Their docs says it is possible but there is no any non C#/.Net example.
EWS combines the functionality that is included in WebDAV and CDOEX, and provides logic that makes common scenarios such as calendaring workflows easy to implement. EWS is a SOAP-based XML Web service that can be accessed remotely from any operating system and any language that can send requests over HTTPS.
Please share with me if there is any way or I'm missing something!
Thanks!
I agree that there are few examples outside the C# / Powershell realm. That being said, if you stick to plain EWS, it should be possible. I have no idea the WebServce access from C++ is anything similar to C#. In C# you point Visual Studio (or wsdl.exe) to the WSDL of the WebService and it will create a set of proxy classes which do all the SOAP handling.
If you don't have something similar with C++ you'll need to build the SOAP requests yourself.
See http://msdn.microsoft.com/en-us/library/bb204119(v=exchg.140).aspx for a reference to the EWS operations and XML elements.
One thing you might want to utilize is the EWS Managed API. It has a nice tracing feature which dumps all the requests/responses to the console. So, you can write up a small test program and see what the request has to look like. This could help you building the EWS requests on the C++ side.

How to connect a C++ COM To a WCF Service

I'm looking to a way to connect a COM+ legacy application to a WCF Service, i have been researching this since a couple of days and i haven been lucky to find any useful information, can anyone point me into the right direction on this?
I Need the old COM+ component to make calls to a new C# WCF Service so I Need some kind of proxy in the COM Component that abstracts the communication with the Service.
Thanks in advance, i really appreciate any help.
I assume you mean that you have a WCF service, and that the code that runs your WCF service needs to make calls to your legacy application and send that data in/out of the WCF service, correct? If that's the case, then the WCF facet of your question is actually irrelevant.
What you're trying to solve is how to get your .NET application to speak COM to your legacy application.
Check out: Introduction to COM Interop and COM Interop Tutorials.
You'll need to generate type libraries for your COM component, reference them and System.Runtime.InteropServices in your C# project, and then you can make your calls across into COM boundaries of your legacy application code. There are a lot of other examples and tutorials out there if you search for COM Interop Tutorial, for example.
EDIT:
I thought more about your problem. You need to implement a proxy by creating a server that "looks" just like your old server (all the same COM+ interfaces etc etc), and then forwards the request (by crafting a new request) to your WCF service. You can do this in C#. I whiteboarded (archive) the basic idea around it from your original whiteboard.
The WCF service moniker can auto-generate a COM proxy for your WCF service. Your C++ code can call this proxy directly without the need for you to write any C# proxy code or explicit COM interop code.
Look at http://msdn.microsoft.com/en-us/library/ms729739(VS.85).aspx for details.
I particularly recommend this feature primarily because I owned the feature at Microsoft.

What is a good platform for devoloping web services in C++?

We're looking at developing a Web Service to function as a basis for a browser display/gui for a networked security prototype written in C++. My experience with web services has been limited to Java. I prefer Web Services in Java because it's on the "beaten path".
One sure was to do this would be to simply code a Java client which invokes the web service, and call it as a command line with parameters from the C++ code.
It's not ideal, since generally speaking an API is preferable, but in this case it would work and be a pretty safe solution.
A resource which does handles web service development in C++ is called gSOAP, at this url: http://gsoap2.sourceforge.net
Any thought on which is a better approach? Has anyone used gSOAP, and if so, what did you think?
I'd done things with gSOAP, it's not awful. I'm increasingly opposed to the RPC model for web services, though; it forces you into a lot of connection and session state that adds complexity. A REST interface is simpler and more robust.
To me is Axis C++.
For RPC style, have a look at Thrift,
I found it quite better ( faster, clearer, a lot of languages implementations) than soap.
My colleague ended up using a combination of Axis2 / java (for the service) and gsoap for the client. He created the wsdl from the Java service by generating it from a C++ header (using c2wsdl (?) or something like that. He said it was better than using a Java interface because that generated two sets of wsdl, for seperate versions of soap.
Then he used wsdl2java to generate the webservice and a test web client. Once we got that working, he used gsoap to create the web client (in C++), and it worked fine.
thanks for all the answers! I ended using a combination of them.
I had very good experience with gsoap - very simple, performance is good.
If it is acceptable to run only on Windows, there is a brand-new API for that purpose: WWSAPI
Instead of calling the java client from the command line, you can create a java virtual machine inside your C app, instantiate the class and call any methods. This is what the java.exe app does and I think the source code is included in the jdk.
Depends on how low level you want to go. You might checkout yield.