[ https://issues.apache.org/jira/browse/CXF-3233?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12978618#action_12978618 ]
Freeman Fang commented on CXF-3233: ----------------------------------- Hi, What the exact value you set for UUID.Content? I just did a quick test and the outgoing messages validation works for me. My schema restriction looks like <xsd:simpleType name="MyType"> <xsd:restriction base="xsd:string"> <xsd:maxLength value="10" /> </xsd:restriction> </xsd:simpleType> Then when I set a string with length 11, then I can see the exception like WARNING: Interceptor for {http://cxf.apache.org/jaxws/schemavalidation}service#{http://cxf.apache.org/jaxws/schemavalidation}ckR has thrown exception, unwinding now org.apache.cxf.interceptor.Fault: Marshalling Error: cvc-maxLength-valid: Value 'thisisffang' with length = '11' is not facet-valid with respect to maxLength '10' for type 'GUIDType'. at org.apache.cxf.jaxb.JAXBEncoderDecoder.marshall(JAXBEncoderDecoder.java:252) at org.apache.cxf.jaxb.io.DataWriterImpl.write(DataWriterImpl.java:169) at org.apache.cxf.interceptor.AbstractOutDatabindingInterceptor.writeParts(AbstractOutDatabindingInterceptor.java:110) at org.apache.cxf.interceptor.BareOutInterceptor.handleMessage(BareOutInterceptor.java:68) at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:255) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:516) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:313) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:265) at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73) at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:124) So you can see the outgoing message validation works as expected. Would you please append a whole testcase which I can reproduce the problem? As the problem you mentioned is on the client side, so you can just append your whole client side code(with configuration)? Btw, I guess your server is deployed in weblogic, but your client is standalone, is it correct? Freeman > JAXB xsd validation working on incoming messages but not outgoing messages > -------------------------------------------------------------------------- > > Key: CXF-3233 > URL: https://issues.apache.org/jira/browse/CXF-3233 > Project: CXF > Issue Type: Bug > Components: Bus > Affects Versions: 2.3.1 > Environment: webLogic > Reporter: Benjamin Shults > Assignee: Freeman Fang > > Using CXF 2.3.1. > Generated Java from WSDLs using JAXB. > Using > <jaxws:properties> > <entry key="schema-validation-enabled" value="true" /> > </jaxws:properties> > in the client configuration. > My test creates an object that fails this particular requirement of the WSDL: > <xsd:simpleType name="UUID.Content"> > <xsd:annotation> > <xsd:documentation xml:lang="EN"> > Universally Unique Identifier > </xsd:documentation> > </xsd:annotation> > <xsd:restriction base="xsd:token"> > <xsd:length value="36" /> > <xsd:pattern > > value="[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" > /> > </xsd:restriction> > </xsd:simpleType> > However, the message is marshalled and makes it all the way through the > outgoing interceptor chain. > The WSDL is one-way: input-only. > wsdlLocation is specified in an annotation in the Impls. > Interestingly, incoming messages that fail validation of this same constraint > are blocked by the interceptor chain during unmarshalling. > I'm testing on WebLogic. I could also test on WebSphere is needed. > Other XSD validation failures (such as a missing required element) are being > caught by the outgoing marshaller. > The reason that we upgraded to 2.3.1 from 2.2.6 was that we were seeing > similar issues on the inbound messages. In 2.3.1, complete XSD validation > occurs for inbound messages but not for outbound ones. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.