[英]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.