I have inherited a JBoss 5.0.0 GA server on which I am to deploy some new web services.
The service have been developed and tested in Eclipse Helios and following remarks at JBoss 5.1GA-JDK6 and Web Services, I verified I had properly populated $JBOSS_HOME/lib/endorsed and verified jboss-native-core.jar was in $JBOSS_HOME/server/default/deployers/jbossws.deployer. I then added jboss-native-saaj.jar above the JRE in the Classpath tab of both my virtual servers (Glassfish 3 and JBoss 5). It worked great! Error disappeared.
Now I am faced with the task of configuring two remote servers: test and production to support the same solution. I checked with our 'infrastructure' guy but he told me a prior vendor had set up the server and he had does not know how to help me. I am principally a developer with little knowledge of server management / configuration. Ergo this question.
How do I configure the remote servers to load jboss-native-saaj.jar before they load the JRE System Library at start up?
Or export the Runtime configuration from my Eclipse server instance to a remote server?
Thanks in advance.
Still have not been able to figure out how the Eclipse startup of JBoss 5 and the cmd run.bat differ.
Did it both ways, capture the console output and compared the top 125 or so lines ... they are identical, yet somehow when I launch in Eclipse suspect the contents of bootstrap.xml (or the feed documents in bootstrap dir) have been varied.
In Eclipse my Run Configuration Classpath tab looks like this:
.... force jbossws.-native.saaj.jar above JRE System Library produces a working web service response to my test web service client.
What I don't know how to do is to enforce this same sequence to occur on a remote server that doesn't have Eclipse installed (not a option).
Review of our server config:
JBoss 5.0.0 GA, jbossws-native-bin-dist 3.0.4 SP1, JAVA: jdk1.6.0_29
Developing web services in Eclipse Helios SR2 Java EE IDE for Web Developers
We have known for a while that the issue has been a conflict between one or more included processes in the Java Runtime Environment (JRE, using jre embedded in jdk1.6.0_29) and the resource stack in JBoss Application Server (JBoss 5.0.0 GA)
All the advise we had found, been given and tested assumed the changes were to be made in/on JBoss.
My colleague here, approached it differently and looked to the JRE as the source of conflict. All said and done we simply augmented the JRE but copying the server's lib\endorsed folder into the Java JRE [ copy %JBOSS_HOME%\lib\endorsed into %JAVA_HOME%\jre\lib resulting in an augmented JRE with the new resources structure of %JAVA_HOME%\jre\lib\endorsed.
Contents of endorsed folder:
jbossws-native-saaj.jar, jbossws-native-jaxws-ext.jar, jbossws-native-jaxws.jar, jbossws-native-jaxrpc.jar, activation.jar, jaxb-api.jar, resolver.jar, serializer.jar, stax-api.jar, xalan.jar and xercesImpl.jar .
There are people in the world who simply accept a solution (pragmatists) and people who get a solution THEN question, 'Why did that work?' (theoreticians). I fall into the latter class.
The flaw in my thinking was rather simple really. I have worked with JAVA for over a decade and a half and in all that time the JAVA resources, in this case the jdk (java development kit) has never betrayed me or failed to do what I expected it to do. Over the same years though I have had my share of struggles with several types of web servers (IIS, WebLogic, WebSphere, Tomcat, Glassfish ... etc). In the final analysis I was blinded by my faith in JAVA versus my skepticism of web servers.
The key to the solution was that my colleague is new to JAVA and did not share my blind spot.
Lesson learned? There are no sacred cows! .... just cattle to be herded.