gpt4 book ai didi

java - 在 wsdl 中找不到 Soap Web 服务架构位置

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:16:37 27 4
gpt4 key购买 nike

我的 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>

当我尝试通过显示我的 wsdl url 地址使用 soap 客户端 (soapUI) 访问我的 web 服务时,这找不到 request.xsd 模式;

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

wsdl 和模式文件位于我的 Web 服务插件 jar 中的不同文件夹中,我的错误在哪里?我可以通过上面的 url 在浏览器中公开 wsdl,但是 soap 客户端无法在路径中找到模式。

谢谢

最佳答案

SimpleXsdSchema 将模式公开为 bean 的名称加上 .xsd(在本例中为 schema.xsd)。所以您必须更新 WSDL 以指向它:

schemaLocation="schema.xsd"

关于java - 在 wsdl 中找不到 Soap Web 服务架构位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6360247/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com