Friday, October 30, 2009

WSF/C++ Code generation Tool

WSF/C++ comes with the build in code generation tool which allows you to generate Client Stubs and Service Skeletons in C++ by pointing to a WSDL.

If you downloaded the windows binary zip file, you will get the code generation tool binary jar files. If you download the source distribution, you will have to build the tool before using it.

1. Building from the source.  On Linux.

In the outermost directory of the source distribution, the build script for building the codegen tool is available. It is named build_codegen.sh.

First you need to build and install wsf/cpp to a preferred location. .you would need to download and install maven2. Then specify the directory where you have build and installed the wsf/cpp.

Example,

I have installed the wsfcpp to the location /home/nandika/wsfcpp.  directory.

$ sh build_codegen.sh /home/nandika/wsfcpp.

This would build and copy the jar files and codegen scripts to the directory /home/nandika/wsfcpp/bin/codegen/ directory.

2. Building from the source, on Windows

On windows, again, you need to have installed mavan2. First edit the configure.in file and run the build.bat file located in the outermost directory of the source distribution in order to build and make the binary dist.

Next run the build_codegen.bat file to build the code generation tool jar files from the source.  Next run the copy_codegen.bat file to copy the code generation tool and its scripts to the bin directory of the binary distribution. It will be located in the directory bin\tools\codegen directory.

3. Codegen tool Options

Code Generation tools provides you will multiple options. 

Some of the most common options are

1. –uri –> Specify the uri to the wsdl

2. –d    -> Data binding option ( This can be either adb or none )

3. –u   -> Unpack classes option

4. –0   -> Specify the output directory

5. –uw –> Unwrapped mode ( allows you to generate simple parameters for operations instead of data binding classes )

6 –ss    -> Generate Service Code

7. –sd  -> Generate Service deployment descriptors and build files ( services.xml and build.sh )

An example code generation command.

wsdl2cpp.sh –uri calculator.wsdl –d adb –u –uw –o calculator

This command instruct the codegen script to use the calculator.wsdl file located in the same directory and generate client side code ( default ) with adb data binding and use the unwrapped mode. It will output the generated source code to the calculator directory.

Sunday, October 18, 2009

WSO2 WSF/C++ 2.1.0 Released

We are pleased to announce the release of WSO2 Web Services Framework for C++ 2.1.0 release.  With this 2.1 release comes some very useful usability enhancements in addition to many improvements to the framework.

Now the code generator tool is able to generate visual studio project files for the generated code. In addition, we have released an eclipse plug-in wizard alone with this release, which provides a comprehensive GUI interface to the code generator tool. This will allow the users who are working within eclipse IDE to generate code without having to leave the IDE.

We have done some work to improve the performance of the WSF/C framework within this period of time. In addition, the many shortcomings  in the code generation tool has been addressed from the previous release.New samples were added. Also some platform specific issues have been addressed in this release which allowed WSF/C++ to be complied in both MacOS as well as Solaris without having to do any changes.

You can download the 2.1 release from here.  Also download the Eclipse Codegen Wizard Plugin if your prefer to work in eclipse.

Here is the complete release note.

WSO2 Web Services Framework for C++ (WSO2 WSF/C++) 2.1.0 Released

=================================================================

WSO2 WSF/C++ team is pleased to announce the release of WSO2 WSF/C++ 2.1.0.

You can download this release from: http://wso2.org/downloads/wsf/cpp

WSO2 Web Services Framework for C++ (WSO2 WSF/C++) is a standards compliant, enterprise

grade, open source, C++ library for providing and consuming Web services in C++, based on the popular,

WSO2 WSF/C library.

Project home page:

http://wso2.org/projects/wsf/cpp

-------------

Key Features

=============

1. Client API to consume Web services

      * ServiceClient class with one-way and two-way service invocation support

        for SOAP 1.1, and SOAP 1.2.

      * Options class to facilitate configuring the client for both SOAP and REST options.

2. Service API to provide Web Services

      * ServiceSkeleton class to extend from to implement services.

2. Attachments with MTOM

      * Binary optimized

      * Non-optimized (Base64 binary)

      * Attachment Caching Support

3. WS-Addressing

      * Version 1.0

      * Submission

4. WSPolicy

5. WS-Security

      * Username Token

      * Timestamp Token

      *  Signing

      *  Encryption

      * WS-SecurityPolicy based configuration 

      * Reply detection

      * WS-Trust

      * WS-Secure Conversation  

6. Code generation Tool

      * By providing a wsdl and options, generate client stubs and service skeletons

        in C++ using the code generation tool.

      * A Code generation Eclipse plugin is also available with this release. The code generation tool

has been integrated into an eclipse plugin wizard which allows a user to conveniently

utilise the code generation tool while working within eclipse.

7. SSL enabled transport layer

8. WS-Reliable Messaging

9. Has all the capabilities available from WSF/C library.

--------------------------------

Major Changes Since Last Release

================================

1. Eclipse plugin for code generation tool added.

2. Visual Studio project file generation is added to the code generation tool.

3. Documentation Improved.

4. Many bugs fixed in the code generation tool.

5. Many memory leak fixes.

6. More samples have been added.

7. The Service API has been enhanced to allow users to extend from the generated skeleton classes.

-------------------

Known Issues

-------------------

There could be memory leaks in some scenarios.

-------------------

Reporting Problems

===================

Issues can be reported using the public JIRA available at:

https://wso2.org/jira/browse/WSFCPP

-----------

Contact Us

===========

Mailing Lists

-------------

Please subscribe to our user or developer mailing lists. For details on how

to subscribe please visit: http://wso2.org/mail

Discussion Forums

-----------------

Questions could be raised using the WSF/C++ forum.

http://wso2.org/forum/352

Training

========

WSO2 Inc. offers a variety of professional Training Programs which includes training on WSF/C++.

For additional information please refer to http://wso2.com/training/

Support

========

WSO2 Inc. offers a variety of development and production support programs, ranging from Web-based

support up through normal business hours, to premium 24x7 phone support.

For additional support information please refer to http://wso2.com/services/support/

We welcome your early feedback on this implementation.

Thank you for your interest in WSO2 WSF/C++.

-- WSO2 WSF/C++ Team --

Monday, October 12, 2009

SOA Workshop

us-soa-workshop-banner

Here is an opportunity to get hands on experience on implementing SOA. You can find more details here. http://ww2.wso2.org/~nandika/soa-workshop.pdf. and of course visit http://wso2.com to register.