Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Using JAX-WS 2.2.5 client with JDK/JRE 1.5

Java 6 shipped with JAX-WS 2.0. Java 5 didn't ship with JAX-WS as far as I know.

I was able to use JAX-WS 2.2.5 with Java 1.6 for creating Webservice client stubs by using the Java Endorsed Override Mechansim which lists JAX-WS as one of the components which can be replaced in Java 6.

All I had to do was create a lib\endorsed directory in my JDK & JRE 6 paths & then copy jaxb-api.jar & jaxws-api.jar from JAX-WS 2.2.5 into the directory named endorsed. And both JDK & JRE 6 picked up the 2.2.5 JAX-WS automatically.

I could not find similar Java Endorsed Override Mechanism in the Java 5 documents. How I found one here. This doesn't explicty mention JAX-WS like the Java 6 documents, but it also mentions the endorsed dirs.

I created a similar 'endorsed' directory in both the JDK & JRE lib directory. I copied all the jars from JAX-WS 2.2.5 (a total of 23 jars) into the endorsed directory. However, unlike Java 6, neither javac.exe nor java.exe picked this up directly. I had to run both java.exe and javac.exe with this command line argument

-Djava.endorsed.dirs=<JDK/JRE1.5_DIR>\lib\endorsed

Everything seems to work fine, but I am wondering if this is guaranteed to work - any problems anyone has faced before? Does JAX-WS 2.2.5 support Java 5?

like image 846
user93353 Avatar asked Nov 28 '14 05:11

user93353


2 Answers

In one banking application (I developed) endorsement works since 2005 with Java 1.4.

System property 'java.endorsed.dirs' was introduced in Java 1.4, so you can use it with Java 5 - it is guarantied to work.

For example see this docs or this one.

Edit

And yes, JAX-WS 2.2.5 is compatible with JDK/JRE 1.5, see Required Software section in official release notes. Actually this was the last version of JAX-WS compatible with Java 5.

like image 78
ursa Avatar answered Oct 12 '22 09:10

ursa


None of the JAX-WS (JAXB) classes are included in Java SE 5, so you don't need to use the endorsed mechanism, you can just put it on your classpath. See the following link for Jar dependencies:

  • https://jax-ws.java.net/nonav/2.2.5/docs/ReleaseNotes.html#Jar_dependency

UPDATE

But does JAX-WS 2.2.5 support Java 5?

Yes it does, the following is taken from this link: https://jax-ws.java.net/nonav/2.2.5/docs/ReleaseNotes.html#Required_Software

Requires JDK 5.0 Update 2 or later

    -
like image 45
bdoughan Avatar answered Oct 12 '22 08:10

bdoughan