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

发布于 2024-11-16 02:23:44 字数 1174 浏览 2 评论 0原文

我的 Web 服务是一个 jar 文件,并被用作另一个 Web 应用程序的插件,所以我在主 Web 应用程序中只有一个 web.xml 并引用我的调度程序 servlet,它工作得很好,但我的问题是当我想通过肥皂客户端使用它的 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 地址(即;

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

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

谢谢

My web service is as a jar file and being used as a plugin from another web application, so I have only one web.xml in the main web app and give referance to my dispatcher servlet, and it works good, but my problem is when I want to use it by using its wsdl file by a soap client(soapUI can not find the schemas in the wsdl)

this is how my servlet.xml looks like in the jar file;

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

And this is how my wsdl file looks like it's name is 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>

This can not find the request.xsd schema when I try to access my webservice using a soap client(soapUI) by showing my wsdl url address, which is;

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

The wsdl and schema files are on different folders in my web service plugin jar, where is my mistake? I can expose the wsdl in browser by the url above, but soap client cant find the schemas in the path.

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

瘫痪情歌 2024-11-23 02:23:44

SimpleXsdSchema 将架构公开为 bean 名称加 .xsd(在本例中为 schema.xsd)。
因此,您必须更新 WSDL 以指向它:

schemaLocation="schema.xsd"

The SimpleXsdSchema exposes the schema as the name of the bean plus .xsd (in this case schema.xsd).
So you have to update the WSDL to point to it:

schemaLocation="schema.xsd"
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文