Friday, January 14, 2011

Dynamic Validate Action in Oracle Service Bus

Till current release of OSB (11.1.1.3), there is no support for dynamically specifying XML Schema/WSDL and Elements/Types for schema validation using "Validate" action of OSB. You have to select XSD/WSDL and Element/Type at design time itself.

This has been raised as an ER (Enhancement Request) to Oracle, and it is expected that future release of OSB will have this Dynamic Validation kind facility.

For the time being users can rely on Java (XMLBeans & OSB java API) to implement this solution. Using java callout for validation will slightly hurt you on performance. After measuring, I found that on an average it takes almost thrice time as compare to OSB validate action if you use java but still it is the best choice in the case when you have hundreds of schemas/WSDL's to choose

Another option may be to use IF-ELSE statements in the message flow and select WSDL's/XSD's at design time itself and at runtime whichever condition gets fulfilled, that Validate action will execute. This alternative is best for the cases when you have very limited number of WSDL's/XSD's

Hope to see the Dynamic Validate action enhancement soon!! :)