Wednesday, January 30, 2008

Getting WSO2 registry to generate valid ATOM feed

WSO2 registry has APP support , so any operation that we can do with UI can do with APP as well. In addition to that there is something called RemoteRegistry , where we can point to a registry and do operations using any kind of Java application , there the communicate taking place using APP. To support APP WSO2 registry uses Apache Abdera an APP implementation (I would say that is cool and easy to work with).

I thought that by default Abdera generate valid feed , but when I do a validation though W3C atom validator I found that we had a number of issues with the generated feed. Then I realized that it is our job to populate Abdara correctly , so I fixed all the issue and was able to generate valid atom feed from WSO2 Registry.

Tuesday, January 29, 2008

Apache Synapse ESB 1.1.1 released

Apache Synapse is an lightweight and easy-to-use Open Source
Enterprise Service Bus (ESB) available under the Apache Software License
v2.0. Apache Synapse allows administrators to simply and easily configure
message routing, intermediation, transformation and logging. The runtime
has been designed to be completely asynchronous, non-blocking and streaming.
This is the first release since Apache Synapse became a Top Level Project
(TLP) of the Apache Software Foundation.

The Apache Synapse project and the 1.1.1 release can be found here:

Apache Synapse offers connectivity and integration with a range of
legacy systems, XML-based services and SOAP Web Services. It supports
non-blocking HTTP and HTTPS using the Apache HTTPCore (
components, as well as supporting JMS (v1.0 and higher) and a range of
file systems and FTP sources including SFTP, FTP, File, ZIP/JAR/TAR/GZ
via the Apache VFS project (
Synapse supports transformation and routing between protocols without any
coding via configurable virtual services.

The 1.1.1 release contains a set of enhancements based on feedback from
the user community, including:
* Clustered deployment support
- Clustered support for the Cache and Throttle capabilities
- The ability to pin services or tasks to specific server instances
* Maintenance mode for the HTTP and HTTPS transports:
- this allows the administrator to pause the transport, so that new
work is not accepted but existing requests are correctly processed.
* JMX monitoring support
* New Callout mediator enables simple message flows to implement the
callout integration pattern
* Performance and stability improvements to the JMS and VFS transports
* Better support for pure XML and REST patterns
* Support for creating POJO-based mediators using annotations

The combination of XML streaming and asynchronous support for HTTP and HTTPS
using Java NIO ensures that Synapse has very high scalability under load.
Performance tests show that Synapse can scale to support thousands of
concurrent connections on standard server hardware.

Apache Synapse ships with over 50 samples
designed to demonstrate common integration patterns "out-of-the-box",
along with supporting sample services, and service clients that
demonstrate these scenarios. Apache Synapse is configured using a
straightforward XML configuration syntax

Apache Synapse is openly developed by a community that welcomes all
forms of input, ranging from suggestions and bug reports to patches and
code contributions. Your comments and feedback on the project and release
are welcomed.

The Apache Synapse code and binaries are available from the website

Monday, January 28, 2008

WSO2 Mashup Server 1.0 Released

The WSO2 Mashup Server is a powerful yet simple and quick way to tailor
Web-based information to the personal needs of individuals and
It has been released under the Apache Software License 2.0.

This release can be downloaded from

WSO2 Mashup Server 1.0 - Release Note - 28th January 2008
"Create, deploy, and consume Web services Mashups in the simplest fashion"

The WSO2 Mashup Server is a powerful yet simple and quick way to tailor
Web-based information to the personal needs of individuals and
It is a platform for acquiring data from a variety of sources including Web
Services, HTML pages and feeds, and process and combine it with other data
using JavaScript with E4X XML extensions. The result is then exposed as
a new
Web service with rich metadata and artifacts to simplify the creation of
user interfaces.

The WSO2 Mashup Server will form the backbone of a become an ecosystem of
community-developed services that will broaden the palette of capabilities
for mashups and distributed applications.

WSO2 Mashup Server is released under the Apache License v2.0

Check out the project home page at for
additional information.

Features List
* Hosting of mashup services written using JavaScript with E4X XML extension
- Simple file based deployment model
* JavaScript annotations to configure the deployed services
* Auto generation of metadata and runtime resources for the deployed mashups
- JavaScript stubs that simplify client access to the mashup service
- TryIt functionality to invoke the mashup service through a web browser
- WSDL 1.1/WSDL 2.0/XSD documents to describe the mashup service
- API documentation
* Ability to bundle a custom user interface for the mashups
* Many useful Javascript Host objects that can be used when writing mashups
- WSRequest: invoke Web services from the mashup services
- File: File storage/manipulation functionality
- System: Set of system specific utility functions
- Session: Ability to share objects across different service invocations
- Scraper: Extract data from HTML pages and present in XML format
- APPClient: Atom Publishing Protocol client to retrieve/publish Atom
feeds with APP servers
- Feed: A generic set of host objects to transparently read and
create Atom
and RSS feeds
* Support for recurring and longer-running tasks
* Management console to easily manage the mashups
* Simple sharing of deployed mashups with other WSO2 Mashup Servers
* Mashup sharing community portal ( to share and host

New In This Release
* Email Host object
* IM Host object
* Revamped management interface based on WSO2 Registry
- Web 2.0 look and feel
- Improved multi-user and community support
- Improved user management support for administrators
- Email-verified self-registration
- Comments, tags, ratings
- Sophisticated search capabilities to locate and group mashups
- RSS and Atom feeds for any query
- Recent activity queries
* Improved tooling
- Scraper assistant
- JavaScript Stub Genarator
* Improved REST support via httpMethod and httpLocation annotations
* Infocard login support
* Improved sharing and downloading of mashups based on user accounts
* Special _private folder to store private data for each mashup
* Windows installer and management tray icon.

Known Issues
* Management Console was tested only on IE 6/7 & Firefox 1.5/2.0.
* Inter-service dependencies using the dynamically generated stubs may give
deployment time errors. Workaround would be to save a local copy of the
in to the dependent service.
* JSON support lacks try-it support
* Mashup editor will convert < and > characters to <> while
saving the code in the
server. This might result in malformed xml. Using these special
characters with caution is adviced.

Future Directions
* Improved tooling support.
* An expanded toolkit of generic building-block services.
* Improved access control.
* Samples and tools to use mashups in even more places like portals and
* Lots more cool stuff.

Thursday, January 24, 2008

WSO2 Open source SOA framework released –WSAS 2.2

WSO2 Web Services Application Server (WSAS) 2.2 is the enterprise ready Web services engine powered by Apache Axis2. WSAS is a Java runtime for hosting services & runs
standalone or in conjunction with Apache Tomcat, IBM WebSphere, BEA
WebLogic, JBossAS and any other servlet container. WSAS makes it easy to
develop, deploy and manage services using a graphical management console.

WSAS is an open source product released under the Apache Software
License 2.0

The core features of WSAS include;

* Axis1 backward compatibility - Expose legacy Axis 1.x Web services
as Axis2 Web services & engage Axis2's WS-* protocols such as
WS-Security & WSRM in front of legacy services.
* Simple approach to provide WS-SecurityPolicy based Rampart
configuration with graphical tools
, using a set of most common
security scenarios.
* Data services support - Easily expose data stored in an enterprise data source via a Web service API
* EJB service provider support - Easily expose EJBs as Web services using a GUI Wizard
* WSAS IDE - Eclipse IDE plugin supporting code-first and
contract-first development
* Clustering support - for High Availability & High Scalability
* Full support for WS-Security, WS-Trust, WS-Policy and WS-Secure
Conversation and XKMS
* JMX & Web interface based monitoring and management
* WS-* & REST support
* GUIs for popular Axis2 tools such as wsdl2java[1] & java2wsdl[2]
* GUI Tool for trying out any Web service[3]
* GUI tool for converting WSDL 1.1 to 2.0 documents[4]
* GUI based services.xml[5] & module.xml[6] validator

New Features In This Release
* Improved Data Services support including New & improved UI, and database connection pooling
* WS-Security 1.1 support
* Improved clustering support
* Improved JSR-181 & JAXWS support
* JMX based monitoring
* Graceful shutdown & restart of the server
Serve all pending requests before shutting down or restarting the server
* Improvements to the Management Console
* Various bug fixes to Apache Axis2, Apache Rampart & WSAS

You can try a live version of WSAS 2.2 (no download needed) here:
(Any services you deploy will be removed within an hour.)

For more details, see the WSAS release note.

Data Services - Bringing Enterprise Data to Web
* Service enable data locked in enterprise data sources in no time
* Zero code. Simple descriptor file describes the data to service mapping
* Controlled access to your data
* Customizable XML output
* Benefit from REST & WS-* support
* Built-in Connection pooling support
* Supports exposing Stored procedures & functions
* Built-in caching
* Throttling - to ensure your database is never overloaded.
* Easy configuration via graphical console
* Test your services via Try-it tool

Useful Links

Download WSAS -
How to do various stuff with WSAS -

Contribute to WSAS
User list:
Dev list:

WSO2 Inc. offers a variety of professional Training Programs, including
training on general Web services as well as WSO2 WSAS, Apache Axis2, Data Services
and a number of other products.
For additional support information please refer to

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
For more information on WSO2 WSAS, visit the WSO2 Oxygen Tank (

1. wsdl2code -
2. WSDL View -
3. Try it -
4. WSDL Converter -
5. Services Validator -
6. Module Validator -

Thursday, January 17, 2008

Sending Basic authentication using URL (Java)

When I was doing WSO2 Registry , I wanted to find a way to send basic authentication using just URL , but I search the good however did not find a way to do that so , I tried several ways and finally got that working following code;

URL url = new URL(“location address”);
URLConnection uc = url.openConnection();
String authorizationString = “Basic “ + Base64.encode(username:password);
uc.setRequestProperty ("Authorization", authorizationString);
InputStream in = url.openStream();

Sunday, January 13, 2008

Axis2 online training

WSO2 will be conducting online training for Axis2 , this make your job easier , so that you do not need to travel any where you can use your computer and participate for a very interactive training. WSO2 will conducting training for every month , and the very first online Axis2 training will be on 23rd of January , and the registration for that training is now open.