The following sections describe development and deployment for both user created receivers and handlers.
The receiver and receiver handler development API relies on classes and interfaces from two packages:
These packages are part of the bcgsdk.jar which is found in the WBI-C installable in the following directories:
In all deployed instances, this .jar file is installed in the application server classpath.
For development, the bcgsdk.jar file should be included in the build path of the project that contains the user exit classes, i.e., in the classpath.
All user created code, including custom receivers and handlers, should be packaged and deployed in one of the following ways:
In addition, all handler classes must be accompanied by an XML descriptor file, which allows key data about the handlers to be imported into the Console GUI. In the brief outline that follows, HandlerClassName is the name of the handler class; Description is a brief description of the class; HandlerTypeValues is the component name (RECEIVER - for receiver handlers, GATEWAY - for sender handlers, FIXEDWORKFLOW - for fixed inbound or outbound handlers, or ACTION - for variable workflow steps) followed by the type of handler (e.g., PREPROCESS.<transport>, PROTOCOL.UNPACKAGING, etc.); and ComponentAttribute is any configurable member variable in the handler class which changes the behavior of the handler at runtime.
<?xml version="1.0" encoding="UTF-8"?> <tns:HandlerDefinition xmlns:tns="http://www.ibm.com/websphere/bcg/2004/v0.1/import/external" xmlns:tns2="http://www.ibm.com/websphere/bcg/2004/v0.1/import /external/types" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.ibm.com/websphere/bcg/2004/v0.1 /import/external bcghandler.xsd http://www.ibm.com/websphere/bcg/2004/v0.1 /import/external/types bcgimport.xsd "> <tns:HandlerClassName>com.ibm.SampleHandler </tns:HandlerClassName> <tns:Description>A Sample Handler</tns:Description> <tns:HandlerTypes> <tns:HandlerTypeValue>COMPONENT.TYPE</tns:HandlerTypeValue> </tns:HandlerTypes> <tns:HandlerAttributes> <tns2:ComponentAttribute> <tns2:AttributeName>Attribute 1</tns2:AttributeName> </tns2:ComponentAttribute> <tns2:ComponentAttribute> <tns2:AttributeName>Attribute 2</tns2:AttributeName> <tns2:AttributeDefaultValue>Attribute2DefaultValue </tns2:AttributeDefaultValue> </tns2:ComponentAttribute> </tns:HandlerAttributes> </tns:HandlerDefinition>