Sunday, January 07, 2007

AXIS Revisited on OC4j - AXIS 2

Apache Axis2 is the core engine for Web services. It is a complete re-design and re-write of the widely used Apache Axis SOAP stack to build on the lessons learnt from Apache Axis. Version 1.1 was released in Nov'06. My first simple test was to update my deployment on Oracle OC4J.
Happily, it deployed just as easily as the original Axis, as I reported in a previous post.

Deployment of the Axis2 webapp is a little different, but just as straightforward. This is what I did:
  1. Download the Standard Binary Distribution and explode into a local folder
  2. In the $AXIS2_HOME/webapp directory, use ant to build the war file: ant create.war
  3. This creates the $AXIS2_HOME/dist/axis2.war file
  4. edit $ORACLE_HOME/j2ee/home/config/application.xml to add <web-module id="axis2" path="file:/d:/axis2/dist/axis2.war"/>
  5. edit $ORACLE_HOME/j2ee/home/config/http-web-site.xml to add <web-app application="default" name="axis2" root="/axis2"/>

And that's it. Axis2 up and running in my OC4J home at http://localhost/axis2/

9 comments:

Kianoosh said...

it should say .../j2ee/home/config/... in steps 4 and 5.

Paul said...

You are quite right Kianoosh. I've updated the post accordingly. Thanks!

Stuart Tarzan Man said...

Great info Paul - thanks for the headstart.

Two small suggestions to the steps listed
4) the id must be axis2 to conform with the name used in step 5.
5) the file "http-web-site.xml" may be the file "default-web-site.xml" in other installations (I'm running Oracle AS 10.1.3.1)

Paul said...

Hi Stuart. Thanks for picking up the axis2 typo. btw, I had problems with OraclAS 11g preview and axis2. Haven't got to the bottom of these yet. If anyone has been there/done that already, please do let me know!

David said...

Hi Paul,

I was wondering if you have made any headway on configuring axis with 11g yet. I could use the advise.

thanks!
dave

Paul said...

Sorry David, I never went back to figure this out for 11g. Will update the post if I do. Let me know if you get it going, yes?

David said...

If I make any headway I certainly will let you know. Happy New Year

David said...

Hi Paul,

I managed to get axis running on 11.2g. I still can get it to run on 11.1.0.6.0.

The trick for me was the following:

exec dbms_java.grant_permission('YOURSCHEMANAME', 'SYS:java.lang.RuntimePermission', 'createClassLoader', '' );
exec dbms_java.grant_permission('YOURSCHEMANAME', 'SYS:java.lang.RuntimePermission', 'getClassLoader', '' );
exec dbms_java.grant_permission('YOURSCHEMANAME', 'SYS:java.util.PropertyPermission', 'java.protocol.handler.pkgs', 'write' );
exec dbms_java.grant_permission('YOURSCHEMANAME', 'SYS:java.net.SocketPermission', '*', 'connect,resolve' );
commit;


You have to be sure to run a commit. Then use runloadjava

Hope this helps
dave

Paul said...

thanks for posting the update David