Integration Server 10.3 | Web Services Developer’s Guide | Working with Web Services | Validating Schemas Associated with a Web Service Descriptor
 
Validating Schemas Associated with a Web Service Descriptor
 
Enabling Xerces Schema Validation for a Web Service Descriptor
To help ensure interoperability between a web service descriptor and other web service vendors or clients, you can use Integration Server to validate the schemas associated with the web service descriptor. Integration Server provides an internal schema parser that it uses to validate XML schema definitions at the following times:
*When you create or refresh a consumer web service descriptor or WSDL first provider web service descriptor from a WSDL document.
*When you change the IS schemas, document types, or signatures of the services associated with a web service descriptor.
While Integration Server uses an internal schema parser to validate the schemas automatically, you can also instruct Integration Server to use the Xerces Java parser. The Xerces Java parser provides stricter validation than that provided by the Integration Server internal schema parser. As a result, some schemas that the internal schema parser considers to be valid might be considered invalid by the Xerces Java parser.
Integration Server uses the Xerces Java parser to validate the schemas associated with a web service descriptor at the following times:
*When you create a consumer web service descriptor or WSDL first provider web service descriptor from a WSDL document. In the New Web Service Descriptor wizard, Designer provides an option named Validate Schema using Xerces. When selected, Integration Server validates the schemas defined or referenced in the WSDL document. If the Xerces Java parser determines the schema(s) are invalid, Integration Server does not create the web service descriptor and Designer displays the validation errors.
*When you refresh a consumer web service descriptor or WSDL first provider web service descriptor for which the Validate Schema using Xerces was selected at the time the web service descriptor was created.
*When you create a service first provider web service descriptor. In the New Web Service Descriptor wizard, Designer provides an option named Validate Schema using Xerces. When selected, as part of creating a service first provider web service descriptor, Integration Server converts the signatures of the services used as operations to XML schema elements. Then Integration Server uses the Xerces Java parser to validate the schema elements. If the Xerces Java parser determines the schema(s) are invalid, Integration Server does not create the web service descriptor and Designer displays the validation errors.
*When the Validate Schema using Xerces property is set to true for a web service descriptor and one of the following occurs:
*You change the IS schemas, document types, or signatures of the services associated with a web service descriptor.
*You select an element declaration from an XML Schema definition to use as the input or output signature of a 6.5 SOAP-MSG style operation. For more information about using 6.5 SOAP-MSG style services as operations, see Using a 6.5 SOAP-MSG Style Service as an Operation.
*You refresh the web service connectors for a consumer web service descriptor.
While validation by the Xerces Java parser can increase the time it takes to create, update, or refresh a web service descriptor and increase the time to refresh or update a web service connector, using stricter validation can help ensure interoperability with other web service vendors.
Note:Integration Server uses Xerces Java parser version J-2.11.0. Limitations for this version are listed at http://xerces.apache.org/xerces2-j/xml-schema.html.
When validating XML schema definitions, Integration Server uses the Perl5 regular expression compiler instead of the XML regular expression syntax defined by the World Wide Web Consortium for the XML Schema standard. As a result, in XML schema definitions consumed by Integration Server, the pattern constraining facet must use valid Perl regular expression syntax. If the supplied pattern does not use proper Perl regular expression syntax, Integration Server considers the pattern to be invalid.
Note:
If the watt.core.datatype.usejavaregex configuration parameter is set to true, Integration Server uses the Java regular expression compiler instead of the Perl5 regular expression compiler. When the parameter is true, the pattern constraining facet in XML schema definitions must use valid syntax as defined by the Java regular expression.