使用Spring-ws创建SOAP服务并跳过主体验证

时间:2019-04-24 09:39:24

标签: soap spring-ws

我从spring-ws 3.0.6创建了一个SOAP Web服务,它来自要在其中放入任何结构化数据的模式。 问题是从SOAPUI调用服务时,它不接受来自任意名称空间的任意xml。

创建WS的xsd:

    <xsd:complexType name="SD">
        <xsd:sequence minOccurs="0" maxOccurs="1">
            <xsd:any namespace="##any" processContents="lax" />
        </xsd:sequence>
    </xsd:complexType>

我尝试禁用请求验证:

         PayloadValidatingInterceptor validatingInterceptor = new CustomValidationInterceptor();
        validatingInterceptor.setValidateRequest(false);
        validatingInterceptor.setValidateResponse(false);
        validatingInterceptor.setXsdSchema(new SimpleXsdSchema(new ClassPathResource("schema/noValidation.xsd")));
        validatingInterceptor.setXsdSchema(starConnectSchema());

但是当在任何标签内部调用时,它会给出:

ERROR:  'The prefix "msg" for element "msg:Message" is not bound.'
2019-04-24 12:22:50.736 ERROR 18324 --- [nio-9002-exec-3] com.sun.xml.messaging.saaj.soap          : SAAJ0511: Unable to create envelope from given source

如果我放置一个没有前缀的元素,它将起作用。 那是在我的PayloadValidatorInterceptor之前。 有什么提示吗? 预先感谢。

0 个答案:

没有答案