Hi,
This solution does not work.
I've done a bit more testing:
- I have integrated Axis2 1.4 : same behaviour.
- I put the aar file in the services directory AND the web service jar in 
the WEB-INF/lib directory, with all Axis2 jars, it works!

So I wonder if the problem is not in Axis2, when it tries to detect the 
class loader to use. For some reason, it provides the class loader of WAR 
application and not the WS class loader.
Does someone have a way to check this?

Pierre





"Martin" <[EMAIL PROTECTED]> 
09/06/2008 19:35
Veuillez répondre à
"Martin" <[EMAIL PROTECTED]>


A
<[EMAIL PROTECTED]>
cc

Objet
Re: RE [Axis2] Crash during Hot Update






Bonjour Pierre

Did you get a chance to read this article about not using PARENT_LAST 
solution for xerces from Barry Searle (IBM Canada)?
1.      Get the currently executing thread contextclassloader and save it, 
as shown below: 
ClassLoader savedClassloader = 
Thread.currentThread().getContextClassloader();
2.      Set the contextclassloader to its own classloader, as shown below:
Thread.currentThread().setContextClassloader( 
this.getClass().getClassLoader() );
3.      Invoke the Xerces parsing operations it needs to use
4.      Restore the contextclassloader, as shown below:
Thread.currentThread().setContextClassloader( savedClassLoader );

http://www.ibm.com/developerworks/websphere/library/techarticles/0310_searle/searle.html
 
Bon Chance
Martin
----- Original Message ----- 
From: [EMAIL PROTECTED] 
To: [email protected] 
Sent: Monday, June 09, 2008 10:58 AM
Subject: RE [Axis2] Crash during Hot Update


Hi, 
I have done more testing: the hot update works succefully on my local 
tomcat server and my local websphere 6.1 instance. 
It crashes only on websphere 6.1 Network Deployment edition on Linux. 
I have correctly set the classloading to PARENT_LAST. 
Another difference between my websphere local instance and deployed 
server: the deployed server is behind a reverse proxy (so I have to set 
httpFrontendHostUrl property) but I don't think this is the root cause. 
So I don't really know where to look at. 

Any help would be really appreciated. 

Pierre 




[EMAIL PROTECTED] 
09/06/2008 15:31 

Veuillez répondre à
[email protected]



A
[email protected] 
cc

Objet
[Axis2] Crash during Hot Update









Hi, 
I encounter an issue with the hot update functionnality. 
I deploy my Axis2 based web application, all the web services are 
deployed. Using Axis2 admin, I upload the same .aar file as the one 
included in the web app and I encounter this error: 
[Timer-8] 2008-06-09 15:25:01,583 INFO  ServiceDeployer.java [deploy] The 
DEVPEC.aar service, which is not valid, caused 
java.lang.ExceptionInInitializerError 
       at java.lang.J9VMInternals.initialize(J9VMInternals.java:214) 
       at java.lang.Class.newInstanceImpl(Native Method) 
       at java.lang.Class.newInstance(Class.java:1300) 
       at 
org.apache.axis2.deployment.DescriptionBuilder.loadMessageReceiver(DescriptionBuilder.java:191)
 

       at 
org.apache.axis2.deployment.DescriptionBuilder.processMessageReceivers(DescriptionBuilder.java:170)
 

       at 
org.apache.axis2.deployment.ServiceBuilder.populateService(ServiceBuilderjava:245)
 

       at 
org.apache.axis2.deployment.ServiceGroupBuilder.populateServiceGroup(ServiceGroupBuilder.java:101)
 

       at 
org.apache.axis2.deployment.repository.util.ArchiveReader.buildServiceGroup(ArchiveReader.java:103)
 

       at 
org.apache.axis2.deployment.repository.util.ArchiveReader.processServiceGroup(ArchiveReader.java:137)
 

       at 
org.apache.axis2.deployment.ServiceDeployer.deploy(ServiceDeployer.java:78) 

       at 
org.apache.axis2.deployment.repository.util.DeploymentFileData.deploy(DeploymentFileData.java:137)
 

       at 
org.apache.axis2.deployment.DeploymentEngine.doDeploy(DeploymentEngine.java:571)
 

       at 
org.apache.axis2.deployment.repository.util.WSInfoList.update(WSInfoList.java:141)
 

       at 
org.apache.axis2.deployment.RepositoryListener.update(RepositoryListener.java:318)
 

       at 
org.apache.axis2.deployment.RepositoryListener.checkServices(RepositoryListener.java:220)
 

       at 
org.apache.axis2.deployment.RepositoryListener.startListener(RepositoryListener.java:312)
 

       at 
org.apache.axis2.deployment.scheduler.SchedulerTask.checkRepository(SchedulerTask.java:64)
 

       at 
org.apache.axis2.deployment.scheduler.SchedulerTask.run(SchedulerTask.java:71) 

       at 
org.apache.axis2.deployment.scheduler.Scheduler$SchedulerTimerTask.run(Scheduler.java:83)
 

       at java.util.TimerThread.mainLoop(Timer.java:527) 
       at java.util.TimerThread.run(Timer.java:477) 
Caused by: java.lang.IllegalStateException 
       at 
org.eclipse.osgi.framework.internal.protocol.MultiplexingURLStreamHandlertoExternalForm(MultiplexingURLStreamHandler.java:220)
 

       at java.net.URL.toExternalForm(URL.java:933) 
       at java.net.URL.toString(URL.java:919) 
       at java.lang.String.valueOf(String.java:1505) 
       at java.lang.StringBuilder.append(StringBuilder.java:194) 
       at javax.xml.bind.ContextFinder.find(ContextFinder.java:365) 
       at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:574) 
       at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:522) 
       at 
com.almerys.cleyris.ws.devpec.v01_05_04.fsa.DEVPECServiceMessageReceiverInOut.<clinit>(DEVPECServiceMessageReceiverInOut.java:33)
 

       at java.lang.J9VMInternals.initializeImpl(Native Method) 
       at java.lang.J9VMInternals.initialize(J9VMInternals.java:192) 
       ... 20 more 

The WS uses JAXB2 databinding and crashes on this line: 

jc = javax.xml.bind.JAXBContext.newInstance(Cancel.class); 

I'm currently using Axis2 v 1.3. 

Thanks in advance for you help, 

Pierre 

Reply via email to