就像在Java中针对XML Schema Definition验证XML文件一样,有没有办法验证包含针对WSDL文件的SOAP Envelope的XML文件?
答案 0 :(得分:1)
某些Web服务容器提供此功能。 JBoss 3.0.1+使用@SchemaValidation注释执行此操作:
http://community.jboss.org/wiki/JBossWS-NativeUserGuide#SchemaValidation
答案 1 :(得分:1)
如果您使用的是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
答案 2 :(得分:0)
我不知道简单的方法。在我们的项目中,我们只是将元素从WSDL复制并粘贴到XSD文件中。你可以编写一个util类来代替你。
答案 3 :(得分:0)
Ivan Krivyakov开发了一个工具,它根据提供的WSDL和/或XSD验证req或resp XML。该工具位于http://www.codeproject.com/Articles/182406/Validating-SOAP-Message-against-WSDL(需要您创建登录名。)