开发者

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

开发者 https://www.devze.com 2023-04-12 09:10 出处:网络
I would like to turn off schema validation for JAXB-bound messages.开发者_如何学JAVAI am dealing with the client-side CXF code (WSDL first generation).I have tried using

I would like to turn off schema validation for JAXB-bound messages. 开发者_如何学JAVAI am dealing with the client-side CXF code (WSDL first generation). I have tried using

<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>

Without success (see reference CXF FAQ ). I've had difficulty finding a programmatic way of settings this property. I've also explored short-circuiting CXF and accessing the parser, unmarshaller, etc.

Thanks for your help.


To turn off the schema validation you should set the schema-validation-enabled property to false.

According to documentation referred by you (CXF FAQ).

To enable schema validation (all requests and responses will be validated against schema) set

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

To disable schema validation (none of the requests nor responses will be validated against schema) do nothing cause it is the default behavior or set

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


Or from the code as follows:

    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) put this annotation to your endpoint implementation class


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

put this validation in your endpoint configuration class

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号