Wednesday, 25 September 2013
Function Selectors Usage in BPMv7.5
During inbound processing, a function selector returns the appropriate operation to
be called on the service.
Filename Function Selector:-
Filename Function Selector is a rule-based function selector that provides object
name resolution based on regular expressions that map to file names. A regular
expression is a string that is used to describe or match a set of strings according to
certain syntax rules. As shown below .
Here “customer” is business object name and “CUST*.xml” regular expression
It only poll the files which have file name Starts with CUST and extension as .xml.
Note :- Make sure that native method must be “emitcustomer” because customer is business object name.
EmbeddedNameFunctionSelector is used for content-specific business objects, where the object name is embedded in the event file. It returns the function name based on the required content data, and not on the wrapper. For example, if the content-specific business object is customerWrapperBG, the function returned by the function selector is emitcustomer. This function selector must be configured with a data handler. The data binding must be the adapter-specific WrapperDataBinding, and it must be configured to use the same data handler that is configured with the function selector.
RootNameFunctionSelector is used only for global elements in business objects, where the global element name is the root element name in the event XML file. It returns the function name based on the global element name. For example, if the global element name is CustomerType1, the function returned by the root name function selector is ‘emit CustomerType1'. RootNameFunctionSelector should be used only for global elements with XML Datahandler or UTF8XMLDatahandler.
Note: To use global Elements with Delimited Datahandler or FixedWidth Datahandler, you should use FilenameFunctionSelector instead of RootNameFunctionSelector. RootNameFunctionSelector does not require a Datahandler configuration, as it does not depend on the data handler to determine the function name.