I am deploying the latest Axis2 built from source to BEA 8.1 sp3 on
Windows XP. I had success using Axis2 when deployed as a stand-alone
war, but when I deploy it within an ear in it's archived format (not
exploded) I get the following error. I also get the same error on 0.91.

####<Sep 21, 2005 2:58:35 PM CDT> <Error> <HTTP> <wplwyoungb> <m603>
<ExecuteThread: '14' for queue: 'weblogic.kernel.Default'> <<WLS
Kernel>> <> <BEA-101017>
<[ServletContext(id=15670774,name=axis2,context-path=/axis2)] Root cause
of ServletException.
org.apache.axis2.deployment.DeploymentException: Axis2 repository can
not be null; nested exception is: 
        org.apache.axis2.deployment.DeploymentException: Axis2
repository can not be null
        at
org.apache.axis2.context.ConfigurationContextFactory.buildConfigurationC
ontext(ConfigurationContextFactory.java:73)
        at
org.apache.axis2.transport.http.AxisServlet.init(AxisServlet.java:62)
...
Caused by: org.apache.axis2.deployment.DeploymentException: Axis2
repository can not be null
        at
org.apache.axis2.deployment.DeploymentEngine.<init>(DeploymentEngine.jav
a:142)
        at
org.apache.axis2.deployment.DeploymentEngine.<init>(DeploymentEngine.jav
a:136)
        at
org.apache.axis2.context.ConfigurationContextFactory.buildConfigurationC
ontext(ConfigurationContextFactory.java:39)

I tracked this down to the repository name being null when the following
call is made in AxisServlet.

  String repoDir = context.getRealPath("/WEB-INF");

This of course is due to the deployment in an archive, not exploded on
the filesystem. It is valid according to the spec for BEA to return null
here. Valid, but not friendly. Unfortunately, we can't use exploded ears
at customer sites. My quick fix right now is to use the java.io.tmpdir
instead if repoDir is null.

  if (repoDir == null) repoDir = System.getProperty("java.io.tmpdir");

I made the same mod to upload.jsp and I can at least work in Axis2
again. I am going to work on getting the services included in the war to
be available. Right now, I have to upload and there is the chance my
file will get deleted on restart.

I'd like to see something like this added to Axis2. I can submit a diff
if there is interest. Or we can discuss alternate solutions. Like
breaking out the storage of the services into a pluggable component.

Great piece of software by the way.

Thanks.

Wayne
[EMAIL PROTECTED]

Reply via email to