[英]Soap web service schema location can't be found in wsdl
我的Web服务是一个jar文件,并被用作另一个Web应用程序的插件,因此我在主Web应用程序中只有一个web.xml,并为我的调度程序servlet提供了依据,并且它运行良好,但我的问题是什么时候我想通过soap客户端使用它的wsdl文件来使用它(soapUI无法在wsdl中找到模式)
这就是我的servlet.xml在jar文件中的样子;
<bean id="schema" class="org.springframework.xml.xsd.SimpleXsdSchema">
<property name="xsd" value="classpath:/resources/xwebservice/schemas/Request.xsd" />
</bean>
<bean id="mwsid"
class="org.springframework.ws.wsdl.wsdl11.SimpleWsdl11Definition">
<constructor-arg value="classpath:/resources/xwebservice/spring-ws.wsdl"/>
</bean>
这就是我的wsdl文件看起来像spring-ws.wsdl的名字
<wsdl:types>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:import namespace="http://www.mywebsite.com/xml/webservice"
schemaLocation="/resources/xwebservice/schemas/Request.xsd"/>
</xsd:schema>
当我尝试使用soap客户端(soapUI)通过显示我的wsdl url地址访问我的web服务时,找不到request.xsd模式,这是;
http://localhost:8080/mwp/mws/mwsid.wsdl
wsdl和schema文件位于我的web服务插件jar中的不同文件夹中,我的错误在哪里? 我可以通过上面的url在浏览器中公开wsdl,但是soap客户端无法在路径中找到模式。
谢谢
SimpleXsdSchema将模式公开为bean的名称加上.xsd(在本例中为schema.xsd)。 所以你必须更新WSDL以指向它:
schemaLocation="schema.xsd"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.