Hi,

After looking at ways to embed Axis into my application that does not run in the context of a web application server & servlet I came up with the following solution. Ultimately I wanted to be able to control Axis programmatically but my solution is an acceptable compromise and is quite simple to put in place.

To put things in context, my application is a kind of (multi-threaded) transaction router that processes, transform and communicate messages with the outside world. My need was first to provide SOAP as an inbound protocol to my application to receive arbitrary XML messages (message service style) and then to expose some other functions (RPC services style).

Basically the idea is to run Axis in the same JVM as my application. For that I integrated Jetty in embedded mode which I control programmatically. I then added Axis as a web application for Jetty, the standard way.

Since Axis and my application are running in the save JVM, my inbound message SOAP service class can simply use my application API queuing/messaging classes to forward the inbound SOAP documents to my application. Same for my RPC style services, they just call my application API as needed.

I just thought I'd share my idea and hope it might be useful to others.

Colin.





Reply via email to