Schéma Xsd emplacement ne peut pas être trouvé dans le fichier WSDL

Ce problème n'est toujours pas résolu depuis 3 jours, vraiment apprécié si quelqu'un peut aider, voici tout le code ci-dessous.

Problème est le suivant: ce service web fonctionne bien si je montre le fichier wsdl (qui est dans mon projet eclipse répertoire) de la soapUI depuis le disque dur. Mais il ne peut pas trouver le schéma de Requête de fichier, si je donne l'url:

http://localhost:8080/mwp/mws/mwsid.wsdl

Cette exposer le wsdl correctement, mais ne peux pas trouver le schéma, j'obtiens l'erreur de soapUI:

D'ERREUR:impossible de charger l'url [http://localhost:8080/mwp/mws/Request.xsd]

c'est le printemps du fichier de config

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:sws="http://www.springframework.org/schema/web-services"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/web-services http://www.springframework.org/schema/web-services/web-services-2.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd">
<description>
</description>
<bean id="webServicePluginDescriptor"
class="com.mywebsite.ws.configuration.mtchWebservicePluginDescriptor" />
<bean id="payloadMapping"
class="org.springframework.ws.server.endpoint.mapping.PayloadRootQNameEndpointMapping">
<property name="defaultEndpoint" ref="inferenceEndPoint" />
<property name="interceptors">
<list>
<ref local="validatingInterceptor" />
<ref local="payLoadInterceptor" />
</list>
</property>
</bean>
<bean id="payLoadInterceptor"
class="org.springframework.ws.server.endpoint.interceptor.PayloadLoggingInterceptor" />
<bean id="validatingInterceptor"
class="org.springframework.ws.soap.server.endpoint.interceptor.PayloadValidatingInterceptor">
<property name="schema"
value="classpath:/wsdl/Request.xsd" />
<property name="validateRequest" value="true" />
<property name="validateResponse" value="false" />
</bean>
<bean id="PropertyResource" class="com.mywebsite.ws.im.PropertyResource">
<property name="resource"
value="/WEB-INF/client-specific/InferenceMachine.properties" />
</bean>
<bean id="inferenceEndPoint" class="com.mywebsite.ws.web.InferenceEndPoint">
<property name="messageWebService" ref="messageWebService" />
</bean>
<bean id="messageWebService" class="com.mywebsite.ws.service.MessageWebService"
scope="request">
<aop:scoped-proxy />
<property name="inferenceService" ref="inferenceService" />
</bean>
<bean id="schema" class="org.springframework.xml.xsd.SimpleXsdSchema">
<property name="xsd" value="classpath:/wsdl/Request.xsd" />
</bean>
<bean id="mwsid"
class="org.springframework.ws.wsdl.wsdl11.SimpleWsdl11Definition">
<constructor-arg value="classpath:/wsdl/mtchwsdl.wsdl" />
</bean>
<bean id="inferenceService" class="com.mywebsite.ws.im.InferenceService"
scope="request">
<aop:scoped-proxy />
<property name="webServiceConfiguration" ref="wsPlayerConfiguration" />
<property name="properties">
<bean class="com.mywebsite.ws.im.PropertyResource">
<property name="resource"
value="/WEB-INF/client-specific/InferenceMachine.properties" />
</bean>
</property>
</bean>
<!-- ~~~~~~~ Application beans ~~~~~~~ -->
<bean id="wsPlayerConfiguration"
class="com.mywebsite.ws.configuration.WebServiceConfiguration"
scope="request">
<aop:scoped-proxy />
<property name="playerConfiguration" ref="playerConfiguration"></property>
<property name="configurationSetup" ref="configurationSetup"></property>
</bean>

c'est le fichier wsdl:

 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:schema="http://www.mywebsitex.com/xml/webservice"
xmlns:tns="http://www.mywebsitex.com/xml/webservice"
targetNamespace="http://www.mywebsitex.com/xml/webservice">
<wsdl:types>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:import namespace="http://www.mywebsitex.com/xml/webservice"                      
schemaLocation="Request.xsd"/>
</xsd:schema>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:import namespace="http://www.mywebsitex.com/xml/webservice"                      
schemaLocation="Response.xsd"/>
</xsd:schema>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:import namespace="http://www.mywebsitex.com/xml/webservice"                      
schemaLocation="Error.xsd"/>
</xsd:schema>
</wsdl:types>
<wsdl:message name="inferencerequest">                                                 
<!-- <wsdl:part element="schema:inferencerequest" name="inferencerequest"/> -->               
</wsdl:message>
<wsdl:message name="inferenceresponse">                                                 
<!-- <wsdl:part element="schema:inferenceresponse" name="inferenceresponse"/> -->               
</wsdl:message>
<wsdl:message name="errorresponse">                                                 
<!-- <wsdl:part element="schema:errorresponse" name="errorresponse"/> -->               
</wsdl:message>
<wsdl:portType name="mtchWS">                                                 
<wsdl:operation name="inference">
<wsdl:input message="tns:inferencerequest" name="inferencerequest"/>
<wsdl:output message="tns:inferenceresponse" name="inferenceresponse"/>
<wsdl:fault message="tns:errorresponse" name="errorresponse"/>             
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="mtchWSBinding" type="tns:mtchWS">                  
<soap:binding style="document"                                                   
transport="http://schemas.xmlsoap.org/soap/http"/>                           
<wsdl:operation name="inference">
<soap:operation soapAction="http://www.mywebsitex.com/webservice"/>           
<wsdl:input name="inferencerequest">
<soap:body use="literal"/>                                               
</wsdl:input>
<wsdl:output name="inferenceresponse">
<soap:body use="literal"/>
</wsdl:output>
<wsdl:fault name="errorreponse">
<!-- <soap:fault use="literal"/>-->
</wsdl:fault>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="mtchWSService">
<wsdl:port binding="tns:mtchWSBinding" name="mtchWSPort">          
<soap:address location="http://localhost:8080/mwp/mws"/>             
</wsdl:port>
</wsdl:service>                  

et c'est ainsi que je définis dans le web.xml:

<servlet>
<servlet-name>mws</servlet-name>
<servlet-class>org.springframework.ws.transport.http.MessageDispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:/resources/mtchwebservice/applicationContext-MtchWebService.xml</param-value>
</init-param>
<init-param>
<param-name>transformWsdlLocations</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>

OriginalL'auteur Spring | 2011-06-17