tags:

views:

42

answers:

4

If it sounds like a ridiculous idea then it is. The client only wants to have to install one project on their server. Our web service will be bridging between mobile phones and various SOAP services made in .NET, Apache Axis 1 and 2, which rely on standards to transfer files such as MTOM and DIME.

I am looking for an 'architecture' trick, such as develop the Axis 1 calls in a separate project and compile as a jar, to then pass it into the Axis 2 project.... Hmmm.

Anything rather than having to download the source code for Axis 1 & 2 and compile them using the same xml libraries, etc.

"It can't be done" is an acceptable answer.

Thanks!

A: 

It can't be done, I tried it once. The two depend on different versions of the same jars.

Nathan Hughes
The wsdl4j.jar, I think: http://markmail.org/message/ksjchdwemvysoyf6#query:+page:1+mid:5i7vc6vtyeqbmcsu+state:results
ian_scho
A: 

Try JarJar

The idea it uses is to create a new jar with package names shifted by a prefix. You can bundle the part of your own code in the jar whose byte code will be modified to use new package name. The rest of the your app will keep using old package name -- that is the old jar on the classpath

Edit: I didn't remember that they have different package names. In that case you don't need to do anything special to use them together.

Tahir Akhtar
+1  A: 

Axis1 and Axis2 libraries live in different packages - can't you just put them both in the project and use them?

They have a migration guide here that covers some of the differences:

http://ws.apache.org/axis2/1_2/migration.html

Scobal
It's the dependencies that I'm worried about, I should update my question. Thanks.
ian_scho
A: 

I was going to suggest that we deploy two WAR files into one EAR file, example. It's two projects that will eventually be installed of course but waving one file in front of the manager would amuse me as they'd probably swallow it. However, this comment suggests that I can't even do that and would need two EAR files anyway... -1

ian_scho
lol, I can't vote down my own answer.
ian_scho