bea.com | products | dev2dev | support | askBEA

Download Docs | Site Map | Glossary
Search

Troubleshooting FAQ

Troubleshooting FAQ

The following sections provide answers to frequently asked questions about problems that you might encounter as you develop and deploy WebLogic Integration solutions:

- Installation and Preparation

- Migration

- Using the Samples

- Starting the Server

- Designing Applications

- Running Applications

- General Run-Time Issues

Questions are categorized according to typical user experiences. Each section describes one or more problems and includes a detailed description of the problem, one or more suggested remedies, and cross-references to additional helpful information, such as product documentation.

This section provides general troubleshooting tips. For information about known limitations in specific WebLogic Integration releases, see the BEA WebLogic Integration Release Notes.

Installation and Preparation

This section answers the following questions:

- What should I do if bulk loading of repository data fails?

- How can I determine the version of WebLogic Integration that I am using?

- I have just changed the IP address of my system. Why do I see lots of transaction errors in the log file?

What should I do if bulk loading of repository data fails?

Problem

In certain circumstances when working with B2B integration, such as before you run a WebLogic Integration sample, you are required to bulk load data into the WebLogic Integration repository. If error messages are displayed after you try to bulk load data into the repository, the bulk loading process has not run successfully.

Solution

Check the error message to determine the reason for the error. Then correct the error and perform the bulk loading operation again. Because bulk loading is not transactional, we suggest that you completely clean your database before bulk loading the data again.

Possible errors during bulk loading include:

- The table in which you are trying to insert data does not exist.

There is a mismatch between the bulk loading statement and the repository schema. To correct the problem, make sure that: (1) your bulk loading data file is correct; (2) your repository is up-to-date and complete; and (3) you have the correct version of the repository schema.

- A repository item (for example, Conversation) has been defined.

The bulk loading data conflicts with your existing repository information. Correct your current bulk loading data file or remove the old information from the repository.

For more information, see Working with the Bulk Loader in Administering B2B Integration.

How can I determine the version of WebLogic Integration that I am using?

Problem

You do not know how to determine the installed version of WebLogic Integration.

Solution

Look in the registry.xml file in the BEA Home directory that contains the WebLogic Integration installation. The registry.xml file contains an XML segment similar to the following:

>     <bea-product-information>
>         <host home="c:\bea" name="hostname" number="1">
>             <product format="1.0" name="WebLogic Platform">
>                 <release BeaProgramGroup="BEA WebLogic Platform 7.0" BuiltInServicePackLevel="0" InstallDir="c:\bea\weblogic700" InstallTime="Jun 6, 2002 4:57:18 PM" JavaHome="c:\bea\jdk131_03" JavaVersion="1.3.1_03" PatchLevel="1" ServicePackLevel="0" Status="installed" level="7.0">
>                     <component name="WebLogic Server" version="7.0.0.1">
>                         <component name="Server"/>
>                         <component name="Server Examples"/>
>                     </component>
>                     <component name="WebLogic Integration" version="7.0.0.0">
>                         <component name="Integration Server"/>
>                         <component name="Integration Examples"/>
>                     </component>
>                 </release>
>             </product>
>         </host>
>     </bea-product-information>

Look at the release element (text starting with <release . . . ). This element indicates the number of the release and service pack of WebLogic Integration that is currently installed.

I have just changed the IP address of my system. Why do I see lots of transaction errors in the log file?

Problem

An IP address change causes large numbers of transaction log errors.

Solution

Remove the old transaction log files. For further information, see "Troubleshooting Transactions" in Programming WebLogic JTA at the following URL:

>     http://e-docs.bea.com/wls/docs70/jta/trbtrx.html

Migration

This section answers the following questions:

- How can I move my design-time data for WebLogic Integration to another database?

- Why do my workflows fail to work when I import a package into the WebLogic Integration Studio?

How can I move my design-time data for WebLogic Integration to another database?

Problem

You might want or need to move the design-time data for WebLogic Integration to another database. Such migration may become necessary, for example, because you are installing a new release of WebLogic Integration, or because you are changing database types.

Solution

To fully migrate design-time data from one WebLogic Integration repository database to another, export all design-time data from the source database and import it into the target database. For detailed instructions, see BEA WebLogic Integration Migration Guide and "Specifying a New Database for a Domain" in Customizing WebLogic Integration in Starting, Stopping, and Customizing BEA WebLogic Integration.

Why do my workflows fail to work when I import a package into the WebLogic Integration Studio?

Problem

Sometimes, after a previously exported package is imported into the WebLogic Integration Studio, the imported workflows are not instantiated properly, or you encounter run-time errors.

Solution

Consider the following possible solutions:

- When you import a package, make sure you have activated the workflows you want to use. If your workflows are not active, they are not instantiated as expected. Either select the activate workflows option in the Package Import dialog box, or manually activate the desired workflows by opening the workflow template definition properties dialog box, and selecting the activate option.

- Once the workflow is imported, reset the start organization in the Start node.

- If you encounter exceptions when running workflows in which application integration application views are used, make sure you have deployed the application views used in the workflow. The WebLogic Integration Studio import facility does not deploy application views for you. You must use the Application View Console (available at http://host:port/wlai) to deploy your application views. For more information, see Defining an Application View in Using Application Integration.

- If you encounter exceptions when using workflows related to B2B integration, make sure you have properly bulk loaded the design-time data into the repository, as described in Working with the Bulk Loader in Administering B2B Integration.

- If you have set wli.bpm.server.evaluator.supportsNull as true in the startWebLogic command for your domain, you must re-examine your workflows and make sure that you have properly set the initial values for workflow variables. If these variables are not set, and this flag has been set to true, then your workflow may not run. The default value is false, so if this problem occurs, you can assume that you explicitly set this value earlier. For details, see "Configuring BPM to Support Null Variables" in Customizing WebLogic Integration in Starting, Stopping, and Customizing BEA WebLogic Integration.

Using the Samples

This section answers the following question:

I installed a sample from BEA dev2dev Online and it does not seem to work with my WebLogic Integration installation. How can I fix this?

I installed a sample from BEA dev2dev Online and it does not seem to work with my WebLogic Integration installation. How can I fix this?

Problem

Although all the samples packaged with the product are compatible with your WebLogic Integration installation, not all samples available from BEA dev2dev Online are updated for the current release. Some samples are not forwardly compatible.

Solution

Read the documentation for the downloaded sample to verify that all the components of your environment (platform, release of WebLogic Integration, and version of WebLogic Server) are supported for the sample.

Starting the Server

This section answers the following questions:

- Why do I get ConnectExceptions when starting the server?

- Why do I get a Table or View Does Not Exist error when starting the server? I am using an Oracle database.

Why do I get ConnectExceptions when starting the server?

Problem

You encounter the following exception message when the server is started:

>                   a routed: 'Protocol: 't3'' connection
>     to:'0S:172.16.3.18:[7001,-1,-1,-1,-1,-1,-1]' on port: '7001'
>     java.rmi.ConnectException: No available router to destination
>     . . .

Solution

Remove the *.tlog file from your log directory. If this problem occurs as a result of changing IP addresses on the server, see the section titled I have just changed the IP address of my system. Why do I see lots of transaction errors in the log file?

If this problem occurs on a production server, make sure you archive the transaction log files before deleting them, as they contain information about transactions that were in process when the server failed.

Why do I get a Table or View Does Not Exist error when starting the server? I am using an Oracle database.

Problem

You encounter the following error message when a server, running over an Oracle database, is started:

>     ####<Aug 30, 2001 12:40:52 PM GMT-08:00> <Alert> <JMS> <fushigi.beasys.com>
>     <myserver> <main> <system> <> <040052> <JMSServer "WLA
>     I_JMSServer", store failed to open, java.io.IOException: JMS JDBC store,
>     connection pool = <wliPool>, prefix = <null>: JMS JDBC I/
>     O failure
>     java.sql.SQLException: ORA-00942: table or view does not exist

>              at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:114)
>              at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:208)
>              at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:542)
>              at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1311)
>              at
>     oracle.jdbc.ttc7.TTC7Protocol.parseExecuteDescribe(TTC7Protocol.java:595)
>              at
>     oracle.jdbc.driver.OracleStatement.doExecuteQuery(OracleStatement.java:1600)
>              at
>     oracle.jdbc.driver.OracleStatement.doExecute(OracleStatement.java:1758)
>              at
>     oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java
>     :1805)
>              at
>     oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:410)
>              at weblogic.jdbc.pool.Statement.executeQuery(Statement.java:48)
>              at

Solutions

This error occurs when JMS finds two tables with the same name, one of which belongs to a different user or schema. Assign each JMSJDBCStore table a unique name. Change the JMSJDBCStore line in your config.xml file to a line similar to the following example:

>     <JMSJDBCStore ConnectionPool="wliPool" Name="wliPool"
>     PrefixName="someuniqname" />

Designing Applications

This section answers the following questions:

- Why do I encounter an error message when I create an XML document in the WebLogic Integration Studio XML editor?

- How do I start a public workflow that starts a B2B conversation?

- What should I do if I cannot see an entity (such as a trading partner) in the navigation tree?

- What should I do if I cannot see the details of business protocol definitions?

- What does it mean if I see a SQL Exception while trying to remove an element from the WebLogic Integration repository?

Why do I encounter an error message when I create an XML document in the WebLogic Integration Studio XML editor?

Problem

When you create a legitimate XML document in the WebLogic Integration Studio XML editor, the instance editor may display the following message:

Solution

Make sure that all values displayed in the right pane of the instance editor are valid expressions. The instance editor indicates values that have invalid expression syntax by displaying an X icon on the lines with errors. For values that are string constants, add double quotes around the string literal. For information about how to make other types of values valid expressions, see Using the WebLogic Integration Studio.

Problem

When you import a legitimate XML document into the WebLogic Integration Studio XML editor, the instance editor may display an error message, prompting you to convert the document to a valid template document.

Solution

Click Yes and convert the document into a template document.

How do I start a public workflow that starts a B2B conversation?

Problem

You want to start a workflow that initiates a B2B conversation.

Solution

To start a workflow that initiates a B2B conversation, use the Start Public Workflow action from another workflow. An API is also available to start a public workflow from within a Java application. Note that Start Public Workflow provides input parameters to determine a collaboration agreement, which determines a conversation. The conversation, in turn, contains the workflow template name.

Problem

I am using a Start Public Workflow action and the workflow does not start.

Solution

Common errors:

- Organization of the workflow template is not consistent with the conversation definition in the WebLogic Integration repository.

- You did not enter a valid trading partner name in quotes.

What should I do if I cannot see an entity (such as a trading partner) in the navigation tree?

Problem

You cannot find entities that you expect to see listed in the navigation tree of the WebLogic Integration B2B Console.

Solution

Complete the following steps:

1. Click the WLI B2B node in the navigation tree.

2. Select the Configuration tab.

3. Select the Preferences tab.

4. Select Display entities on the navigation tree.

5. Click Apply.

What should I do if I cannot see the details of business protocol definitions?

Problem

You cannot see the details of business protocol definitions in the navigation tree of the WebLogic Integration B2B Console.

Solution

Complete the following steps:

1. Click the WLI B2B node in the navigation tree.

2. Select the Configuration tab.

3. Select the Preferences tab.

4. Select Display advanced configuration controls.

5. Click Apply.

What does it mean if I see a SQL Exception while trying to remove an element from the WebLogic Integration repository?

Problem

You encounter a similar SQL exception while removing an element from the repository:

>     Exception:ERROR: In SQLHelper.execute(), a SQL Exception was caught while
>     executing a SQL Statement: SQL Exception: DELETE on table 'PARTY_IDENTIFIER'
>     caused a violation of foreign key constraint
>     '15b58164-00e8-4d2f-8ace-00ac100b2400' for key (27).  The statement has been
>     rolled back.
>     com.bea.b2b.management.ManagementException: ERROR: In SQLHelper.execute(), a SQL
>     Exception was caught while executing a SQL Statement: SQL Exception: DELETE on
>     table 'PARTY_IDENTIFIER' caused a violation of foreign key constraint
>     '15b58164-00e8-4d2f-8ace-00ac100b2400' for key (27).  The statement has been
>     rolled back.
>     . . . <remainder of stack trace not shown> . . .

Solution

SQL exceptions like this occur when you attempt to remove a repository element that is being referenced by another repository element from the repository. This exception occurs if you attempt to remove a trading partner that is currently involved in a collaboration agreement. Removing such a trading partner causes a violation of database referential constraints. Before attempting to remove the trading partner, remove the collaboration agreement in which this trading partner is included or remove the reference from the collaboration agreement to the trading partner. For more information on repository element relationships and removing references between repository elements see Working with the Repository in Administering B2B Integration.

Running Applications

This section answers the following questions:

- How can I can find, in the Worklist, the name of the workflow template needed to start the workflow?

- How can I debug and trace my workflow execution?

- Starting a workflow throws an exception. Why is no instance created?

- What should I do if the WebLogic Integration process engine does not process some messages or events in the JMS queue?

- What should I do if I get a "resource unavailable" or "Transaction has timed out when making request to XAResource 'WebLogic.jdbc.jts.Connection'" exception?

- What should I do if I encounter event generation problems while using application integration?

- What should I do if my application integration asynchronous service responses are lost while I am using business process management?

- Why doesn't the B2B engine accept messages from remote trading partners?

How can I can find, in the Worklist, the name of the workflow template needed to start the workflow?

Problem

You create a workflow template in the WebLogic Integration Studio and then use the Worklist user interface to start the workflow. However, you cannot find the workflow template in the Worklist when you want to start the workflow.

Solutions

Perform one or more of the following steps:

- Make sure that you saved the workflow in the WebLogic Integration Studio.

- Make sure that you activated the workflow template.

- The user logged in to the Worklist might belong to several organizations. Switch the organization to which the user is assigned, to the one associated with your template.

- Make sure that the workflow allows a manual start.

Additional Information

See Using the WebLogic Integration Studio and Using the WebLogic Integration Worklist.

Note: The Worklist client is deprecated as of this release of WebLogic Integration. For information about the features that are replacing it, see the BEA WebLogic Integration Release Notes.

How can I debug and trace my workflow execution?

Problem

You are having difficulty determining why a workflow is not operating correctly.

Solution

Tracing the execution of a workflow can help determine the cause of problems and indicate a solution. There are several ways to debug or trace the execution of a workflow instance:

- In your task actions, print out tracing messages. Use a business operation in which java.lang.System.println() statements are used. This option is effective for debugging workflow instances that execute quickly and cannot be debugged using the method described previously.

- Use audit actions in your tasks to output audit information to the audit topic. You can see the audit entries in a log file called myserver.log located in the logs directory of the active WebLogic Integration domain on the server. Also, before this action can have any effect, the template definition must have enabled auditing in its properties.

- If an e-mail server has been set up properly, send an e-mail to yourself at each point you want to test.

- In addition to using the audit entry action, you can use the Set Workflow comment action at each point you want to test. The comment appears in the Workflow Instances dialog box described previously.

- In the WebLogic Integration Studio, open the workflow instance monitor and check the variables and workflow status. The workflow instance monitor shows you the current state of variables in the workflow instance and indicates which tasks in the workflow instance have been executed thus far. If your workflow needs to wait for user input or asynchronous events, it stops executing for periods of time. During these periods, you can investigate the details of your workflow instance.

If your workflow runs nonstop after it is instantiated, this debugging technique may be less effective because the state of variables and the active task can change rapidly.

Whenever possible, use the Assign task to user action at locations in your workflow at which you would like the workflow execution to stop long enough for you to display the variables and executed tasks. This ability to stop allows you to walk through your workflow execution step by step, using the Worklist tool. At each step, you can use the Worklist tool to allow the workflow to proceed to the next step.

Note: The Worklist client is deprecated as of this release of WebLogic Integration. For information about the features that are replacing it, see the BEA WebLogic Integration Release Notes.

If it is not possible to halt the workflow execution using this method, try another debugging method.

Additional Information

See the documentation for the assign task to user and the make audit entry actions in Using the WebLogic Integration Studio, as well as the documentation for business operations in Programming BPM Client Applications.

Starting a workflow throws an exception. Why is no instance created?

Problem

A workflow encounters an exception, but no workflow instance exists to indicate that the workflow was instantiated.

Solution

Workflow instances are created and persisted in the database only after a workflow reaches a quiescent state or done node. If a workflow encounters an exception before it reaches a quiescent state or done node, the workflow instance is rolled back. To solve this problem, force a quiescent state by inserting an action, such as No Operation or Assign Task to User, that causes the workflow instance to wait.

Additional Information

See Using the WebLogic Integration Studio and Understanding the BPM Transaction Model in Programming BPM Client Applications.

What should I do if the WebLogic Integration process engine does not process some messages or events in the JMS queue?

Problem

It appears that the events or messages posted to the JMS queue are not processed by the WebLogic Integration process engine.

Solution

Try any of the following solutions:

- Make sure that you publish your message to the correct JMS queue. The process engine subscribes to com.bea.wlpiEventQueue.

- When the process engine processed your event, it failed in a step performed after the event node. WebLogic Integration rolled back the transaction and returned the workflow instance to the event-waiting state. Inspect the workflow for problems with subsequent steps.

- On the event generation side, you published the event within a transaction and an error occurred within the transaction. If WebLogic Integration rolls back the sender's transaction, then the event is not published. Check your server log for error messages related to transactions. If this problem occurs in a workflow, you have the option of sending the message immediately, regardless of whether the transaction has committed.

- WebLogic Integration could not match your event with corresponding templates and instances. Use addressed messages, instead. Addressed messages reduce the possibility of mismatched messages by allowing you to explicitly designate a workflow instance to receive the event. To solve the problem completely, apply a recovery or message-resend mechanism when implementing your application.

For more information about using addressed messaging to guarantee message delivery, refer to the following:

- "Guaranteeing Message Delivery" in Tuning Performance in Deploying BEA WebLogic Integration Solutions

- "Guaranteeing Message Delivery" in Establishing JMS Connections in Programming BPM Client Applications

- "Posting an XML Message to a JMS Topic or Queue" in Defining Actions in Using the WebLogic Integration Studio.

What should I do if I get a "resource unavailable" or "Transaction has timed out when making request to XAResource 'WebLogic.jdbc.jts.Connection'" exception?

Problem

You encounter one of the following exceptions:

- resource unavailable

- Transaction has timed out when making request to XAResource
  'WebLogic.jdbc.jts.Connection'

Solution

These errors can indicate that more connections are required by your application than you have allocated in the connection pool. An error might occur due to pool exhaustion in the WebLogic Integration repository pool or in the application integration connection factory pool for an ApplicationView.

To determine which pool is being exhausted, check the exception stack trace. If you see a class with a name such as xxxConnectionFactory.getConnection() in the stack trace, you can conclude that a connection factory pool is depleted. The exception message often points to the depleted pool. If you do not see such a class in the stack trace, you can conclude that the JDBC connection pool is depleted.

For either type of pool, estimate the number of expected maximum concurrently active users, multiply that number by two, and use the resulting number as the value of Max Capacity in the pool. For JDBC connection pools, modify the JDBCConnectionPool element of your config.xml file. For connection factory pools for application views, use the Application View Console to edit the connection parameters section of the application view and set the Max Capacity value.

If setting Max Capacity for connection factories does not solve the problem, increase the maximum capacity in the adapter deployment unit. To do this, locate the adapter's RAR file (the location is indicated in your server's config.xml file within the application element for your adapter) and edit its weblogic-ra.xml deployment descriptor, which is located within the META-INF directory of the archive.

Note: To edit the weblogic-ra.xml file, extract the archive, edit the file, and jar the archive. Increase the max-capacity element of the pool-params element in the weblogic-ra.xml file.

If you are using Oracle, check your database block size. If the block size is 2K, rebuild your database with an 8K block size.

You can also adjust the ThreadPoolSize and JDBC connection pool size to proper levels so that each transaction does not need to wait a long time to get a free database connection. In most cases, you should set the JDBC connection pool size to be twice as big as the ThreadPoolSize, but the appropriate size depends on the needs of your application.

What should I do if I encounter event generation problems while using application integration?

Problem

You define an application view containing event definitions and deploy it, but you cannot receive any events when using the event-test facility in the WebLogic Integration Application View Console.

Solution

This problem might be due to any of the following reasons:

- Your event adapter did not start correctly. Check the adapter log file to determine whether the event adapter encountered any errors. Even when errors occur on startup, the event adapter (shown as a Web application in the Application View Console) appears to be deployed. Despite this, the event adapter might be rendered inoperative if errors occur. The event adapter log file is usually located in the logs directory of the active WebLogic Integration domain on the server.

- Your event adapter encounters errors when trying to generate the event you expect to receive. Check the event adapter log file for any errors. The event adapter log file is usually located in the logs directory of the active WebLogic Integration domain on the server.

- Your event adapter is not the only event adapter for a given EIS, and other event adapters might be stealing events from your adapter.

It is generally assumed that the event adapter is dedicated to an EIS instance, and that the EIS instance has only one event adapter. In the case of the BEA DBMS adapter, if you have more than one event adapter pointing to a given database (and the set of EVENT/EVENT_DATA tables), one event adapter receives any event that is generated, depriving the other event adapter of the event. The adapter that receives the event is not predetermined, so a specific adapter might get events on one occasion and not get them on another. Make sure only one event adapter is pointing to your EIS instance.

What should I do if my application integration asynchronous service responses are lost while I am using business process management?

Problem

In the WebLogic Integration Studio, you define a workflow in which application integration functionality is used to invoke services asynchronously. Within the workflow you define a task node, to invoke a service, and an event node, to receive the response from a service. At run time, however, the response event is not received.

Solution

This problem can occur when no significant amount of logic is designed between the task node and the event node for an asynchronous response. In this case, you might encounter a race condition in the WebLogic Integration process engine that causes it to miss events. It is difficult to determine whether the response is received by the BPM event queue. Use the WebLogic Server Administration Console to monitor the BPM event queue and to determine whether the message count has increased as a result of running the workflow containing the task that invokes the asynchronous service. To solve this problem, add a No Operation in a task that is placed between the task node and the event node for the asynchronous service. The addition of the No Operation introduces a slight delay in the processing of the workflow instance.

Why doesn't the B2B engine accept messages from remote trading partners?

Problem

You cannot establish communications with one or more of the B2B delivery channels (URLs). A common cause for this problem is that the HTTP/HTTPS subsystem has not been properly configured for B2B.

Solution

To debug this problem, try the following steps:

1. Type the URL of the delivery channel into your browser and press enter.

   If the browser displays an error on your screen, or if the WebLogic Integration log file receives an entry from B2B about an invalid protocol format, the HTTP/HTTPS subsystem is properly configured. However, if neither of these events occur, continue with the next step.

2. If you get an error from the application server—for example, 404 or an error code in the range of 500 to 599—examine the default web.xml file to ensure that TransportServletFilter is configured.

   If TransportServletFilter is configured, the web.xml file will contain lines similar to the following example.

   >     <!-- WLI-B2Bi filter-begin. DO NOT EDIT -->
   >     <filter>
   >     <filter-name>TransportServletFilter</filter-name>
   >     <filter-class>com.bea.b2b.transport.http.TransportServletFilter</filter-class>
   >     </filter>

   >     <filter-mapping>
   >     <filter-name>TransportServletFilter</filter-name>
   >     <url-pattern>/*</url-pattern>
   >     </filter-mapping>
   >     <!-- WLI-B2Bi filter-end. -->

   If you cannot find these lines, TransportServletFilter is not properly. For information about configuring TransportServletFilter, see "B2B Transport Servlet" in Migrating WebLogic Integration 2.1 to WebLogic Integration 7.0 in BEA WebLogic Integration Migration Guide.

   However, if you can find these lines, proceed to the next step.

3. Check to make sure that your domain's configuration file, config.xml, contains each of the the following attributes for the <Application> element:

   - "WebLogic Integration"—This attribute must be present for WebLogic Integration to work.

   - Deployed="true"—This attribute must be set to true for the WebLogic Integration application to deploy, as in the following example:

   >     <Application Deployed="true" Name="WLIApplication" Path="<%WLI_HOME%\lib>" TwoPhase="true">

   If the deployed attribute is set to false, then the WebLogic Integration application exists, but it is not deployed, and could be the cause of your problem.

   - Name="TransportServlet"—This attribute should be specified for the <WebAppComponent> subelement.

   - Targets="servername"—This attribute should also be included with the <WebAppComponent> subelement, and it should specify the name of the WebLogic Integration server that you have chosen, as in the following example:

   >     <WebAppComponent Name="TransportServlet" Targets="myserver" URI="b2b.war"/>

   If the server name is missing or incorrect, this is the cause of your problem.

If you completed all the steps in this solution, and you are still experiencing communication problems, it is unlikely that the HTTP/HTTPS communication channel is the source of your problem. Check the following in the WebLogic Integration repository:

- The repository is not missing or contain a typographical error.

- The server listen address and port are specified correctly.

- The appropriate business protocol is configured correctly.

- The delivery channel specified correctly and is enabled.

- Trading partners are enabled, as appropriate.

General Run-Time Issues

This section answers the following questions:

- How can I solve out of memory errors?

- Where are WebLogic Integration log messages saved?

- My server will not shut down properly.

How can I solve out of memory errors?

Problem

You encounter out of memory errors in Java applications when the demand for memory allocation in the program exceeds the free space in the JVM heap. You must terminate the Java process that is currently running and restart the application. Although out of memory errors cannot be eliminated completely, the following solutions can reduce the occurrence of this error.

Solution

Increase the amount of free space in the JVM and reduce demand. Specifically, you can implement the following steps:

- Increase the maximum heap size. The recommended heap size is 384 MB. In any case, it should be less than the physical memory size. Otherwise, memory swapping, which can significantly reduce performance, becomes necessary.

- Make Java garbage collection (GC) more effective. Use the -Xincgc java command to adjust garbage collection frequency. The appropriate level of frequency, however, depends on your application. If GC is performed too frequently, your program may be stalled to allow the heap to be shrunk.

- Reduce unnecessary demand as much as possible. You can control demand through your own application. If you are using the MSSQL or Oracle database, use the Java HotSpot JVM instead of the classic JVM.

- If you are using JMS, make it persistent (File- or DBMS-based) so that it is not necessary to keep messages in memory at all times during execution.

Where are WebLogic Integration log messages saved?

Problem

You do not know how to find WebLogic Integration log messages.

Solutions

Use the following instructions to locate WebLogic Integration log messages:

- Look in the WebLogic Server log file. Almost all run-time log messages are stored in this log file. Check your server config.xml for the pathname of the log file.

- Look in the WebLogic Server Administration Console. Some messages, such as XML translation messages, are displayed only on this console. You can increase the maximum console message trace level by adding the StdouEnabled=true StdoutSeverityLevel=64 attribute to the Server element in the config.xml file.

- Check the following component-specific log files:

- For application integration, separate logs are maintained for the WebLogic Integration Application View Console and for each adapter. These logs are located in the domain/logs directory, where domain is the name of the domain that is currently running.

- For the WebLogic Integration process engine, you can set the -Dwli.bpm.server.eventprocessor.debug=1 property, which routes event data to the WebLogic Server Administration Console.

My server will not shut down properly.

Problem

After running the stopWeblogic command, you get the following error message:

<Oct 12, 2001 6:24:00 PM PDT> <Critical> <WebLogicServer> <Failed to invoke shutdown class "WLCShutdown",java.lang.IllegalArgumentException>

Solutions

This problem, a known bug with WebLogic Server, occurs when you stop and restart the B2B engine without concurrently stopping and restarting WebLogic Server. When this bug appears, the B2B engine has already been shut down properly, but WebLogic Server may hang. For more information, see the BEA WebLogic Server documentation.