Return-Path: X-Original-To: apmail-cxf-issues-archive@www.apache.org Delivered-To: apmail-cxf-issues-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id A62B3DC40 for ; Thu, 8 Nov 2012 14:23:14 +0000 (UTC) Received: (qmail 58817 invoked by uid 500); 8 Nov 2012 14:23:14 -0000 Delivered-To: apmail-cxf-issues-archive@cxf.apache.org Received: (qmail 58346 invoked by uid 500); 8 Nov 2012 14:23:13 -0000 Mailing-List: contact issues-help@cxf.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cxf.apache.org Delivered-To: mailing list issues@cxf.apache.org Received: (qmail 58218 invoked by uid 99); 8 Nov 2012 14:23:13 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 08 Nov 2012 14:23:13 +0000 Date: Thu, 8 Nov 2012 14:23:13 +0000 (UTC) From: "Balaji Sengeni (JIRA)" To: issues@cxf.apache.org Message-ID: <1101199950.86845.1352384593147.JavaMail.jiratomcat@arcas> In-Reply-To: <932359833.16553.1351009032085.JavaMail.jiratomcat@arcas> Subject: [jira] [Commented] (CXF-4597) CXF - jaxws - schema validation for nillable false MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/CXF-4597?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13493210#comment-13493210 ] Balaji Sengeni commented on CXF-4597: ------------------------------------- Hi Freeman, I have tried using the 'cxf-codegen-plugin' for wsdl2java goal, even then nillable attribute is missing for the generated java class. i.e, actually @XmlElement(required = true) but not create as @XmlElement(required = true, nillable = false) for all the elements in the xsd where nillable is not defined explicitly in schema. [since nillable is false by default as per xsd] But JAXB parser accepts empty xml element as shown in example below. XSD fragment : ------------ for this xsd included in wsdl below xml fragment is allowed by the cxf ws with schema validation enabled. Mr Freeman 19631015000000Z where '' element is null which is valid for java string datatype. But as per schema, nillable is false(default for all elements in xsd) which shouldn't accept this value and throw xsd validation failure exception but cxf doesn't throw (JAXB skips this validation). Hi Daniel, I got your point of - user defined CXF interceptor configured before/after default XSD validation phase and do explicit nillable validation for each element which I feel little heavy(since I have min. 200 + elements in payload). Please can you provide me a reference / example for it. Thanks & Regards, Balaji > CXF - jaxws - schema validation for nillable false > -------------------------------------------------- > > Key: CXF-4597 > URL: https://issues.apache.org/jira/browse/CXF-4597 > Project: CXF > Issue Type: Bug > Components: JAXB Databinding > Affects Versions: 2.6 > Environment: Tomcat web server > Reporter: Balaji Sengeni > Priority: Blocker > Fix For: Invalid > > > Hi , > I apologize, if I have chosen wrong issue type. > I use contract first web service where xsd is defined in external file. > [by default, nillable is false if we haven't mentioned for elements in xsd] > I used jaxws-maven-plugin to import java classes from wsdl. I noticed that nillable attribute is missing for @XmlElement(required = true) [java data type string]. I assume, its the default behaviour, so Jaxb will treat those element as nillable false. > But when the user sends empty tag, my web service accepts that value. > Without touching the xsd (setting minLength for the string), is there a easy way to do non empty string validation? > > -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira