根据 WSDL 验证 SOAP 消息

发布于 2024-11-25 09:57:25 字数 76 浏览 1 评论 0 原文

就像根据 Java 中的 XML 架构定义验证 XML 文件一样,有没有办法根据 WSDL 文件验证包含 SOAP 信封的 XML 文件?

Just like validating an XML file against an XML Schema Definition in Java is there a way to validate an XML file that contains a SOAP Envelope against a WSDL file?

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

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

发布评论

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

评论(4

林空鹿饮溪 2024-12-02 09:57:25

一些 Web 服务容器提供此功能。 JBoss 3.0.1+ 使用 @SchemaValidation 注释来实现此操作:

http://community.jboss。 org/wiki/JBossWS-NativeUserGuide#SchemaValidation

Some web service containers provide this functionality. JBoss 3.0.1+ does this with the @SchemaValidation annotation:

http://community.jboss.org/wiki/JBossWS-NativeUserGuide#SchemaValidation

毁梦 2024-12-02 09:57:25

如果您使用 Spring-WS,则可以通过使用拦截器来完成以下操作:

<sws:interceptors>
    <sws:payloadRoot namespaceUri="...">
        <bean id="validatingInterceptor"
            class="org.springframework.ws.soap.server.endpoint.interceptor.PayloadValidatingInterceptor">
            <property name="schema" value="classpath:/wsdl/schema.xsd" />
            <property name="validateRequest" value="true" />
            <property name="validateResponse" value="true" />
        </bean>
    </sws:payloadRoot>
</sws:interceptors>

对于 CXF,这里有一种方法:

http://cxf.apache.org/faq.html#FAQ-HowcanIturnonschemavalidationforjaxwsendpoint%3F

If you are using Spring-WS, this can be done by using an interceptor along these lines:

<sws:interceptors>
    <sws:payloadRoot namespaceUri="...">
        <bean id="validatingInterceptor"
            class="org.springframework.ws.soap.server.endpoint.interceptor.PayloadValidatingInterceptor">
            <property name="schema" value="classpath:/wsdl/schema.xsd" />
            <property name="validateRequest" value="true" />
            <property name="validateResponse" value="true" />
        </bean>
    </sws:payloadRoot>
</sws:interceptors>

With CXF, here is an approach:

http://cxf.apache.org/faq.html#FAQ-HowcanIturnonschemavalidationforjaxwsendpoint%3F

流心雨 2024-12-02 09:57:25

Ivan Krivyakov 开发了一个工具,它可以根据提供的 WSDL 和/或 XSD 验证 req 或 resp XML。该工具位于 http://www.codeproject.com/ Articles/182406/Validating-SOAP-Message-against-WSDL(不过需要您创建登录名。)

There is a tool developed by Ivan Krivyakov which validates the req or resp XMLs based on the WSDL and / or XSD provided. The tool is available at http://www.codeproject.com/Articles/182406/Validating-SOAP-Message-against-WSDL (requires you to create a login though.)

江挽川 2024-12-02 09:57:25

我不知道简单的方法。在我们的项目中,我们只需将元素从 WSDL 复制并粘贴到 XSD 文件。您可以编写一个 util 类来代替您完成这项工作。

I don't know simple way. In our project we just copy and paste element from WSDL to XSD file. You can write an util class which will make this work instead of you.

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