繁体   English   中英

CXF 2.2.12:如何在客户端关闭架构验证

[英]CXF 2.2.12: How to turn off schema validation on the client side

我想关闭 JAXB 绑定消息的模式验证。 我正在处理客户端 CXF 代码(WSDL 第一代)。 我试过使用

<jaxws:client name="{http://apache.org/hello_world_soap_http}SoapPort"
    createdFromAPI="true">
    <jaxws:properties>
        <entry key="schema-validation-enabled" value="true" />
    </jaxws:properties>
</jaxws:client>

没有成功(请参阅参考CXF 常见问题解答)。 我很难找到设置此属性的编程方式。 我还探索了短路 CXF 和访问解析器、解组器等。

谢谢你的帮助。

要关闭架构验证,您应该将schema-validation-enabled属性设置为false

根据您提供的文档( CXF 常见问题解答)。

启用模式验证(所有请求和响应都将根据模式进行验证)设置

<entry key="schema-validation-enabled" value="true" />

禁用模式验证(任何请求和响应都不会针对模式进行验证)不做任何事情,因为它是默认行为或设置

<entry key="schema-validation-enabled" value="false" />

或者从代码如下:

    Client client = ClientProxy.getClient(XYZSOAPEndPoint);
    HTTPConduit http = (HTTPConduit) client.getConduit();
    HTTPClientPolicy policy = new HTTPClientPolicy();
    policy.setAllowChunking(false);
    http.setClient(policy);
    ((BindingProvider)XYZSOAPEndPoint).getRequestContext().put("schema-validation-enabled",true);

@SchemaValidation(type = SchemaValidation.SchemaValidationType.NONE)将此注释添加到您的端点实现类

@SchemaValidation(type = SchemaValidation.SchemaValidationType.NONE)
public EndpointImpl endpoint(Bus bus, DirectConnectService accountServiceEndpoint) {
  }

将此验证放在您的端点配置类中

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM