Adapter Logging and Exception Handling

Overview

The following sections describe message logging and Adapter for EJB exception handling. A list of error codes and supporting information appears at the end of this chapter.

Adapter Logging Levels

Adapter for EJB uses Integration Server's logging mechanism to log messages. You can configure and view Integration Server's logs to monitor and troubleshoot Adapter for EJB. For detailed information about logging into Integration Server, including instructions for configuring and viewing the different kinds of logs supported by the server, see the IBM webMethods Integration Server Administrator’s Guide for your release.

You can configure different logging levels for Adapter for EJB.

Accessing the Adapter's Logging Information

About this task

To access the Adapter's logging information

Procedure

  1. From the Integration Server Administrator screen, select Settings > Logging.

    On the Logging Settings screen, the Loggers section has Adapters included in the Facility section.

  2. Expand the Adapters tree to see a list of all installed adapters with their code number and adapter description, along with the logging level.

Changing Logging Settings

About this task

To change the logging settings for Adapter for EJB

Procedure

  1. Click Edit Logging Settings. Select the required Level of logging for Adapter for EJB.
  2. After making your changes, click Save Changes.
  3. For complete information about specifying the amount and type of information to include in the log, see the IBM webMethods Audit Logging Guide for your release.

Adapter Message Logging

Integration Server maintains several types of logs; however, Adapter for EJB only logs messages to the Audit, Error and Server logs, as described in the table below:

Log Description
Audit Log You can monitor individual adapter services using the audit log as you would audit any service in Integration Server. The audit properties for an adapter service are available in each Adapter for EJB service template on the Audit tab.
Error Log Adapter for EJB automatically posts critical-level and error-level log messages to the server's Error log. These log messages will appear as Adapter Runtime messages.
Server Log Adapter for EJB posts messages to the Server log, depending on how the server log is configured. Critical-level through debug-level log messages appear as Adapter Runtime log messages. V1-Verbose1 or V4-Verbose4 log messages appear as Adapter for EJB log messages.

Note that Adapter for EJB does not log debug messages at the Debug level. Rather, it logs all of its debug output at the Verbose3 or Verbose4 level. Verbose3 is used for general debug logging and Verbose4 is used to log problems encountered while traversing entries on the JNDI server.

Adapter for EJB log messages appear in the following format: ADA.0640.nnnnc, where:

  • ADA is the facility code that indicates the message is from an adapter.
  • 0640 (or 640) is the major error code for Adapter for EJB, which indicates that the message is generated by Adapter for EJB.
  • nnnn represents the error's minor code. For detailed descriptions of the minor codes for Adapter for EJB, see Adapter for EJB Error Messages.
  • c represents the message's severity level (optional).

Because Adapter for EJB works in conjunction with the WmART package, exceptions generated within the adapter frequently will appear within log messages for the WmART package.

To monitor Adapter for EJB log messages in the Server log, ensure that your server log's logging settings are configured to monitor the following facilities:

  • 0113 Adapter Runtime (Managed Object)
  • 0114 Adapter Runtime
  • 0117 Adapter Runtime (Adapter Service)
  • 0118 Adapter Runtime (Connection)
  • 0121 Adapter Runtime (SCC Transaction Manager)
  • 0126 Adapter Runtime (SCC Connection Manager)

Adapter Exception Handling

Adapter for EJB throws three exception classes that you should be aware of as you build integrations using the adapter: AdapterException, AdapterConnectionException, and AdapterServiceException. In all cases, the adapter passes the underlying exception on to the Adapter Runtime, which wraps it in a container exception that it then passes on to Integration Server. Integration Server then serializes the exception and returns it to the client service. Typically, that client (for example, a flow or Java service that calls an adapter service) will include logic that traps these exceptions and branches accordingly. For information about how to trap the exception in a flow, see the IBM webMethods Service Development Help for your release.

With Adapter for EJB, errors typically originate from one of two sources: JNDI or EJB:

  • JNDI exceptions generally are manifested as instances of javax.naming.NamingException. This is simply a generalized wrapper for a list of low-level causes; some fatal, some not. Adapter for EJB examines the NamingException object to determine the underlying cause, and then wraps it in either an AdapterException or an AdapterConnectionException. If the exception occurs during lookup or introspection of a specific EJB, the adapter throws the wrapped exception to the Adapter Runtime. If the exception occurs while the adapter is while navigating the JNDI tree, the adapter logs a message in the Server log at level 8 (Verbose4) and continues.
  • EJB exceptions are typically wrapped as java.rmi.RemoteException. As with NamingExceptions, Adapter for EJB examines it for the root cause, wraps it in an AdapterException or AdapterConnectionException, and throws it to the Adapter Runtime.

AdapterException

Adapter for EJB throws an AdapterException to report an error related to the back-end resource (the application server) that does not involve the connection to that resource. An example of this type of error might be that an EJB lookup failed.

AdapterConnectionException

Adapter for EJB throws an AdapterConnectionException to report a non-recoverable error in the connection to the back-end resource (the application server). In this case, WmART drops the connection from the connection pool and tries to create a new connection.

It then wraps the exception in com.wm.pkg.art.error.DetailedSystemException and throws it to Integration Server.

AdapterServiceException

Adapter for EJB throws an AdapterServiceException for any error that occurs:

  • While starting the adapter
  • While shutting down the adapter
  • When invoking the standalone Java service RemoveEJB (pub.ejbadapter.removeEJB)

The first two situations indicate some fundamental problem that prevents the adapter from being started or terminated. These are administrative errors that do not typically involve client services using the adapter to access EJBs.

The third situation indicates a runtime error that occurs when the Java service pub.ejbadapter.removeEJB attempts to invoke a remote EJB's remove method. In this case, the client service may be involved and will likely need to trap the error.

Reporting Non-Fatal Connection Errors

About this task

To report non-fatal connection errors correctly, you must convert them to fatal.

To convert non-fatal connection errors to fatal, you must set the watt.ejbadapter.fatalErrors watt parameter to list the errors that are to be reported as fatal.

To set the watt.ejbadapter.fatalErrors parameter

Procedure

  1. In Integration Server Administrator, click Settings > Extended > Edit Extended Settings.
  2. In the Extended Settings editor, type the following:
    watt.ejbadapter.fatalErrors=<error_1,error_2,...
    error_n>

    For example:

    watt.ejbadapter.fatalErrors=  
    +COMM_FAILURE,NoRouteToHostException,InvocationTargetException  
    ,ConnectException
    Note: The parameter name is case sensitive.
  3. Click Save Changes. A key for the new property appears in the Extended Settings list.
  4. Click Show and Hide Keys. You will see watt.ejbadapter.fatalErrors listed as a Key and as visible.
  5. Restart Integration Server.

Adapter for EJB Error Messages

Adapter for EJB categorizes its minor code numbers as follows:

  • 1000-1999. Adapter-specific errors, warnings, and informational messages
  • 3000-3999. Connection related errors, warnings, and informational messages
  • 5000-5999. Adapter service related errors, warnings, and informational messages

Adapter Error Codes

Error Code Description
1001  In service {0}: Pipeline is empty
Explanation:  The content of the IData pipeline sent to the testEJBToWebm sample service is null.
Action:  Ensure that the client from which you are invoking testEJBToWebm is sending an IData instance that conforms to this service's input signature. Specifically, it should contain a single String field named "inVal".
1002  In service {0}: Failed to cast object in pipeline to expected type
Explanation:  The value sent to the testEJBToWebm sample service is not a java.lang.String.
Action:  Ensure that the client from which you are invoking testEJBToWebm is sending an IData instance that conforms to this service's input signature. Specifically, it should contain a single String field named "inVal".
3000  Caught exception attempting to create WmManagedConnection for server type: {0}
Explanation:  An unexpected exception occurred attempting to create an instance of a connection of the indicated type.
Action:  Contact IBM support.
3001  JNDI properties file is null
Explanation:  User must enter a path to a text file containing the relevant JNDI properties.
Action:  Ensure that the Properties File Name parameter on the Connection Types screen contains the path to a valid JNDI properties file.
3002  Failed to locate JNDI properties file: {0}
Explanation:  While attempting to enable a connection, the adapter could not read the specified JNDI properties file.
Action:  Ensure that the Properties File Name parameter on the Connection Types screen contains the path to a valid JNDI properties file. Also ensure that the file can be read by the adapter at that path.
3003  Failed to load JNDI properties file: {0}
Explanation:  The contents of the specified JNDI properties file do not support the java.util.Properties standard.
Action:  Ensure that the contents of the specified file support the java.util.Properties standard.
3005  Failed to instantiate XAResource from {0}
Explanation:  The adapter failed to obtain an instance of XAResource from the application server using the specified string.
Action:  Ensure that the string in the XAResource Source parameter on the Connection Types screen conforms to the application server vendor's requirements for obtaining an XAResource instance.
3006  Failed to get InitialContext
Explanation:  The adapter failed to create an InitialContext for the configured application server.
Action:  Ensure that the application server and its JNDI implementation are running and can be reached over the network. Ensure that the necessary client-side jar files for this back-end are installed under the WmEJBAdapter/code/jars directory. Also ensure that the contents of the specified JNDI properties file are correct.
3007  Failed to lookup UserTransaction object: {0}
Explanation:  The adapter failed to obtain the specified UserTransaction instance from the back-end.
Action:  Ensure that the indicated UserTransaction lookup name is exposed in the application server's JNDI implementation and that it is accessible to the adapter.
3008  Failed to locate any supported connection classes for this factory: {0}
Explanation:  The indicated connection factory class could not find any implementor classes for this type of connection.
Action:  Contact IBM support.
3009  Failed to release InitialContext
Explanation:  An error occurred closing the InitialContext.
Action:  Contact IBM support.
3010  Failed to create EJBDescriptor for: {0} reason: {1}
Explanation:  An unexpected problem occurred introspecting an individual EJB. This error might occur if the EJB does not expose public methods, its home or remote interface class is null, or it is in some other way corrupt.
Action:  Ensure that the specified EJB is configured and deployed correctly on the application server.
3011  Failed to lookup bean: {0}
Explanation:  The adapter failed to look up the specified EJB on the application server.
Action:  Ensure that the specified EJB is configured and deployed correctly on the application server.
3012  Failed to cast {0} to EJBHome
Explanation:  The adapter could not type cast the specified EJB remote home to a javax.ejb.EJBHome instance.
Action:  Contact IBM support.
3013  Failed to get NameParser for this context
Explanation:  The adapter failed to obtain the javax.naming.NameParser instance from the current InitialContext.
Action:  Contact IBM support.
3014  Failed to parse context name: {0}
Explanation:  The connection failed to parse the specified root JNDI context.
Action:  Ensure that the adapter has access to JNDI and is authorized to read the specified context.
3015  Failed to list contents of context: {0}
Explanation:  The connection failed to list the JNDI bindings at the specified context.
Action:  Ensure that the adapter has access to JNDI and is authorized to read the specified context.
3016  Failed to enumerate item in context: {0}, reason: {1}
Explanation:  The connection could not isolate a binding in the specified JNDI context.
Action:  Ensure that the adapter has access to JNDI and is authorized to read the specified context.
3019  Nested exception is {0}- {1}
Explanation:  An unexpected error has occurred while traversing the bindings in the application server's JNDI implementation.
Action:  Contact IBM support.
3021  Failed to lookup object bound at {0}: {1}
Explanation:  The connection was unable to look up the specified object in the application server's JNDI implementation.
Action:  For certain types of objects deployed in some JNDI servers, this error may not be unexpected and can be safely ignored. If the specified object is an EJB, ensure that it is configured/deployed properly on the application server and is accessible to the adapter.
3022  Object bound at {0} is null
Explanation:  The object bound at the specified location in JNDI is null.
Action:  For certain types of objects deployed in some JNDI servers, this error may not be unexpected and can be safely ignored. If the specified object is an EJB, ensure that it is configured/deployed properly on the application server and is accessible to the adapter.
3024  Failed to retrieve metadata for EJB bound at: {0}
Explanation:  The adapter failed to obtain the EJB metadata for the specified EJB. This error could occur if the application server implements EJB 1.0 only. Adapter for EJB is not backwardly compatible with EJB 1.0 beans.
Action:  Upgrade to EJB 1.1 or greater.
3025  Call to EJBHome.getEJBMetaData() failed for {0}: {1}
Explanation:  An exception occurred while invoking the indicated method on the specified EJB.
Action:  Ensure that the specified EJB is configured and deployed correctly on the application server.
3026  Failed to get EJBHome interface class object for {0}: {1}
Explanation:  An exception occurred while attempting to get the remote home class object for the specified EJB.
Action:  Ensure that the specified EJB is configured and deployed correctly on the application server.
3027  Failed to get remote interface class object for {0}: {1}
Explanation:  An exception occurred while attempting to get the remote bean class object for the specified EJB.
Action:  Ensure that the specified EJB is configured and deployed correctly on the application server.
3028  Failed to determine bean type for {0}: {1}
Explanation:  An exception occurred while attempting to determine whether the specified EJB is a session bean or an entity bean.
Action:  Ensure that the specified EJB is configured and deployed correctly on the application server.
3029  Failed to determine session bean type for {0}: {1}
Explanation:  An exception occurred while attempting to determine whether the specified session EJB is stateless or stateful. This error could occur if the application server implements EJB 1.0 only. Adapter for EJB is not backwardly-compatible with EJB 1.0 beans.
Action:  Ensure that the specified EJB is configured and deployed correctly on the application server. Upgrade to EJB 1.1 or greater.
3030  Failed to downcast EJB {0} of type {1} to javax.ejb.EJBHome, reason: {2}
Explanation:  An attempt to type cast an EJB from the specified class to javax.ejb.EJBHome has failed.
Action:  Ensure that the specified EJB is configured and deployed correctly on the application server.
3031  Unexpected exception registering resource domains in: {0}
Explanation:  An unexpected exception occurred registering resource domain names for the given connection class.
Action:  Contact IBM support.
3032  Unexpected exception looking-up resource domain: {0}
Explanation:  An unexpected exception occurred performing a resource lookup on the specified resource domain.
Action:  Contact IBM support.
3033  Unexpected exception checking values in resource domain: {0}
Explanation:  An unexpected error occurred while validating the value(s) assigned to the specified resource domain.
Action:  Contact IBM support.
3034  Failed to obtain WmEJBConnectionFactory object from parent
Explanation:  The WmEJBConnection instance could not determine the factory object that created it.
Action:  Contact IBM support.
3035  Failed to lookup EJBHome: {0}
Explanation:  The adapter service failed to look up the remote home object for the specified EJB.
Action:  Ensure that the specified EJB is configured and deployed correctly on the application server.
3036  Failed to begin local transaction
Explanation:  An unexpected error occurred while trying to begin a local transaction. Note that certain EJB configurations (for example, those with the Never attribute set) cannot participate in a transaction.
Action:  Ensure that the specified EJB is configured to run in a transaction. For more information, see the sections “EJB Transaction Management” and “Services and Transaction Management” in the Overview chapter of the Adapter for EJB installation and user's guide.
3037  Failed to commit local transaction
Explanation:  An unexpected error occurred while trying to commit a local transaction. Note that certain EJB configurations (for example, those with the Never attribute set) cannot participate in a transaction.
Action:  Ensure that the specified EJB is configured to run in a transaction. For more information, see the sections “EJB Transaction Management” and “Services and Transaction Management” in the Overview chapter of the Adapter for EJB installation and user's guide.
3038  Failed to rollback local transaction
Explanation:  An unexpected error occurred while trying to roll back a local transaction. Note: Certain EJB configurations (for example, those with the Never attribute set) cannot participate in a transaction.
Action:  Ensure that the specified EJB is configured to run in a transaction. For more information, see the sections “EJB Transaction Management” and “Services and Transaction Management” in the Overview chapter of the Adapter for EJB installation and user's guide.
3039  Connection factory is {0}, but connection does not implement {1}
Explanation:  The configured connection factory and connection implementation classes are not compatible. This situation can only occur when programmatically creating adapter connections using the WmART Extended Utilities services.
Action:  Contact IBM support.
3998  javax.naming.NamingException explanation: {0}
Explanation:  This is a supplementary message that is logged when a NamingException has occurred. This message logs the output of NamingException.getExplanation().
Action:  This is a generic log message that may be caused by any of several JNDI-related events. Ensure that the problem is not due to the application server JNDI configuration.
3999  javax.naming.NamingException root cause: {0}
Explanation:  This is a supplementary message that is logged when a NamingException has occurred. This message logs the output of NamingException.getRootCause().getMessage().
Action:  This is a generic log message that may be caused by any of several JNDI-related events. Ensure that the problem is not due to the application server JNDI configuration.
5000  WmManagedConnection instance does not implement EJBClient
Explanation:  The Adapter Runtime has passed a WmManagedConnection object to one of the adapter's services that is not a subclass of com.wm.adapter.wmejb.connection.EJBClient.
Action:  Contact IBM support.
5001  Unexpected exception executing adapter service: {0}
Explanation:  An exception other than javax.naming.NamingException or com.wm.adk.error.AdapterException was thrown during execution of the specified adapter service.
Action:  Contact IBM support.
5002  Invocation of home method {0}.{1} returned null
Explanation:  The specified remote home method returned a null object to the invoking adapter service.
Action:  Ensure that the target EJB method is implemented, configured, and deployed properly on the application server.
5003  InvocationTargetException occurred on method: {0} - {1}
Explanation:  This type of exception can occur when the arguments provided to the specified remote method cause that method to fail. This situation typically occurs with entity EJB finder methods when the input values yield an empty result set in the target bean method.
Action:  Ensure that the target EJB method is implemented correctly and that the input values provided are valid.
5004  Actual input signature does not match configured input signature
Explanation:  The actual IData input signature provided to the adapter service is inconsistent with the configured input signature for that service.
Action:  Ensure that the client invoking the configured adapter service instance passes arguments to that service in compliance with the service's input signature.
5005  For method: {0} on remote class: {1}, failed to introspect method parameters
Explanation:  The adapter service failed to locate the class file for an object in the remote method's configured parameters list. This error occurs when the class file is not visible to the adapter's class loader.
Action:  Ensure that the jar file containing the class has been copied into the packages/WmEJBAdapter/code/jars directory.
5006  Failed to locate method: {0} on remote class: {1}
Explanation:  The adapter service failed to find the specified method in the specified EJB class. This error can occur if an InvokeEJB 2.1 service is passed an EJB handle for a different EJB type than what it was configured for, or the signature of the EJB class itself has been modified since the adapter service was configured.
Action:  Ensure that the EJB handle you are passing into an InvokeEJB 2.1 service instance matches the EJB class that the service was configured for. If the EJB has changed, re-configure the service instance.
5007  Failed to invoke remote method: {0}, reason: {1}
Explanation:  An unexpected exception was thrown while calling a remote method on an EJB's home or bean interface. This error could be due to a number of causes, including a defect in the EJB itself.
Action:  Ensure that the EJB is implemented, configured, and deployed properly and that it is accessible to Adapter for EJB.
5008  Empty Collection/Enumeration returned by creator method: {0}
Explanation:  The specified method on the EJB home interface was successfully invoked, but returned an empty collection object as its result. This error is due to an implementation defect in the EJB home method itself.
Action:  Correct the logic problem in the indicated method. Re-deploy the EJB.
5009  Failed to lookup default EJB in resource domain: {0}
Explanation:  This error indicates a logic defect in the adapter configuration code.
Action:  Contact IBM support.
5010  Failed to lookup default method in resource domain: {0}
Explanation:  While configuring the indicated resource domain, the adapter failed to detect any public methods in an EJBHome or EJBObject interface implementation class. This error could indicate that the EJB itself is corrupt or configured incorrectly. It may also indicate an internal logic defect in the adapter code.
Action:  Ensure that the EJB is implemented, configured, and deployed properly.
5011  Failed to get EJBObject from Handle
Explanation:  A call to javax.ejb.Handle.getEJBObject() has failed. The most likely cause is a configuration problem in Adapter for EJB.
Action:  Contact IBM support.
5012  Remote method {0}.{1} expected return value of type {2}, but received null
Explanation:  The adapter service has successfully invoked the specified remote method on the EJB. However, the value returned by that method was null though an object of the indicated type was expected. This error indicates a logic defect in the EJB method itself.
Action:  Correct the defect and re-deploy the EJB.
5013  Input record to InvokeEJB.execute() is empty
Explanation:  The input record passed into this adapter service instance at runtime contained no data. This error indicates a defect in the client code that is calling this service. (InvokeEJB is the name of the underlying adapter service template class for an InvokeEJB 2.1 service.)
Action:  Ensure that the client service code is implemented correctly. At a minimum, all calls to InvokeEJB.execute must contain an EJB Handle instance in the input pipeline.
5014  Unexpected exception removing EJB
Explanation:  The standalone service pub.ejbadapter.removeEJB caught an unexpected exception when calling the method java.ejb.EJBObject.remove() on an EJB. The cause is indeterminate.
Action:  Contact IBM support.
5015  java.rmi.RemoteException occurred trying to remove EJB
Explanation:  The standalone service pub.ejbadapter.removeEJB caught the indicated exception when calling the method java.ejb.EJBObject.remove() on an EJB.
Action:  Contact IBM support.
5016  Expected EJB is null or not of type javax.ejb.Handle in removeEJB
Explanation:  The EJB passed into a call to pub.ejbadapter.removeEJB is null or not the correct type. This error indicates a defect in the client code invoking this service.
Action:  Correct the client code.
5017  Input WmRecord object is null
Explanation:  The input record passed to an adapter service instance is null. This error indicates a defect in the client code invoking this service.
Action:  Correct the client code.
5018  EJBDescriptorCache is null or empty
Explanation:  The adapter failed to locate any EJBs registered in the JNDI server. This error could be due to a number of causes.
Action:  Ensure that EJBs are configured and deployed properly on the application server and that they are accessible to Adapter for EJB.
5019  EJBClassDescriptor is null
Explanation:  This error indicates an internal logic defect in the adapter code.
Action:  Contact IBM support.
5020  EJBMethodDescriptor is null
Explanation:  This indicates an internal logic defect in the adapter code.
Action:  Contact IBM support.
5021  Unsupported object of type {0} returned by EJB home method
Explanation:  The adapter successfully invoked a remote home method on an EJB, but the object returned by that method is of the specified type, that is not supported. The cause is indeterminate.
Action:  Contact IBM support.
5022  Invalid supported connection class found in impl directory: {0}
Explanation:  A class file for a class that is not a subclass of com.wm.adapter.wmejb.connection.WmEJBConnection was found in the following adapter directory: WmEJBAdapter/code/classes/com/wm/adapter/wmejb/connection/impl/supported
Action:  Move the specified class file into another directory to prevent this message from displaying.
5023  Cannot execute method {0}; Handle is null
Explanation:  An instance of InvokeEJB 2.1 or CreateInvokeEJB 2.1 cannot execute the stated remote bean method because the Handle object it uses to get the EJBObject instance is null. For an InvokeEJB 2.1 service, the handle is passed in from the client code. For a CreateInvokeEJB 2.1 service, the handle instance is generated internally.
Action:  If this error occurs when your client code is calling InvokeEJB 2.1, ensure that you are passing a valid javax.ejb.Handle object to the service.
5024  Remove not allowed on given EJB
Explanation:  The standalone service pub.ejbadapter.removeEJB caught a javax.ejb.Remove exception when calling the method java.ejb.EJBObject.remove() on an EJB. The EJB container has determined that the EJB cannot be removed at this time, which may or may not be the expected behavior.
Action:  Check with the EJB deployer to ensure that it is configured to allow removal. In particular, stateful EJBs running within a transaction may be subject to containerimposed restrictions on their removal. Alternatively, omit the call to removeEJB in your client or trap the error and branch accordingly.
5025  FetchEJB has failed to look-up resource domain: {0} with dependency value: {1}. This can happen if the service is using an EJB that no longer exists or has been modified.
Explanation:  The EJB that the adapter service has been configured to use does not match the EJB deployed on the server or the EJB is no longer deployed. This error message may display multiple times. (FetchEJB is the name of the underlying adapter service template class for a CreateEJB 2.1 service.)
Action:  If the EJB no longer exists, delete this adapter service instance. If the EJB has changed, re-configure this adapter service instance.
5026  InvokeEJB has failed to look-up resource domain: {0} with dependency value: {1}. This can happen if the service is using an EJB that no longer exists or has been modified.
Explanation:  The EJB that the adapter service has been configured to use does not match the EJB deployed on the server or the EJB is no longer deployed. This error message may display multiple times. (InvokeEJB is the name of the underlying adapter service template class for an InvokeEJB 2.1 service.)
Action:  If the EJB no longer exists, delete this adapter service instance. If the EJB has changed, re-configure this adapter service instance.
5027  FetchAndInvokeEJB has failed to look-up resource domain: {0} with dependency value: {1}. This can happen if the service is using an EJB that no longer exists or has been modified.
Explanation:  The EJB that the adapter service has been configured to use does not match the EJB deployed on the server or the EJB is no longer deployed. This error message may display multiple times. (FetchandInvokeEJB is the name of the underlying adapter service template class for a CreateInvokeEJB 2.1 service.)
Action:  If the EJB no longer exists, delete this adapter service instance. If the EJB has changed, re-configure this adapter service instance.
5028  The EJB object passed into InvokeEJB does not match the expected type: {0}
Explanation:  The Invoke Adapter for EJB service you are running was configured for an EJB of the stated class type. However, an EJB of a different type was passed into the service at run time. (InvokeEJB is the name of the underlying adapter service template class for an InvokeEJB 2.1 service.)
Action:  Edit the flow service to map the correct EJB type to the 'EJB' input parameter of the configured Invoke Adapter for EJB service.
5029  The parameter: {0} in the service you are running is a Java primitive type--it cannot be null.
Explanation:  The service you are running attempts to call a remote EJB method with a primitive argument for which no value was provided.
Action:  Edit the service to ensure that all primitive method parameters have an appropriate value. Consult the EJB you are running against to determine what values might be appropriate.
5030  Input record to InvokeEJB30.execute() is empty
Explanation:  The input record passed into this adapter service instance at runtime contained no data. This error indicates a defect in the client code that is calling this service. (InvokeEJB30 is the name of the underlying adapter service template class for an InvokeEJB 3.0 service.)
Action:  Ensure that the client service code is implemented correctly. At a minimum, all calls to InvokeEJB30.execute must contain an EJB Handle instance in the input pipeline.
5031  InvokeEJB30 has failed to look-up resource domain: {0} with dependency value: {1}. This can happen if the service is using an EJB that no longer exists or has been modified.
Explanation:  The EJB that the adapter service has been configured to use does not match the EJB deployed on the server or the EJB is no longer deployed. This error message may display multiple times. (InvokeEJB30 is the name of the underlying adapter service template class for an InvokeEJB 3.0 service.)
Action:  If the EJB no longer exists, delete this adapter service instance. If the EJB has changed, re-configure this adapter service instance.
5032  FetchAndInvokeEJB30 has failed to look-up resource domain: {0} with dependency value: {1}. This can happen if the service is using an EJB that no longer exists or has been modified.
Explanation:  The EJB that the adapter service has been configured to use does not match the EJB deployed on the server or the EJB is no longer deployed. This error message may display multiple times. (FetchandInvokeEJB30 is the name of the underlying adapter service template class for a FetchInvokeEJB 3.0 service.)
Action:  If the EJB no longer exists, delete this adapter service instance. If the EJB has changed, re-configure this adapter service instance.
5033  The EJB object passed into InvokeEJB30 does not match the expected type: {0}
Explanation:  The InvokeEJB30 adapter service you are running was configured for an EJB of the stated class type. However, an EJB of a different type was passed into the service at run time. (InvokeEJB30 is the name of the underlying adapter service template class for an InvokeEJB 3.0 service.)
Action:  Edit the flow service to map the correct EJB type to the 'EJB' input parameter of the configured InvokeEJB30 adapter service.
5034  FetchEJB30 has failed to look-up resource domain: {0} with dependency value: {1}. This can happen if the service is using an EJB that no longer exists or has been modified.
Explanation:  The EJB that the adapter service has been configured to use does not match the EJB deployed on the server or the EJB is no longer deployed. This error message may display multiple times. (FetchEJB30 is the name of the underlying adapter service template class for a FetchEJB 3.0 service.)
Action:  If the EJB no longer exists, delete this adapter service instance. If the EJB has changed, re-configure this adapter service instance.
5998  java.rmi.RemoteException explanation: {0}
Explanation:  This is a supplementary message that is logged when a RemoteException has occurred. This message logs the output of RemoteException.getMessage().
Action:  This is a generic log message that may be caused by any of several RMI-related events. Ensure that the problem is not due to the application server EJB configuration. Contact IBM support.
5999  java.rmi.RemoteException root cause: {0}
Explanation:  This is a supplementary message that is logged when a RemoteException has occurred. This message logs the output of RemoteException.detail.toString().
Action:  This is a generic log message that may be caused by any of several RMI-related events. Ensure that the problem is not due to the application server EJB configuration.