cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jason Pell (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (CXF-6118) SchemaValidation IN on service, wrongly sets SchemaValidation IN on client
Date Thu, 27 Nov 2014 23:11:12 GMT

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

Jason Pell edited comment on CXF-6118 at 11/27/14 11:10 PM:
------------------------------------------------------------

Your other option which means no code changes, would be to assign a org.apache.cxf.feature.validation.SchemaValidationFeature
to each client.

Implement a SchemaValidationTypeProvider which returns IN or NONE for all.

There is no cxf namespace support for enabling this feature.  You can find example of it in
the systests/jax-ws

I also provided an example on my github project

https://github.com/pellcorp/JavaFirst/blob/master/JavaFirst/src/test/resources/META-INF/validation/clientContext.xml



was (Author: jpell):
Your other option which means no code changes, would be to assign a org.apache.cxf.feature.validation.SchemaValidationFeature
to each client.

Implement a SchemaValidationTypeProvider which returns IN for all.

There is no cxf namespace support for enabling this feature.  You can find example of it in
the systests/jax-ws

I also provided an example on my github project

https://github.com/pellcorp/JavaFirst/blob/master/JavaFirst/src/test/resources/META-INF/validation/clientContext.xml


> 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-WS Runtime
>    Affects Versions: 2.7.8, 2.7.13, 3.0.2
>         Environment: Java 1.7.0_51,
> Spring Framework 3.2.0,
> Windows 7
>            Reporter: Thomas Whitmore
>            Assignee: Jason Pell
>            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)

Mime
View raw message