Exception à venir: java.util.ServiceConfigurationError
Obtenir ci-dessous exception lors de l'exécution de mon application :
Je suis à l'aide de jboss : 5.1.1 et de jdk 1.6.
01:50:04,828 ERROR [[HelloWorld]] Servlet.service() for servlet HelloWorld threw exception
java.util.ServiceConfigurationError: javax.xml.ws.spi.Provider: Provider org.jboss.ws.core.jaxws.spi.ProviderImpl not a subtype
at java.util.ServiceLoader.fail(Unknown Source)
at java.util.ServiceLoader.access$300(Unknown Source)
at java.util.ServiceLoader$LazyIterator.next(Unknown Source)
at java.util.ServiceLoader$1.next(Unknown Source)
at javax.xml.ws.spi.Provider.getProviderUsingServiceLoader(Provider.java:146)
at javax.xml.ws.spi.Provider.provider(Provider.java:106)
at javax.xml.ws.Service.<init>(Service.java:57)
at com.service_instance.ServiceInstance.<init>(ServiceInstance.java:50)
at com.getBusinessApp(CMDB.java:239)
at com.test.HelloWorld.doGet(HelloWorld.java:51)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
Soit m le savoir. Comment faire pour résoudre ce problème. Il semble que certains lib question.
- vous semblez être l'aide d'un sous-type incorrect de
javax.xml.ws.spi.Provider
. Merci de poster le code où vous êtes confrontés à ce problème. - fournir un code peut aider, par exemple, de la BCDM de la ligne 239
Vous devez vous connecter pour publier un commentaire.
J'ai eu le même problème le déploiement d'un USSD passerelle avec Mobicents Jain Slee, qui fonctionne sur un JBoss as 5.1.0 GA. La passerelle pour se connecter à un serveur via SOAP, j'ai donc choisi de JAX-WS et a généré le code source à partir d'un WSDL avec wsimport.
En passant, j'ai utilisé une procédure similaire à cette une pour créer un enfant de projet Maven et de générer les fichiers java pour JAX-WS.
Échec de déployer avec dépendances intégré sur .la guerre de fichier
Ma première approche a été d'inclure toutes les dépendances dans le .la guerre de fichier qui est déployé dans JBoss.
Je pense que cet objectif est atteint par défaut de Maven, et
mvn install
de le faire.Dans le long terme, cette approche a échoué, mais au moins, j'avais besoin de connaître la liste des fichiers jar qui ont été inclus dans l' .la guerre de fichiers, les copier plus tard dans un répertoire JBoss.
J'ai fait beaucoup de résolution des problèmes avec cette approche, et avait de nombreux journaux d'erreurs, mais la principale est celle-ci:
Déployer sans dépendances
Maven tweak
Donc place, j'ai ajouté
<scope>provided</scope>
de JAX-WS dépendances. Quelque chose comme:Ce produit beaucoup plus léger .la guerre de fichier.
Copie & retirer les bocaux dans JBoss as
Maintenant, après le déploiement de l' .la guerre de fichier, lorsque mon client SOAP a essayé de se connecter au Service Web, et avaient envoyé l'exception:
Il semble que
javax.xml.ws.Service
appelsorg.jboss.ws.core.jaxws.spi.ProviderImpl
, mais il devrait appelercom.sun.xml.ws.spi.ProviderImpl
, de sorte qu'il semble y avoir un conflit avec un pot de dépendances.Pour éviter ce problème, il est nécessaire de:
$JBOSS_HOME/lib/endorsed/
répertoire.$JBOSS_HOME/lib/endorsed/
répertoire.tous les pots regroupés dans mon .la guerre de fichier.
Qui fondamentalement fait.
Notes finales
Je dois avouer que pour le savoir était un vraie douleur, et il m'a fallu environ quatre jours pour obtenir cette place & en cours d'exécution.
J'ai fait beaucoup de dépannage avec le pot de dépendances, de la vérification de JBoss journaux, de débogage à distance, en comparant les packages Java & classes versions, à la recherche pour les bocaux en ligne et la lecture de nombreux articles de JBoss des manuels, des blogs, StackOverflow, JavaRanch, etc...
Le client SOAP est vraiment simple, mais les déploiement dans JBoss était assez problématique.
Ma solution n'est pas très orthodoxe, car elle dépend fortement des fichiers jar dépendances.
Donc je ne sais pas si cela fonctionnera pour tout le monde.
Ce qui concerne.