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>


Reply via email to