...
You can use Maven servicemix-validation-service-unit archetype to create a Validation service unit:
...
Once you've customized the service unit, simply install the SU:
...
...
Remember that to be deployable in ServiceMix, the ServiceUnit has to be embedded in a Service Assembly: only the Service Assembly zip file can be deployed in ServiceMix.
To add your SU in a SA, you need to define it in the dependency sets:
...
...
Endpoint Configuration
A Validation endpoint expects messages coming from the NMR and validate message payload using given schema.
...
...
The endpoint can handle all MEPs.
...
...
Name | Type | Description | Default |
---|---|---|---|
schema | Class | javax.xml.validation.Schema | null |
schemaLanguage | String | the schema language | http://www.w3.org/2001/XMLSchema |
schemaSource | Class | javax.xml.transform.Source | null |
schemaResource | String | path to schema resource | null |
handlingErrorMethod | String | the error handling mode | FAULT_JBI |
errorHandlerFactory | Class | org.apache.servicemix.validation.handler.MessageAwareErrorHandlerFactory | CountingErrorHandlerFactory |
The schemaResource
The schema resource can be defined in different ways:
...
The errorHandlerFactory
You can specify your own error handling factory which will be used to create an error handler for the validation.
All factories have to implement the interface org.apache.servicemix.validation.handler.MessageAwareErrorHandlerFactory. This interface
describes only one method:
...
This method createMessageAwareErrorHandler() creates the error handler for validating the xml.
The MessageAwareErrorHandler is also a interface defining the methods needed for call back while validating a xml:
...
...
You can the configure your endpoint to use your factory and handler instead the standard ones.
Example:
...
Available factories / handlers
...
This one is just counting warnings, errors and fatal errors. Depending on the set handlingErrorMethod it will throw an exception or deliver a fault string containing a xml like this:
...
...
As you can see this factory / handler is just counting problems in the xml and delivers the result back.
...
This one captures messages from the validator and delivers them to the caller like this:
...
...
handlingErrorMethod
There are 2 modes existing:
...