Thursday, February 28, 2008

Axis2 – POJO with Inner classes are working now

Axis2 had a inner class processing problem due to annogen , and few months back Dims has fixed that however no one is there to do a release. So I download the annogen code and build a jar file from that and upload into my apache home. So you can try inner class problem with latest Axis2 code and the uploaded jar file.

You can find the fixed version of annogen jar file here

Tuesday, February 19, 2008

SVNKIT as a Java API for version management

These days I am doing some experiments on version handling (for WSO2 Registry) .I knew about SVNKit but I have not done enough coding with that , also I knew that has support for local file system and data bases. I really wanted to try the file system one , so I did some coding and got it working (documentations and samples are very good and very useful). However the problem I have is file system based SVN is not human readable , I thought when I crate some thing like “/foo/bar/txt.txt” there would be some file structure similar to that in the file system , but it was not the case. So now I am wondering whether I can not get what I want from SVNKit.

Thursday, February 14, 2008

Starting Axis2 using WSO2 Registry

If I asked to name a project which I am most like , then the obvious answer would be Apache Axis2. I like Axis2 due to a number of reason , first its flexibility second its extensibility and third a number of features it has.

In the meantime few days ago WSO2 released its registry repository product called WSO2 Registry (Yes I am also a developer of the project). However most interesting thing I wanted to do is to get Axis2 and Registry work together (there a number of ways to do that , will implement them soon) . So I got first integration working let's follow the step then we will be able to start Axis2 using WSO2 registry,

  • First download WSO2 Registry

  • Then deploy wso2registry.war into any given application server (In my case I will use Apache tomcat) and start the application server

  • Then go to http://localhost:8080/wso2registry

  • Login to system given username (admin) and password (admin)

  • Then go to add collection , there create a collection with the name “axis2-repo” , and select Media Type as “application/vnd.apache.axis2”

  • You will see it creates collection called “axis2-repo” and inside that there would be three sub collection called “services” , “modules” and “conf”

  • At the moment let's forget about modules and conf directory

  • Next download services.list and version.aar

  • Now go to directory / axis2-repo/services and upload those two files

Now let's see how we are going to start Axis2 , here we are going to start Axis2 using URL repository. So following are the codes to start Axis2,

ConfigurationContext configctx = ConfigurationContextFactory.createConfigurationContextFromURIs(

null, new URL("http://localhost:8080/wso2registry/resources/axis2-repo/"));

SimpleHTTPServer smt = new SimpleHTTPServer(configctx, 9090);


In the above code we are starting SimpleHTTPServer in port 9090.

Now go to http://localhost:9090/axis2/services/Version/getVersion , there we will be able to invoke the service in REST manner


We were able to start Axis2 with WSO2 Registry !!!

Monday, February 11, 2008

WSO2 Registry 1.0 released !!!

The WSO2 Registry is a hub for managing data in a web-friendly and community-enabled way. It was built with enterprise metadata for SOA in mind, but really it's up to you - the Registry can hold any kind of "stuff" including images, service descriptions, text files, office documents... and every resource you put in the Registry becomes a center for social activity.

Eschewing the complexity (and WS-* focus) of specs like UDDI, our Registry uses the Atom Publishing Protocol (via Apache Abdera) to offer a standard and RESTfully simple remote interface, which can be accessed easily by custom code, feed readers, and even browsers.

The Registry has been designed both to encourage "grass-roots" community around your data and also to allow for IT-friendly governance. A full feature list follows. We hope you'll find many uses for it, and that you'll share them with us as we work to make it even better!

The release can be obtained from:


  • Storing and managing arbitrary resources and collections
  • Tagging, commenting and rating
  • Managing users and roles
  • Authentication and authorization on all resources and actions
  • Resource / collection versioning and rollback
  • Advanced search capabilities - tags, users, etc.
  • Built in media type support for common types (WSDL, XSD)
  • Dependency management - maintain relationships between dependent resources
  • Pluggable media type handlers for handling custom media types
  • Support for processing custom URL patterns via pluggable URL handlers
  • Support for custom query languages via pluggable query processors
  • Activity log and filtering support for the activity logs
  • Atom Publishing Protocol (APP) support for reading/writing the data store remotely
  • Subscribe to directories, comments, tags, etc. with any standard feed reader (Bloglines, Google Reader, etc)
  • Java client for remote access via APP
  • Embedded and WAR deployments
  • Web based user interface with Web 2.0 look and feel

Product Information

Home page

User guide

Reporting Problems

Issues should be reported using the public JIRA available at

Getting in Touch

The WSO2 Registry community can be contacted via mailing lists:

  • For Users:
  • For Developers:
  • For details on subscriptions:
  • Questions can also be raised in this forum:


As an open-source project, we welcome not only feedback, but active collaboration. If you've got ideas for features, comments on things that should work differently, patches, or if you'd simply like to hear what others are doing with the project, please come join us. We look forward to meeting you.

Enjoy the WSO2 Registry!

- WSO2 Registry Team

Thursday, February 07, 2008

How to change the favicon.ico in Webapp

There are many instance where we want to change the default favicon.ico of our web application. I also wanted that and follow the following procedure

  • First need to create favicon.ico , for that we can use

  • copy the favicon.ico into the context root

  • Then we need to add the following two links to our jsp or html file

    <link rel="icon" href="favicon.ico" type="image/x-icon" />
    <link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />

  • Now reload the browser , then you would see your new icon

Wednesday, February 06, 2008

Working with Axis2: Making a Java Class into a Service

I wrote a article (tutorial) on Axis2 POJO , there I have discussed most of the problems that we encounter when writing a POJO application and supported java types in Axis2 POJO and so on. Once you follow this article I hope you may be able to write a very good POJO application and test how it work.


[I should thank publishing the article in very short period of time ( less than two weeks)]