J'ai un webservice de printemps pour lequel je le schéma dans un répertoire que:Carte printemps un fichier à une URL/URI
- WebRoot/DataContract/Person.xsd
- WebRoot/DataContract/sous- Person.xsd
Où sous-Person.xsd est inclus dans Person.xsd qui est:
dans Person.xsd:
<xsd:import namespace="http://www.mynamespace.org/xml/sub-person"
schemaLocation="sub-person.xsd"/>
J'ai défini le wsdl comme:
<bean id="personserv" class="org.springframework.ws.wsdl.wsdl11.DefaultWsdl11Definition">
<property name="schemaCollection" ref="schemaCollection"/>
<property name="portTypeName" value="personserv"/>
<property name="locationUri" value="/ws/personnelService/"/>
<property name="targetNamespace" value="http://www.mynamespace.org/definitions"/>
</bean>
Je peux accéder au fichier WSDL à l'aide:
http://localhost:8080/myapp/ws/personnelService/personserv.wsdl
Cependant, lors de l'utilisation de ce wsdl le client peut chercher Person.xsd et ne peut pas chercher sous-Person.xsd donnant une erreur n'a pas pu charger
http://localhost:8080/myapp/ws/personnelService/sub-person.xsd
Ma question est comment puis-je rendre sub-person.xsd disponible à cet emplacement URI?
J'ai également changé l'emplacement spécifié dans Person.xsd comme:
<xsd:import namespace="http://www.mynamespace.org/xml/sub-person"
schemaLocation="/DataContract/sub-person.xsd"/>
que le client a ensuite tenté de trouver sous-Person.xsd à:
http://localhost:8080/sub-person.xsd ce qui est inexact.
Une autre tentative:
<xsd:import namespace="http://www.mynamespace.org/xml/sub-person"
schemaLocation="DataContract/sub-person.xsd"/>
que le client a ensuite tenté de trouver sous-Person.xsd à:
http://localhost:8080/myapp/ws/personnelService/DataContract/sub-person.xsd
vous pouvez utiliser '.' et' ..' pour faire des chemins relatifs. Essayez cela et voir –
Je l'ai essayé, mais cela ne fonctionne pas :( – saky
Je me demande s'il existe une Ressource de Ressort qui peut être définie comme des servlets – saky