static void ValidatingParametersInAWCFService() { bool success; // Create a client to access the ProductService WCF service. ProductService.IProductService svc = new ProductService.ProductServiceClient(); Console.WriteLine("Created a client to access the ProductService WCF service."); Console.WriteLine(); // Call the method, which returns success or failure, to add a valid product. IProduct validProduct = new Product(); PopulateValidProduct(validProduct); try { Console.WriteLine("Adding a valid product using the ProductService... "); success = svc.AddNewProduct(validProduct.ID, validProduct.Name, validProduct.Description, validProduct.ProductType, validProduct.InStock, validProduct.OnOrder, validProduct.DateDue); Console.WriteLine("Successful: {0}", success); } catch (FaultException<ValidationFault> ex) { // Validation of the Product instance failed within the service interface. Console.WriteLine("Validation within the ProductService failed."); // Convert the validation details in the exception to individual // ValidationResult instances and add them to the collection. ValidationResults results = ConvertToValidationResults(ex.Detail.Details, validProduct); // Display information about the validation errors ShowValidationResults(results); } catch (Exception ex) { Console.WriteLine("Error while calling service method: {0}", ex.Message); } Console.WriteLine(); // Now call the same method to add an invalid product. IProduct invalidProduct = new Product(); PopulateInvalidProduct(invalidProduct); try { Console.WriteLine("Adding an invalid product using the ProductService... "); success = svc.AddNewProduct(invalidProduct.ID, invalidProduct.Name, invalidProduct.Description, invalidProduct.ProductType, invalidProduct.InStock, invalidProduct.OnOrder, invalidProduct.DateDue); Console.WriteLine("Added an invalid product using the ProductService. Successful: {0}", success); } catch (FaultException<ValidationFault> ex) { // Validation of the Product instance failed within the service interface. Console.WriteLine("Validation within the ProductService failed."); // Convert the validation details in the exception to individual // ValidationResult instances and add them to the collection. ValidationResults results = ConvertToValidationResults(ex.Detail.Details, invalidProduct); // Display information about the validation errors ShowValidationResults(results); } catch (Exception ex) { Console.WriteLine("Error while calling service method: {0}", ex.Message); } }