Problems constructing an adapter from a profile
Loading errors
During the construction of the adapter from the profile, the core will
report both fatal and non-fatal errors. Fatal errors are caused if the
adapter could not be constructed or there was a fatal inconsistency in the
profile.
Fatal errors
Fatal errors include:
- Could not load class
- The class could not be found or there was an error in attempting to load
it.
- Could not configure class
- The loaded class threw an exception during loading. This could
result from not passing the correct parameters.
- Could not start class
- The class could not correctly start its operation, possibly resulting from
the inability to connect to an application.
- Routing paths conflict
- At least two routing paths contain the same origin and object.
- Routing destination specified does not exist
- One of the routing paths specified a destination that did not map to any
sender in the profile
- Routing origin specified does not exist
- One of the routing paths specified an origin that did not map to any
receiver in the profile
- Routing logic module specified does not exist.
- One of the routing paths specified a logic module that does not exist in
the profile
Non-fatal errors
Non-fatal errors during loading include warnings about correctly configured
adapters that could cause inadvertent errors. Examples of non-fatal
errors include:
- Objects not supported from CW controller side.
- If WBI is the broker, the connector controller on ICS may expect the
adapter to support certain business objects. This warning is created if
an object cannot be sent into the adapter from ICS.
- Specific route overrides a Generic Route
- Warns if the profile has a specific route that overrides a generic
route. Warns the user that an object from the particular receiver will
take the specific route and not the generic route.
The non-fatal errors do not stop operation of the adapter because they do
not interfere with the performance of the adapter. However, warning
messages are sent in case the user has configured the adapter
incorrectly.
Routing errors
At runtime, the adapter core will attempt to recover from all
errors. However, the core will report errors to the transport receivers
if their objects caused an error in routing. Each transport receiver
must implement the handleError() function to attempt to recover from failed
routing. Here are some errors that could occur during routing:
- Route not found for object
- There could be several reasons for this error. One could be that
the MessageEvent did not correctly specify the receiver who requested
routing. Each transport receiver is expected to set its name in the
MessageEvent before it routes the event. If the name specified is
malformed this could also cause an error. Finally, a routing path may
not exist in the profile, so the core does not have an route to apply.
- Logic Module processing failure
- One of the logic modules in the path threw an exception during
processing.
