Bonjour à tous,

J'utilise l'outil d'intégration continu Hudson. Dans cet outil, j'ai un projet de test à base de Junit et de selenium qui s'exécute à chaque build de mon projet java. Mon problème se situe lors du lancement des tests Junits une exception est soulevée. Voici la trace complète :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
java.lang.ExceptionInInitializerError
	at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
	at java.lang.Class.newInstance0(Class.java:350)
	at java.lang.Class.newInstance(Class.java:303)
	at javax.xml.ws.spi.FactoryFinder.newInstance(FactoryFinder.java:36)
	at javax.xml.ws.spi.FactoryFinder.find(FactoryFinder.java:95)
	at javax.xml.ws.spi.Provider.provider(Provider.java:83)
	at javax.xml.ws.Service.<init>(Service.java:56)
	at com.experian.payline.ws.impl.DirectPaymentAPI_Service.<init>(Unknown Source)
	at com.experian.payline.tests.utils.UtilTest.getDirectAPI(Unknown Source)
	at com.experian.payline.tests.utils.UtilTransaction.doAuthorization(Unknown Source)
	at com.experian.payline.tests.utils.UtilTransaction.doAuthorization(Unknown Source)
	at com.experian.payline.tests.TestRun.test2(Unknown Source)
Caused by: javax.xml.ws.WebServiceException: Error creating JAXBContext for W3CEndpointReference. 
	at com.sun.xml.ws.spi.ProviderImpl$2.run(ProviderImpl.java:222)
	at com.sun.xml.ws.spi.ProviderImpl$2.run(ProviderImpl.java:218)
	at java.security.AccessController.doPrivileged(Native Method)
	at com.sun.xml.ws.spi.ProviderImpl.getEPRJaxbContext(ProviderImpl.java:217)
	at com.sun.xml.ws.spi.ProviderImpl.<clinit>(ProviderImpl.java:88)
Caused by: com.sun.xml.bind.v2.runtime.IllegalAnnotationsException: 2 counts of IllegalAnnotationExceptions
Two classes have the same XML type name "address". Use @XmlType.name and @XmlType.namespace to assign different names to them.
	this problem is related to the following location:
		at com.sun.xml.ws.developer.MemberSubmissionEndpointReference$Address
		at public com.sun.xml.ws.developer.MemberSubmissionEndpointReference$Address com.sun.xml.ws.developer.MemberSubmissionEndpointReference.addr
		at com.sun.xml.ws.developer.MemberSubmissionEndpointReference
	this problem is related to the following location:
		at javax.xml.ws.wsaddressing.W3CEndpointReference$Address
		at private javax.xml.ws.wsaddressing.W3CEndpointReference$Address javax.xml.ws.wsaddressing.W3CEndpointReference.address
		at javax.xml.ws.wsaddressing.W3CEndpointReference
Two classes have the same XML type name "elements". Use @XmlType.name and @XmlType.namespace to assign different names to them.
	this problem is related to the following location:
		at com.sun.xml.ws.developer.MemberSubmissionEndpointReference$Elements
		at public com.sun.xml.ws.developer.MemberSubmissionEndpointReference$Elements com.sun.xml.ws.developer.MemberSubmissionEndpointReference.referenceProperties
		at com.sun.xml.ws.developer.MemberSubmissionEndpointReference
	this problem is related to the following location:
		at javax.xml.ws.wsaddressing.W3CEndpointReference$Elements
		at private javax.xml.ws.wsaddressing.W3CEndpointReference$Elements javax.xml.ws.wsaddressing.W3CEndpointReference.referenceParameters
		at javax.xml.ws.wsaddressing.W3CEndpointReference
 
	at com.sun.xml.bind.v2.runtime.IllegalAnnotationsException$Builder.check(IllegalAnnotationsException.java:102)
	at com.sun.xml.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(JAXBContextImpl.java:438)
	at com.sun.xml.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:286)
	at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:139)
	at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:117)
	at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:211)
	at javax.xml.bind.ContextFinder.find(ContextFinder.java:372)
	at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:574)
	at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:522)
	at com.sun.xml.ws.spi.ProviderImpl$2.run(ProviderImpl.java:220)
Voici ce que j'ai trouvé sur internet :
http://www.jboss.com/index.html?modu...063438#4063438

Comme vous pouvez le constater, ce post concerne le même problème sur Jboss... et je n'arrive pas à reporter la solution sur Tomcat...

Quelqu'un a t'il une idée ?

Quelques précisions :
- Les junit font des appels Web services avec Jaxws
- Le jdk utilisé : 1.5.0_11
- Tomcat 5.5.9

Petite précision :
J'ai installé hudson en local sur un tomcat sur ma machine et j'arrive sans problème à exécuter mes tests, sans config particulière, ce qui me fait dire que c'est lié à l'environnement d'exécution. Le problème c'est qu'il s'agit du serveur de dev de ma boite, et je n'ai donc pas accès à toutes les configs, il faut que je fasses les demandes au service système, donc avant de leur demander d'effectuer une action, je préfère être sure de ma demande.

Merci à tous