Axis2/C Static Deployment Engine

One of my duties at Aspera is developing the SOAP-based web services that are offered as part of our SDK. To that end, I’ve recently been rewriting our services in order to utilize Axis2/C, which, in my opinion, is one of the best architected open source SOAP stacks.

Like most SOAP frameworks, Axis2/C makes heavy use of dynamic libraries and XML configuration files, which need to be maintained properly on disk. Server-side, this does not pose a problem. However, when deploying client applications to a potentially large user base, ensuring that everything is configured properly can cause support headaches.

In an effort to solve that problem, I’ve developed a static deployment engine for Axis2/C. This engine allows all services, modules, and configuration to be compiled directly into a binary. Today, an initial revision of that code was released as open source.

I’m hopeful that the community is interested in this code, and that it will be accepted into the Axis2/C project, where it can be properly maintained going forward. The current incarnation was developed against the 0.95 release, and there are known issues when attempting to build against the trunk of the repository.

I started a couple of threads on the developer mailing list to discuss the effort. In the first, sent yesterday, I announced my work and submitted a minor patch to fix a build issue on Windows. I followed that up today, with a description of an issue I encountered when attempting to bring my modifications in line with the latest revision.

That issue prompted me to release the code, even though it is in an incomplete state. Doing so allows other contributors to the project a chance to review the code, hopefully increasing the probability of its adoption by the project.

I encourage any interested developers to take a look at the code. It is distributed under the same license as Axis2/C, the Apache License, Version 2.0. Feedback is appreciated, and questions can be directed my way.

Source Distribution: axis2-static-deploy.tar.gz


February 17, 2007 at 12:03 AM

great work.this will be a help for my work

February 18, 2007 at 7:08 PM

Nice work. Continue your good work. This will be help full for Axis2/C community. Please involve in Axis2/C project and contribute your good work to it.

Lonna Hanson
February 23, 2007 at 8:55 AM

I finally got a chance to read this entry. It sounds intriguing. Keep up your outstanding work.

November 28, 2007 at 7:51 AM

Sounds like great work! I’m actually in a similar situation and wanted to take a look at the source code you provide; however, it appears that I need a username/password to download the source code.

Also, from the discussion that I found online it looks like the AXIS2_STATIC_DEPLOY preprocessor made it into the Axis2/C 1.1 release for the http-sender and tcp-sender. Is this all that is required to get the static deployment working or was the work not completed? There seems little to no documentation on the matter on the Axis2/C website. Also, any type of example you have on this subject would be very helpful :)

Any further comments or documents that you may have and are willing to share with the community would be greatly appreciated!

Greg Kirkendall
March 16, 2008 at 10:00 PM


Sounds like the Axis2/C developers are in agreement with your approach (They mention you by name). Take a look at this link:

Apologies if you are already in the loop. I am in need of a static library as well and started looking at the mail lists to see if anyone was working on it.

Please let me know if I can help.

Post a comment