根据wsdl:types中的模式验证jaxws soap请求

时间:2010-10-20 03:31:31

标签: java web-services wsdl xml-validation

我想要针对此wsdl中的架构验证soap请求。

<wsdl:types >
    <xsd:schema targetNamespace="http://ws.thecompany.com/FormSubmissionService20100824" 
                xmlns:request="http://xmlschema.thecompany.com/generic/FormHeader20100824" xmlns:response="http://xmlschema.thecompany.com/generic/FormResponse20100824">

        <xsd:import namespace="http://xmlschema.thecompany.com/generic/FormHeader20100824" schemaLocation="../schema/generic/FormHeader20100824.xsd"/>
        <xsd:import namespace="http://xmlschema.thecompany.com/generic/FormResponse20100824" schemaLocation="../schema/generic/FormResponse20100824.xsd"/>

        <xsd:element name="submitFormRequest" type="request:FormHeader"/>
        <xsd:element name="submitFormResponse" type="response:FormResponse"/>

        </xsd:schema>
</wsdl:types>

<!-- Message Definition -->
<wsdl:message name="submitFormRequest">
    <wsdl:part element="thecomp:submitFormRequest" name="request" />
</wsdl:message> 

为针对javax.xml.validation.Validator元素验证的架构加载< thecomp:submitFormRequest>不起作用,也不会尝试将wsdl加载为架构。

想法好吗?  (使用jax-ws,was7)

干杯

1 个答案:

答案 0 :(得分:0)

我将请求/响应解压缩到自己的模式文件中:

    <wsdl:types > 
    <xsd:schema>
        <xsd:import namespace="http://ws.acc.co.nz/ACCFormSubmissionService20100824" 
                schemaLocation="../schema/ws/ACCFormSubmissionService20100824.xsd" />
    </xsd:schema>               
</wsdl:types>

根据需要验证新架构命名空间/ xsd。