I just started using Axis and am quite pleased with it so far. I've written a WebService in .NET and used Axis to generate Java Class files to consume it. Everything works really great until I tried to have a JMS MessageBean make the SOAP call. I'm running Sun's J2EE RI and am getting the following message:
java.security.AccessControlException: access denied (java.lang.RuntimePermission getClassLoader)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:267)
at java.security.AccessController.checkPermission(AccessController.java:394)
... [SNIPPING A BUNCH OF THE STACK TRACE] ...
at org.apache.axis.client.Service.getEngineConfiguration(Service.java:731)
at org.apache.axis.client.Service.getAxisClient(Service.java:140)
at org.apache.axis.client.Service.<init>(Service.java:149)
at cieslak.ws.client.ClearinghouseServiceLocator.<init>(ClearinghouseServiceLocator.java:10)
... [ETC STACK TRACE] ...
at cieslak.ejb.consumers.NewOrderConsumer.onMessage(NewOrderConsumer.java:60)
at com.sun.ejb.containers.MessageBeanContainer.onMessage(MessageBeanContainer.java:653)
Where ws.client.ClearinghouseServiceLocator is the WSDL2Java generated code and NewOrderConsumer is the MessageBean.
I've found a lot through Google about making EJBs accessible as WebServices, just not a lot about EJBs consuming a WebService.
I've tried the following: 1. (Self) Signing the axis jar files (axis.jar, commons-discovery.jar, commons-logging.jar, saaj.jar and jaxrpc.jar) 2. Altering j2ee/j2sdk1.3.1/lib/security/client.policy and server.policy to include lines like: grant codeBase "file:/usr/local/axis-1_1RC1/lib/axis.jar" { permission java.security.AllPermission; }; For each of the jars listed in #1
Thanks in advance. -Dan Cieslak
_________________________________________________________________
MSN 8 helps eliminate e-mail viruses. Get 2 months FREE*. http://join.msn.com/?page=features/virus