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

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 :) )

Axis2/C, custom errors

In this post I discussed about using custom errors in Axis2/C [link]. In order to define custom errors , used error block that is reserved for user needs. The usage demonstrated using modified echo server sample. If you think if you need more clarifications or see any point to improve, feel free to let me know.

Thursday, January 17, 2008

Security What You're Looking for??

Confidentiality and integrity of massages are very important when you do serious business on line. WS-Security comes for your help at this point. The WS_Security specification describes enhancements to SOAP messaging to provide quality of protection through message integrity, message confidentiality, and single message authentication.

How do you use these security mechanisms in your WSF/C web service/client?? Using Rampart/C is your answer. 

Rampart/C is the security module of the Apache Axis2/C engine, which uses OMXMLSecurity as the XML-Security library. This comes as the integrated security module for WSO2 WSF/C. You can simply enable security in your web service with WSO2 Web Services Framework for C( WSF/C).

Here, you can find nice articles on Rampart/C.

Wednesday, January 9, 2008

WSF/C developer and user resources

Here I posted about some resources for Axis2/C and WSF/C, developers and users. Any one can use those resource to get best use from WSF/C. In that post , I mainly focused on Axis2/C , and any one who interested in other components of WSF/C have some important information there too.

Monday, January 7, 2008

WSF/C Interoperability - CHECKED

WSO2 WSF/C was successfully tested with Microsoft WCF /.NET framework web services in Microsoft Web Services Interop plugfest, last November. The session was very successful for WSF/C. Most of the WS-* scenarios were tested. WS-Addressing, WS-Security, attachments with mtom, Secure attachments with mtom and WS-RM are the major areas that were tested.

Sunday, January 6, 2008

Embedding WSF/C

WSO2 Web services framework for C has been integrated to three software systems as of now.

First the PHP extension, with WSO2 WSF/PHP.

Then with WSO2 WSF/Perl, the Perl Web services extension.

And the latest is WSO2 WSF/Ruby, the Ruby Web services extension that also works with Rails framework.

This means that WSO2 WSF/C has been integrated and embedded enough times to prove that it is portable and can be plugged in.

Anyone who uses any of the above frameworks happen to use WSF/C and in turn Apache Axis2/C, the open source Web services engine. It must be also mentioned that WSO2 WSF/C as well as all the other scripting frameworks built on that are also open source with the Apache 2.0 license.

Friday, January 4, 2008

Lazy to ask question on mailing list ??

If you get WSF/C or Axis2/C related questions and you are too lazy to post it on a mailing list. We have our WSF/C forum ready to keep you up. Keep posting !


WSF/C and WSDL

If you are a WSF/C user , you might wonder about the possibility of displaying WSDL for a particular service. Although we are far behind to generate WSDL dynamically , one can have static WSDL and display with "?" sign. All you have to do is have an entry in services.xml file and need to give full path to WSDL file.

<parameter name="wsdl_path" locked="xsd:false">/home/dinesh/echo.wsdl
< /parameter>

Then start the server and request WSDL file as follows.

http://localhost:9090/axis2/services/echo?wsdl

Mother of all Web Services Frameworks

WSO2 Web Services Framework for C is the mother project of all the Web services frameworks like WSF/PHP, WSF/Perl and WSF/Ruby. They all come with Apache license.

WSO2 WSF/C in turn is based on Apache Axis2/C and the related family of projects.

So the power of the Apache open source model is driving them all. Thanks to all those developers who contributed code and fixes and those users who tested and reported bugs, we have a very strong Web services stack. Not only the C language but also many scripting languages has been made SOA ready, thanks to these valuable contributions.

Check out the Latest!

If you have not already done, check out the latest 1.2.0 release of WSO2 Web services framework.

As always, many bugs have been fixed, thanks to the base project Apache Axis2/C