2010-10-08 14 views
6

Dans mon application Web, je contacte un service Web (en utilisant JAX-WS) mais je reçois l'erreur suivante:IllegalArgumentException: com.sun.xml.internal.messaging.saaj.soap.LocalStrings! = Com.sun.xml.messaging.saaj.soap.LocalStrings

java.lang.ExceptionInInitializerError 
    at com.sun.xml.ws.message.AttachmentUnmarshallerImpl.<clinit>(AttachmentUnmarshallerImpl.java:55) 
    at com.sun.xml.ws.client.sei.ResponseBuilder$DocLit.readResponse(ResponseBuilder.java:500) 
    at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:242) 
    at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:210) 
    at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:103) 
     ... 
Caused by: java.lang.IllegalArgumentException: com.sun.xml.internal.messaging.saaj.soap.LocalStrings != com.sun.xml.messaging.saaj.soap.LocalStrings 
    at java.util.logging.Logger.getLogger(Logger.java:314) 
    at com.sun.xml.messaging.saaj.soap.AttachmentPartImpl.<clinit>(AttachmentPartImpl.java:71) 
    ... 189 more 

cela arrive sur ma machine, quand je lance mon application dans Eclipse ...

Quelle peut être la source de cette erreur?

je soupçonnais ce Oracle Java bug, mais je me présente mon application web dans Tomcat 5.5 et Java 1.6.0_18, comme indiqué dans mon System.properties:

java.runtime.name = Java(TM) SE Runtime Environment 
sun.boot.library.path = C:\Program Files\Java\jdk1.6.0_18\jre\bin 
java.vm.version = 16.0-b13 
java.runtime.version = 1.6.0_18-b07 
java.version = 1.6.0_18 
+0

Le bug auquel vous faites référence est détecté en 1.6.0_4 et n'est pas encore corrigé. Pourquoi ne vous attendez-vous pas à ce qu'il soit présent dans votre environnement? – jarnbjo

+1

@jarnbjo Tout simplement parce que ce problème ne s'est produit que dans * mon * environnement, et pas dans d'autres environnements (Développement, Homologation, etc.). Cela était dû à un problème dans mon fichier 'saaj-impl-1.3.jar'. – romaintaz

Répondre

6

Problème résolu. Cela était dû à une dépendance d'un tiers, saaj-impl-1.3.jar qui était légèrement différente dans mon environnement que dans les autres environnements "officiels" ...

+0

hey, comment l'avez-vous réparé? J'ai le même problème – ashishjmeshram

+1

@Ashish essaie de changer la version de votre bibliothèque 'saaj-impl'. Ou au moins, regardez dans votre fichier JAR si vous avez des fichiers META-INF/services/javax.xml.soap. – romaintaz

+0

Bonjour. Merci pour la réponse. Oui, le problème ci-dessus est résolu maintenant. En passant, je ne suis pas capable d'exécuter Metro 2.1 dans weblogic. Quand j'exécute le service web, j'utilise jax-ws de weblogic au lieu du metro 2.1. S'il vous plaît aider. – ashishjmeshram

1

Je n'utilisais pas saaj-impl ... mais dans mon cas, mettre le webservices-api.jar (version 2.0 de Metro) dans/lib/endorsed a fonctionné.

Juste au cas où cela aiderait quelqu'un ...