Title: Packaging WSDL in an ear file

Hi,

My J2EE application is both an Axis client and an Axis Server. Since Axis.jar is quite large (~ 1MB), I would like to package it only once in my ear file. So, instead of putting it in my web-app, I am packaging it at the top level of my ear file where it is shared by the webapp and the ejb client. Here's the ear structure:

    MyApp.ear
        axis.jar
        my-axis-ejb-client.jar
        my-axis-web-app.war

This works fine for the most part, the client and the server are both functioning well. The only problem is where to place my WSDL (yes I need to use my own WSDL). I have setup my server-config.wsdd with the following wsdl specification:

    <wsdlFile>/myservice.wsdl</wsdlFile>

Unfortunately, with the ear packaging shown above, the classloader is looking for myservice.wsdl inside axis.jar - at its top level! I have verified this by placing the wsdl inside axis.jar. Is there a way to force axis to look for the wsdl elsewhere, preferably somewhere in my war? Even at the top level of my ear would be fine.

I see that axis uses "this.getClass().getResourceAsStream(filename)" to get at the WSDL. Since axis.jar is at the ear root, the classloader wants to look inside this jar!

Thanks.
Naresh

Reply via email to