Web Services in C, REST, SOAP and WS-*

Thursday, March 20, 2008

Apache Axis2/C 1.3.0 Released

Apache Axis2/C 1.3.0 Released on 3th of March 2008. My blog entry on Axis2/C 1.3.0 release.

Introduction to Axis2/C service client API

Introductory level article explaining usage and important options of Apache Axis2/C service client API. Please find here [link] and let me know your comments.

Monday, March 3, 2008

Developer Guide needed about Axis2/C internals

I think it is time to have a sound developer guide for Axis2/C web services stack as there are increasing number of developers all over the world contributing to the project. While I was writing Sandesha2/C module for Axis2/C I found it very difficult to cope with the Axis2/C engine internals when it comes to memory handling and scope management. For example you need to have a through understanding about life time and scopes of axis2_msg_ctx, axis2_op_ctx etc. It is good if someone explains about deployment model about timeouts, about good to know functions, how to reuse service client in your client application, about http_transport_info struct etc. etc. I will start working on a article explaining these as time permits.

Reliable Messaging with Sandesha2/C

The reliable messaging implementation for Axis2/C web services stack is called Sandesha2/C. The architecture is same as the corresponding Sandesha2 implementation for Axis2/Java stack. This fits into the Axis2/C stack as a module plugin. I have been working on this for more than a year now and the existing functionlity is interoperable with the Sandesha2/Java and the Microsoft Indigo.
Currently Sandesha2/C is integrated into the WSF/PHP stack of WSO2.
These days I am writing some articles for WSO2 Oxygen tank about Sandesha2/C and WSF/PHP Sandesha2 integration work.

Monday, February 25, 2008

Amazon web services client using wsclient

See my blog about amazoneclient which I am working on these days,

http://damithakumarage.wordpress.com/2008/02/22/amazon-web-services-client-using-wsclient/

Now the work on linux platform is almost finished except the --help option which is going to be quite exhastive. I will upload this work by the end of this week. After that, plan port this to Windows platform.

Tuesday, February 12, 2008

Soap Action and Addressing Action

Here I have reproduced some excerpts from the specifications to understand the Soap Action and Web Services Addressing Action.

For a good understanding of how Axis2/C addressing work read
WS-Addressing in Action

Friday, January 18, 2008

CURL with SOAP

curl is a software designed to deal with HTTP protocol. When it comes to REST, we could send request quite easily with curl. However , although it is not straight forward you could use curl for sending SOAP messages too. This method could not used for day to day use, but it is very useful when it come to testing. If you need to test a service, it is more or less the same request send to server. First you need to get soap request into a file (say echo.xml) and then send it to the service URI.
curl -d @echo.xml -H "Content-Type: application/soap+xml;charset=UTF-8 " 
http://localhost:9090/axis2/services/echo

An advantage with this method is , you could deal with HTTP related things very easily. Say if you need to send additional HTTP header with soap request, you could do it with "-H" option.
curl -d @echo.xml -H "Content-Type: application/soap+xml;charset=UTF-8" -H "User-Agent:Apache Axis2/C"
http://localhost:9090/axis2/services/echo
and will be able to do modifications to SOAP payload quite easily. (Need to edit echo.xml file only :) )