2010-11-05 23 views
0

Je déploie un ensemble de services Web AMF basés sur Java sur GlassFish v3. Tout cela fonctionne très bien dans l'environnement de développement, mais échoue dans l'environnement de transfert où il est actuellement en cours d'installation:Exception d'initialisation de proxy Java SOAP

Dev: Profil Web GlassFish 3.0.1, Java JDK 1.6.0u22. Mise en scène: GlassFish 3.0, Java JDK 1.6.0u22. Je réalise que la version et l'édition de GlassFish sont différentes, et j'ai demandé qu'il soit mis à jour pour correspondre à l'environnement de développement. Parce que j'ai du mal à imaginer que ce soit la cause du problème, j'ai pensé que je demanderais si quelqu'un avait des idées.

Le service AMF basé sur Java interagit avec un service SOAP basé sur .NET. Le service Java a des proxies générés à partir du service SOAP en utilisant wsimport. L'erreur se produit lors de la tentative d'initialisation du proxy SOAP autant que je peux dire.

La trace de la pile est la suivante:

org.granite.messaging.service.ServiceException: Could not initialize class com.sun.xml.internal.ws.spi.ProviderImpl 
at org.granite.messaging.service.AbstractServiceExceptionHandler.getServiceException(AbstractServiceExceptionHandler.java:42) 
at org.granite.messaging.service.DefaultServiceExceptionHandler.handle(DefaultServiceExceptionHandler.java:33) 
at org.granite.messaging.service.ServiceInvoker.invoke(ServiceInvoker.java:121) 
at org.granite.messaging.amf.process.AMF3RemotingMessageProcessor.process(AMF3RemotingMessageProcessor.java:56) 
at org.granite.messaging.amf.process.AMF0MessageProcessor.process(AMF0MessageProcessor.java:79) 
at org.granite.messaging.webapp.AMFMessageServlet.doPost(AMFMessageServlet.java:62) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:754) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) 
at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1523) 
[..cut..] 
Caused by: java.lang.NoClassDefFoundError: Could not initialize class com.sun.xml.internal.ws.spi.ProviderImpl 
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) 
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) 
at java.lang.reflect.Constructor.newInstance(Constructor.java:513) 
at java.lang.Class.newInstance0(Class.java:355) 
at java.lang.Class.newInstance(Class.java:308) 
at javax.xml.ws.spi.FactoryFinder.newInstance(FactoryFinder.java:31) 
at javax.xml.ws.spi.FactoryFinder.find(FactoryFinder.java:128) 
at javax.xml.ws.spi.Provider.provider(Provider.java:83) 
at javax.xml.ws.Service.<init>(Service.java:56) 
[..cut..] 

Toutes les idées?

Répondre

1

La solution consistait à installer le serveur GlassFish au lieu du profil Web GlassFish Server. Malgré l'environnement de développement en cours d'installation avec Web Profile, il contenait des restes du fichier GlassFish complet (en particulier les fichiers jar JAXB et JAXWS) qui y étaient récupérés.

L'environnement de transfert était propre et seul Web Profile était installé et a donc échoué en raison des dépendances manquantes.