You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Jason Pell (JIRA)" <ji...@apache.org> on 2014/11/27 04:22:12 UTC

[jira] [Commented] (CXF-6118) SchemaValidation IN on service, wrongly sets SchemaValidation IN on client

    [ https://issues.apache.org/jira/browse/CXF-6118?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14227209#comment-14227209 ] 

Jason Pell commented on CXF-6118:
---------------------------------

While this issue is fixed, you can work around the problem by adding the validation annotations to the Implementation rather than the interface.  It's not ideal but if you can't wait for a fix, it will work fine.

> SchemaValidation IN on service, wrongly sets SchemaValidation IN on client
> --------------------------------------------------------------------------
>
>                 Key: CXF-6118
>                 URL: https://issues.apache.org/jira/browse/CXF-6118
>             Project: CXF
>          Issue Type: Bug
>          Components: JAX-RS
>    Affects Versions: 2.7.8
>         Environment: Java 1.7.0_51,
> Spring Framework 3.2.0,
> Windows 7
>            Reporter: Thomas Whitmore
>            Priority: Minor
>              Labels: client, operation, schema, validation
>         Attachments: problem example.zip
>
>
> Disabling input schema-validation for my <jaxws:client> was unsuccessful following the docs. Neither 'false' nor 'NONE' were effective and the client (an integration test) was still validating & throwing exceptions.
> Debugging the CXF code, I found Message.SCHEMA_VALIDATION_ENABLED being set to 'IN' by code in AbstractInDatabindingInterceptor.setOperationSchemaValidation(). This setting of 'IN' appears to be coming from the Service/ Endpoint definitions!
> I had defined the service (LoanApplicationWS) as validating IN (by means of annotations). When I changed the service validation to NONE, client was no longer forced to validate.
> There are two issues here:
> 1) Service/Endpoint validation settings, should not automatically be overriding Client settings 
> 2) Service OUT validation corresponds to Client IN validation;  the directions are inverted.
> The background here, is to extend a service & schema designed for "complete" Loan Applications to be able to retrieve "draft" applications -- which are only partly-formed, and thus do not include some elements required in the schema.
> For this reason, I intend to disable output validation of the Service; and correspondingly disable input validation at the Client.
> However, CXF is somehow finding validation settings Service/Endpoint and applying them (in an incorrect directional sense) to the Client.
> I've included screenshots of the Client 1) broken and 2) working, according to changes to the Service validation setting.
> Please find a partial project attached containing a few relevant files & the screenshots.
> Thanks,
> Regards
> Thomas



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)