JavierL wrote:

Rashmi Rubdi-2 wrote:
Javier,

I don't know much about Webservices and Axis in particular, but at one
time I did download the Axis distribution.

In the lib folder of the Axis distribution there are a few JAR files
axis.jar, wsdl4j-1.5.1.jar etc.

Normally, when I write multiple projects that use JAR files from
different applications like say for example JSTL, Saxon etc, I just
copy the JAR files into the relevant project's lib folder.

With the limited knowledge on Axis I have, I don't think you need the
entire Axis WAR file to enable webservices in other projects, you'll
only need the JAR files.

You could also check with the Axis User Mailing List for alternatives
ways to configure multiple projects to use web services.




Rashmi

Thanks for your reply.

To clarify concepts.

Axis is a webapp that offer webservices. Each application that want to offer
himself as a webservice should make a deployment inside the axis webapp.
What it means ? It means that you should place your application jar file
inside axis/WEB-INF/lib folder and all the jar your webservices application
depende on, too and the deployment axis utils will generate a descriptor
that axis will read at start up to know wich webservices applications its
serving.

So, if I have my app called xxxx, user will access them calling the url
http://myserver.com/axis/services/xxxx and if other person has another app
called zzzz could access it calling http://myserver.com/axis/services/zzzz.

As you can see, a webservices application is not an independent module
inside Apache Tomcat. It is just a jar inside a webapp container called axis
and depends on it to work. Axis is the webapp that offer the access to
webservices application and webservices application can't work alone or be
deployed outside the axis war.

Actually, I disagree. I have deployed the Axis and support jars in a shared classloader (shared/lib for TC5.5) and then deployed a .war for each webapp.

In your case you could do:

/app1/axis/services/xxxx
/app2/axis/services/xxxx

So, if your axis webapp is used for a lot of people with many different
webservices applications you will have a caos of jars in axis/WEB-INF/lib.

Nevertheless, the problem could not be solved at axis user list. Why ?
Because is not an axis problem !! Axis is a webapp that respect the way
servlet containers as Tomcat works. The way jar are deployed inside WEB-INF
is not an Axis idea, it's an specification of servlet containers.

You're both correct. There's no technical problem with Axis, but Rashmi is right in that you may find suggestions and assistance on the Axis mailing list - which may help improve your deployment methodology and avoid this type of problem.

This would avoid you having to try and subvert the Tomcat classloader(s).


rgds

p


So, forget about axis and everything else, my question is: I have a war
application, could I place some jar files inside different folders inside
WEB-INF/lib ? Can Tomcat classloader load those classes ?

Thanks in advance

J






Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Reply via email to