Author: ffang Date: Fri Jan 14 07:00:21 2011 New Revision: 1058867 URL: http://svn.apache.org/viewvc?rev=1058867&view=rev Log: [CXF-3233]adding a testcase clearly demostrate shemavalidation works for outgoing message
Modified: cxf/trunk/systests/jaxws/src/test/java/org/apache/cxf/systest/jaxws/SchemaValidationClientServerTest.java cxf/trunk/systests/jaxws/src/test/resources/wsdl_systest_jaxws/request.xsd Modified: cxf/trunk/systests/jaxws/src/test/java/org/apache/cxf/systest/jaxws/SchemaValidationClientServerTest.java URL: http://svn.apache.org/viewvc/cxf/trunk/systests/jaxws/src/test/java/org/apache/cxf/systest/jaxws/SchemaValidationClientServerTest.java?rev=1058867&r1=1058866&r2=1058867&view=diff ============================================================================== --- cxf/trunk/systests/jaxws/src/test/java/org/apache/cxf/systest/jaxws/SchemaValidationClientServerTest.java (original) +++ cxf/trunk/systests/jaxws/src/test/java/org/apache/cxf/systest/jaxws/SchemaValidationClientServerTest.java Fri Jan 14 07:00:21 2011 @@ -57,6 +57,9 @@ public class SchemaValidationClientServe Map<String, Object> map = new HashMap<String, Object>(); map.put("schema-validation-enabled", Boolean.TRUE); ep.setProperties(map); + ((EndpointImpl)ep).setWsdlLocation("wsdl_systest_jaxws/schemaValidation.wsdl"); + ((EndpointImpl)ep).setServiceName(new QName( + "http://cxf.apache.org/jaxws/schemavalidation", "service")); ((EndpointImpl)ep).getInInterceptors().add(new LoggingInInterceptor()); ((EndpointImpl)ep).getOutInterceptors().add(new LoggingOutInterceptor()); ep.publish(address); @@ -92,12 +95,22 @@ public class SchemaValidationClientServe updateAddressPort(greeter, PORT); RequestIdType requestId = new RequestIdType(); - requestId.setId("ffang"); + requestId.setId("aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee"); CkRequestType request = new CkRequestType(); request.setRequest(requestId); ((BindingProvider)greeter).getRequestContext().put("schema-validation-enabled", Boolean.TRUE); CkResponseType response = greeter.ckR(request); assertEquals(response.getProduct().get(0).getAction().getStatus(), 4); + + try { + requestId.setId("aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeeez"); + request.setRequest(requestId); + greeter.ckR(request); + fail("should catch marshall exception as the invalid outgoing message per schema"); + } catch (Exception e) { + assertTrue(e.getMessage().contains("Marshalling Error")); + assertTrue(e.getMessage().contains("is not facet-valid with respect to pattern")); + } } Modified: cxf/trunk/systests/jaxws/src/test/resources/wsdl_systest_jaxws/request.xsd URL: http://svn.apache.org/viewvc/cxf/trunk/systests/jaxws/src/test/resources/wsdl_systest_jaxws/request.xsd?rev=1058867&r1=1058866&r2=1058867&view=diff ============================================================================== --- cxf/trunk/systests/jaxws/src/test/resources/wsdl_systest_jaxws/request.xsd (original) +++ cxf/trunk/systests/jaxws/src/test/resources/wsdl_systest_jaxws/request.xsd Fri Jan 14 07:00:21 2011 @@ -22,10 +22,15 @@ </xsd:attribute> </xsd:complexType> <xsd:simpleType name="GUIDType"> - <xsd:restriction base="xsd:string"> + <!--xsd:restriction base="xsd:string"> <xsd:maxLength value="10" /> - </xsd:restriction> - </xsd:simpleType> + </xsd:restriction--> + <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> <xsd:complexType name="ckRequestType"> <xsd:sequence>