Sun B2B Suite eXchange Integrator User's Guide

Chapter 8 eXchange Troubleshooting Tips

This chapter provides troubleshooting and tuning information for eXchange Integrator.

What’s in This Chapter

Identifying and Resolving Problems

The Sun Java System B2B Release Notes PDF contains a list of known issues for eXchange Integrator and other B2B products. This document is available at http://docs.sun.com/app/docs.

For help resolving some commonly encountered difficulties, see Table 8–1.

Table 8–1 Troubleshooting: Symptoms, Causes, and Remedies

Symptom 

Possible Causes 

Suggested Remedies 

In Enterprise Manager, while uploading, receive message “installation failed”; and/or log says “Could not install: product

One or more prerequisite .sar files have not been installed. 

Ensure you are licensed to install the product. Install its prerequisite .sar files one by one and then upload the product again.  

During installation, the console displays this text: [InstallJavaCollab] Error is: ...ClassNotFoundException: ...NBSystemResourceLoader

This is normal behavior. 

If the upload finishes successfully, ignore this error message; there is no problem. 

Messages in log files or on the console are too sparse or too abundant.

The level of message output in the log4j.properties file is not set appropriately.

Depending on the module that is too terse or too verbose, edit the file in one or more of these jc512 locations:

  • edesigner\bin\log4j.properties

  • ESRs\log4j.properties

  • monitor\config\log4j.properties

  • Repository\server\conf\log4j.properties

In the Deployment Editor, cannot drop an Oracle eWay onto the Oracle external; or, upon Automap, the Oracle eWay is not assigned to any external. 

  • The eWay is Inbound but the external is Outbound, or vice versa.

  • The Oracle host is not configured to match a running Oracle service.

  • The Oracle service is not running.

  • Reconfigure the eWay (in the connectivity map) or the Oracle host (in the environment editor).

  • In the environment editor, double-check the properties of the Oracle external system.

  • Start the Oracle service (e.g., using Control Panel⇒Admin... ⇒Services).

Upon running bootstrap, receive message “An instance of bootstrap is already running in this directory.”

A previous bootstrap was shut down improperly. 

First, try running the shutdown script with the -c flag.

If the problem continues to persist after this, find and remove the bootstrap.lock file.

Any of the following runtime messages are received:

  • Error while decrypting.

  • RSA_ not supported

  • Error while encrypting in PKCS7 format.

  • java.lang.SecurityException

Incorrect versions of the US_export_policy.jar and local_policy.jar files are in use.

See http://java.sun.com for instructions on how to obtain the correct versions. If you have installed the correct versions and still get this message, then run shutdown; delete all subdirectories under logicalhost , except bootstrap and jre; and then re-bootstrap to regenerate the keystores.

Changes made to the design, environment, or trading partner profile are not picked up at run time. For example: 

  • A component is added, but ignored.

  • A configuration error is corrected, but the runtime behavior is unchanged.

  • A keystore is changed, but the new password is not recognized.

Stale information is being retained by the Repository or Logical Host or eXchange database. 

  • Design changes: Double-check the connections between components; save all changes and check in all components; exit all canvases; refresh all from Repository; reopen and rebuild the deployment profile.

  • Environment changes: Either right-click the Logical Host and click Apply, or select the Apply Changes checkbox when reactivating the deployment profile, or use the- f flag when rebootstrapping.

  • TP profile changes: In ePM, go through the TP’s parameters and save each one; then rebuild the trading partner.

Message Tracker reports “No messages found”. 

  • The statement is accurate, and no messages have been processed.

  • The wrong host is specified and/or the filters are too stringent.

  • Look inside the eXchange database: If the EX_MSG_CONTENT table has no messages, the statement is accurate; ensure that the ChannelManager track operation is being used correctly.

  • Be sure the correct host is selected, and set the Search parameters to ALL for both Trading Partner and Protocol.

The Business Process starts, and ChannelManager retrieves the delivery channel profile, but nothing happens. 

  • There is no input being staged.

  • There is no binding for the internal delivery channel to the location where input exists.

  • Double-check the values for input directory and file mask (and, for FTP, hostname and login information). Ensure that input data exists.

  • In the TP profile, in Messaging Service Configuration, set the internal delivery channel for each messaging action so that it points at the correct input data location. Then, if necessary, resave.

Errors occur upon trying to bootstrap the Logical Host; log file text reads as follows: “DCPAccessException: No Host with Network Id ... at ...DCPDBViewV2.lookup”

You are trying to run a project that performs a TP lookup, but no trading partner profile has been saved in ePM. 

Create and save one or more trading partner profiles. See Creating and Configuring Transaction Profiles.

Unexpected errors occur at runtime, with the following error message text: “java.sql.SQLException: ORA-01000: maximum open cursors exceeded”

The load on the eXchange Oracle database is too great for the default settings to handle. 

In the init.ora file for the eXchange database, increase the value for the open_cursors parameter to 500. See Modifying the init.ora File for the eXchange Integrator Database.

Runtime exceptions are seen in the error log, such as a runtime.BPELInterpreter exception with this text:

“BPELException: Max Instances Exceeded and incoming request timeout for Business Process: path / GUID

— or— 

Messages that are submitted simultaneously are picked up but not processed. 

The load on the eXchange Oracle database, the Logical Host, and/or the eInsight engine is too great for the default settings to handle. 

See Performance Considerations. For example, when dealing with 100-200 concurrent messages, the following settings might be adjusted.

For Oracle: 

  • Change Oracle number of processes to 500.

    For the Logical Host:

  • Change heap size from 512 to 1024 (or higher, if the machine has sufficient memory).

    For LH >IS>eInsight Engine:

  • Increase the value for Max Concurrent Instances from empty (default) to 30.

  • Increase the value for Max Runtime Thread Pool from 15 to 90.

  • Increase the value for Receive Timeout and Max Concurrent Instances thus:RT > (N – MCI) *BPEwhere RT = Receive Timeout valueN = max number of input messagesMCI =Max Concurrent Instances valueBPE = maximum BP execution time

See the eInsight Business Process Manager User's Guide.

At runtime, batched messages are not handled correctly, or messages are not correlated correctly. The server.log file contains messages such as: “SQL Error: 1461, SQLState: 72000, and ORA-01461: Can bind a LONG value only for insert into a LONG column”.

In the environment referenced by the B2B Host, the value supplied for the User (and/or Password) in the Oracle external is different from the value for UserName (and/or Password) in the B2BService Configurator. 

In the environment referenced by the B2B Host, edit the B2BService Configurator properties so that the Oracle UserName and Password values match the User and Password values supplied for the Oracle external. Next, rebuild the B2B Host. Finally, rebuild and redeploy all projects that reference this B2B Host. 

If an inbound message's GS01 (FUNC_ID_CODE) does not match the corresponding information for the Trading Partner as specified in ePM, the B2B Suite will create a dead letter. The deadletter and the server.log will contain the following message:

Could not retrieve ExStdEvent

The value for the inbound GS01 does not match the value specified in ePM for the Trading Partner.  

Example log message: 

PM GS01 set to HS and inbound sent with GS01 = HA

Check to see if any of the following values do not match the expected values set in ePM, where var=value:

ISA_SENDER_QUAL = 01|ISA_SENDER_ID = AtlantaIID|ISA_RECEIVER_QUAL = 01|ISA_RECEIVER_ID = BerlinIID|ISA_VERSION = 00401|ST_TRANS_ID = 270|FUNC_ID_CODE = HA|GS_SENDER_ID = AtlantaAcd|GS_RECEIVER_ID = BerlinAcd|GS_VERSION = 004010|

Correct the mismatched information. 

Incorrect configuration of database users can result in runtime database errors. 

This problem can occur if different users are assigned via Enterprise Designer to the Oracle eWay and the B2BServiceConfiguration. For example, if the Oracle eWay's user is set to ex_adminA and the B2BServiceConfiguration Oracle user is set to ex_admin, a database error will occur. The B2B Suite does not support using two different database users for the same environment setup.

To correct the error, set the B2BServiceConfiguration Oracle user to ex_adminA and rebuild and redeploy eXchange.

Performance Considerations

For B2B Suite Projects that process large messages and transactions, or large amounts of transactions, you can configure the Project in the following ways to increase throughput and improve performance:

Increasing the Logical Host Heap Size

To avoid memory errors on the Logical Host, increase the heap size for the Logical Host to at least 1024 MB as described below.

ProcedureTo increase the Logical Host heap size

  1. In the Environment Explorer tab in Enterprise Designer, right-click the Logical Host, and click Properties.

    The Properties dialog box appears.

    See Figure 8–1.

  2. In the Heap Size box, enter the new heap size.

    Figure 8–1 Increasing Logical Host Heap Size

    Increasing Logical Host Heap Size

  3. Click OK.

Increasing eInsight Engine Performance

The eInsight engine has three properties that affect performance:

The Max Concurrent Instances property indicates the amount of inbound messages that each BP processes simultaneously. For example, if you set this property to 10, the BP processes up to ten inbound messages at the same time. When the eleventh message is received, the BP does not process the message until the processing of one of the ten messages has been completed.

The Max Runtime Thread Pool Size property defines how many threads BPs can invoke simultaneously.

These settings are a trade-off between performance and memory. Depending on how much memory your system has, you can specify these settings accordingly. Unfortunately it is impossible to recommend actual settings here because the memory capacity of your system is unknown. If you find your Project processes too slowly, or messages are lost, increase these settings as your system allows.

For instructions on configuring runtime properties of the eInsight engine, and more information about these properties, see the eInsight Business Process Manager User's Guide.

ProcedureTo increase eInsight Engine Performance

  1. In the Environment Explorer tab of the Enterprise Designer, expand the Logical Host folder, right-click the Integration Server, and click Properties.

    The Properties dialog box appears.

  2. In the Properties dialog, expand the Configuration⇒eInsight Engine Configuration folders.

  3. Increase the settings for the Max Concurrent Instances and Max Runtime Thread Pool Size properties.

    Figure 8–2 Increasing eInsight Engine Performance

    Increasing eInsight Engine Performance

  4. Click OK.

Increasing the JMS IQ Manager Segment Size Property

If a Project that uses the SeeBeyond JMS IQ Manager needs to process messages or transactions over 8 MB (Windows) or 16 MB (UNIX), increase the Segment size property of the JMS IQ Manager as described in the eGate Integrator JMS Reference Guide.

Increasing the Oracle Number of Processes

To increase throughput performance, increase the Oracle number of processes to handle simultaneous database process requests, such as 500. For information, refer to your Oracle documentation.