Bonjour,
j'essaie sans succès à exposer un service via springws.
Le problème : le fichier de mon service (service.xsd) exposé par springws fait référence à un autre <xs:include schemaLocation="secondaire.xsd"/>.
Lorsque je teste mon service avec SOAPUI, j'ai la log d'erreur suivante :
mon fichier spring-ws:11:27:30,982 DEBUG [WsdlLoader] Getting wsdl component from [http://localhost:8080/APPLI/service.wsdl]
11:27:32,029 INFO [HttpClientSupport$Helper] Initializing SSL
11:27:32,123 DEBUG [WsdlLoader] Getting wsdl component from [http://localhost:8080/APPLI/secondaire.xsd]
11:27:32,123 ERROR [WsdlLoader] Failed to load url [http://localhost:8080/APPLI/cylande.xsd]
11:27:32,123 ERROR [WsdlContext] Loading of definition failed for [http://localhost:8080/APPLI/service.wsdl]; org.apache.xmlbeans.XmlException: error: </body> does not close tag <HR>.
11:27:32,123 ERROR [SoapUI] An error occured [error: </body> does not close tag<HR>.], see error log for details
11:27:32,139 ERROR [WsdlProject] Error importing wsdl: org.apache.xmlbeans.XmlException: error: </body> does not close tag <HR>.
11:27:32,139 ERROR [SoapUI] An error occured [error: </body> does not close tag<HR>.], see error log for details
11:27:32,139 ERROR [SoapUI] An error occured [Error importing wsdl], see error log for details
le fichier xsd du service :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <bean id="service" class="org.springframework.ws.wsdl.wsdl11.DynamicWsdl11Definition"> <property name="builder"> <bean class="org.springframework.ws.wsdl.wsdl11.builder.XsdBasedSoap11Wsdl4jDefinitionBuilder"> <property name="schema" value="/WEB-INF/classes/com/../service.xsd" /> <property name="portTypeName" value="Pays" /> <property name="targetNamespace" value="http://www.cylande.com" /> <property name="followIncludeImport" value="true" /> <property name="locationUri" value="http://localhost:8080/APPLI/service" /> </bean> </property> </bean>
Lorsque je teste avec SOAPUI, il cherche le fichier xsd sur http://localhost:8080/... Il devrait chercher le fichier wsdl.
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 <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:cylande="http://www.service.com" targetNamespace="http://www.service.com" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:include schemaLocation="secondaire.xsd"/> <!-- définition de la demande --> <xs:complexType name="serviceRequest"> <xs:sequence> <!-- action a effectuee --> <xs:element name="operation" type="service:operationType"/> </xs:sequence> </xs:complexType> <!-- définition de la réponse --> <xs:complexType name="serviceResponse"> <xs:sequence> <xs:choice> <xs:element name="liste" type="service:objetCMO" minOccurs="0" maxOccurs="unbounded"/> </xs:choice> </xs:sequence> </xs:complexType> <xs:element name="serviceRequest" type="service:serviceRequest"/> <xs:element name="serviceResponse" type="service:serviceResponse"/> </xs:schema>
C'est un problème connu qui semble être corrigé dans la version 1.0.x, mais j'utilise la version 1.5.3
Peut-être un problème dans l'écriture des fichiers ?
Merci pour vos idées.
Partager