Bonjour,

J'essaye de générer les classes java pour le wsdl http://xml.sandre.eaufrance.fr/exist...onitoring.wsdl

En exécutant le plugin wsimport directement sur le WSDL j'obtiens des erreurs liés à la validation des deux XSD inclus dans le WSDL :
http://xml.sandre.eaufrance.fr/xlink/1.0.0/xlinks.xsd
http://schemas.opengis.net/gml/3.2.1/gml.xsd

J'ai donc fait une compilation des deux fichiers XSD en amont pour générer des fichiers "episode" que j'utilise lors de la compilation du WSDL.

Voici un extrait de mon POM

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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
 
<plugin>
	<groupId>org.jvnet.jaxb2.maven2</groupId>
	<artifactId>maven-jaxb2-plugin</artifactId>
	<executions>
		<execution>
			<id>gml-xsd</id>
			<goals>
				<goal>generate</goal>
			</goals>
			<configuration>
				<verbose>true</verbose>
				<generateDirectory>target/generated-code/src/gml</generateDirectory>
				<generatePackage>fr.ifremer.sandre.monitoring.service.xsd.gml</generatePackage>
				<schemas>
					<schema>
						<url>http://schemas.opengis.net/gml/3.2.1/gml.xsd</url>
					</schema>
				</schemas>
				<episode>true</episode>
				<episodeFile>${basedir}/src/main/resources/episodes/gml.episode</episodeFile>
				<bindings>
					<binding>
						<fileset>
							<directory>${basedir}/src/main/resources/bindings</directory>
							<includes>
								<include>gml.xjb</include>
							</includes>
						</fileset>
					</binding>
				</bindings>
				<specVersion>2.2</specVersion>
			</configuration>
		</execution>
		<execution>
			<id>xlinks-xsd</id>
			<goals>
				<goal>generate</goal>
			</goals>
			<configuration>
				<verbose>true</verbose>
				<generateDirectory>target/generated-code/src/xlinks</generateDirectory>
				<generatePackage>fr.ifremer.sandre.monitoring.service.xsd.xlinks</generatePackage>
				<schemas>
					<schema>
						<url>http://xml.sandre.eaufrance.fr/xlink/1.0.0/xlinks.xsd</url>
					</schema>
				</schemas>
				<episode>true</episode>
				<episodeFile>${basedir}/src/main/resources/episodes/xlinks.episode</episodeFile>
				<bindings>
					<binding>
						<fileset>
							<directory>${basedir}/src/main/resources/bindings</directory>
							<includes>
								<include>*/xlinks.xjb</include>
							</includes>
						</fileset>
						<fileset>
							<directory>${basedir}../src/main/resources/episodes</directory>
							<includes>
								<include>*/gml.episode</include>
							</includes>
						</fileset>
					</binding>
				</bindings>
				<specVersion>2.2</specVersion>
			</configuration>
		</execution>
	</executions>
</plugin>
 
<!-- org.jvnet.jax-ws-commons -->
<plugin>
	<groupId>org.jvnet.jax-ws-commons</groupId>
	<artifactId>jaxws-maven-plugin</artifactId>
	<version>2.3</version>
	<executions>
		<execution>
			<goals>
				<goal>wsimport</goal>
			</goals>
			<configuration>
				<wsdlFiles>
					 <wsdlFile>${basedir}/src/main/resources/wsdl/Monitoring.wsdl</wsdlFile>
				</wsdlFiles>
				<packageName>fr.ifremer.sandre.monitoring.service.http</packageName>
				<bindingDirectory>${basedir}</bindingDirectory>
				<bindingFiles>
					<bindingFile>src/main/resources/episodes/gml.episode</bindingFile>
					<bindingFile>src/main/resources/episodes/xlinks.episode</bindingFile>
				</bindingFiles>
			</configuration>
		</execution>
	</executions>
</plugin>
La compilation des deux fichiers XSD fonctionne et j'obtiens bien des fichiers episodes. Par contre lors de la compilation du WSDL j'obtiens les erreurs suivantes :
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
 
analyse du WSDL...
 
 
[WARNING] src-resolve : Impossible de résoudre le nom 'xlink:simpleAttrs' en un composant 'attribute group'.
  ligne 50 sur http://schemas.opengis.net/gml/3.2.1/gmlBase.xsd
 
[WARNING] src-resolve : Impossible de résoudre le nom 'xlink:simpleAttrs' en un composant 'attribute group'.
  ligne 29 sur http://schemas.opengis.net/iso/19139/20070417/gco/gcoBase.xsd
 
[WARNING] src-resolve : Impossible de résoudre le nom 'xlink:simpleAttrs' en un composant 'attribute group'.
  ligne 395 sur http://schemas.opengis.net/iso/19139/20070417/gco/basicTypes.xsd
 
[WARNING] s4s-elt-invalid-content.1 : Le contenu de '#AnonType_BBOXSpatialFilter' n'est pas valide. L'élément 'element' n'est pas valide, est mal placé ou compte trop d'occurrences.
  ligne 1340 sur file:/D:/Projets/QualifsTechniques/Workspace/SandreWebService/src/main/resources/wsdl/Monitoring.wsdl#types?schema1
 
[ERROR] 'href' is already defined
  ligne 42 sur http://www.w3.org/1999/xlink.xsd
 
[ERROR] (related to above error) the first definition appears here
  ligne 13 sur http://xml.sandre.eaufrance.fr/xlink/1.0.0/xlinks.xsd
 
[ERROR] 'role' is already defined
  ligne 48 sur http://www.w3.org/1999/xlink.xsd
 
[ERROR] (related to above error) the first definition appears here
  ligne 15 sur http://xml.sandre.eaufrance.fr/xlink/1.0.0/xlinks.xsd
 
[ERROR] 'arcrole' is already defined
  ligne 56 sur http://www.w3.org/1999/xlink.xsd
 
[ERROR] (related to above error) the first definition appears here
  ligne 16 sur http://xml.sandre.eaufrance.fr/xlink/1.0.0/xlinks.xsd
 
[ERROR] 'title' is already defined
  ligne 64 sur http://www.w3.org/1999/xlink.xsd
 
[ERROR] (related to above error) the first definition appears here
  ligne 17 sur http://xml.sandre.eaufrance.fr/xlink/1.0.0/xlinks.xsd
 
[ERROR] 'show' is already defined
  ligne 70 sur http://www.w3.org/1999/xlink.xsd
 
[ERROR] (related to above error) the first definition appears here
  ligne 19 sur http://xml.sandre.eaufrance.fr/xlink/1.0.0/xlinks.xsd
 
[ERROR] 'actuate' is already defined
  ligne 82 sur http://www.w3.org/1999/xlink.xsd
 
[ERROR] (related to above error) the first definition appears here
  ligne 46 sur http://xml.sandre.eaufrance.fr/xlink/1.0.0/xlinks.xsd
 
[ERROR] 'label' is already defined
  ligne 93 sur http://www.w3.org/1999/xlink.xsd
 
[ERROR] (related to above error) the first definition appears here
  ligne 72 sur http://xml.sandre.eaufrance.fr/xlink/1.0.0/xlinks.xsd
 
[ERROR] 'from' is already defined
  ligne 99 sur http://www.w3.org/1999/xlink.xsd
 
[ERROR] (related to above error) the first definition appears here
  ligne 73 sur http://xml.sandre.eaufrance.fr/xlink/1.0.0/xlinks.xsd
 
[ERROR] 'to' is already defined
  ligne 105 sur http://www.w3.org/1999/xlink.xsd
 
[ERROR] (related to above error) the first definition appears here
  ligne 74 sur http://xml.sandre.eaufrance.fr/xlink/1.0.0/xlinks.xsd

On obtiens des erreurs relativement identiques si on essaye de compiler les XSD sans fournir de fichier de binding. Et j'obtiens les mêmes erreurs si je lance la compilation du WSDL sans fournir de fichier episode...

Ma question est donc la suivante : Pourquoi j'obtiens des erreurs sur la validation des fichiers XSD importés dans le WSDL alors que je fourni les fichiers episodes issus de la compilation des deux fichiers XSD ? Le compilateur ne devrait-il pas "sauter" la validation des XSD ?

PS : Je précise que j'ai également testé la compilation du WSDL en fournissant les fichiers de bindings utilisés pour les XSD mais les erreurs sont identiques.

Merci d'avance pour votre aide.