Release Notes
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
This section describes known limitations in the BEA WebLogic Integration 8.5 SP5 release software. The known limitations are grouped by the following topics:
You must build applications that use WebLogic Integration functionality in a WebLogic Integration or WebLogic Platform domain. Running business processes and data transformations in a WebLogic Workshop domain is not supported.
Do not use the WebLogic Integration Administration Console to access your business process to secure SOAP-HTTP access to your business process if you have already secured your business process using the security-constraint
element in the web.xml deployment descriptor and the @common:security
annotation. You will receive a security violation at run time. For more information, see the following:
security constraint
" in Securing Web Applications at http://download.oracle.com/docs/cd/E13222_01/wls/docs81/security/thin_client.html@common:security
" annotation in the Annotations Reference at http://download.oracle.com/docs/cd/E13226_01/workshop/docs81/doc/en/workshop/javadoc-tag/common/security.htmlYou may experience an out of memory error if your JPDs are invoked using the WebLogic Workshop Test Console. To avoid this problem, invoke the JPDs using a JPD Proxy or Web Service Proxy. For more information about creating a JPD Proxy client, see the following URL:
http://download.oracle.com/docs/cd/E13226_01/workshop/docs81/doc/en/integration/howdoI/howUseJpdProxy.html
The process information displayed in the WebLogic Integration Administration Console reflects the state of the application from the last full application build (a full application build is executed by selecting the Buildwlbuild
command).
For example, if you delete a business process in Workshop and follow with a partial build (a partial build is executed by selecting the Build
to test a process), the deleted process will still be displayed in the console. If you execute a full application build and then view processes in the console, the deleted process will not be shown.
WebLogic Server logs the following messages regarding a WebLogic Integration domain on startup:
<BEA-014006> <The message driven bean (MDB) named "ProcessTrackingEventErrorListener" has a dispatch policy "wli.internal.ProcessTracking" that refers to an unknown execute queue thread pool. The default execute thread pool will be used instead.>
<BEA-014006> <The message driven bean (MDB) named "InstanceInfoEventListener" has a dispatch policy "wli.internal.ProcessTracking" that refers to an unknown execute queue thread pool. The default execute thread pool will be used instead.>
<BEA-014006> <The message driven bean (MDB) named "ProcessTrackingEventListener" has a dispatch policy "wli.internal.ProcessTracking" that refers to an unknown execute queue thread pool. The default execute thread pool will be used instead.>
You can ignore these messages.
Note: You can create the execute queues mentioned in these log messages using the WebLogic Server Administration console. If you do so, you should choose an appropriate thread size to match the application and tracking level. For more information about creating execute queues, see Execute Queue --> Configuration in the WebLogic Administration Console Online Help.
When starting the WebLogic Integration server, you may receive a warning similar to the following:
<Nov 20, 2004 11:15:18 PM PST> <Warning> <EJB> <BEA-011070> <In the
<weblogic-rdbms-bean>, for <ejb-name> 'DataBean', some
<field-group>(s) are defined but are not used in any
<weblogic-query>, <weblogic-relationship-role> or
<relationship-caching> <caching-element>s. The <group-name>(s) of
the unreferenced <field-group>(s) are: 'default'>
You can ignore these messages.
Many WebLogic Integration resources (for example: message broker subscriptions and versioning information) require a WebLogic Integration application listener to be defined in the WEB-INF/web.xml
file for the current project. When a process project is created, this application listener will be defined by default in the WEB-INF/web.xml
file. If a process is inadvertently created in a non-process project (such as a default Web project), the WebLogic Integration application listener will not be defined. During run time, these projects may appear to work in some instances but will fail when the required resource is accessed.
For a process project, the following XML elements are defined in the WEB-INF/web.xml
file by default:
<listener>
<listener-class>
com.bea.wli.management.WliWebAppListener
</listener-class>
</listener>
To avoid a possible problem in subsequent archiving, if both of the following conditions are met, the result of a trackdata()
call will not be recorded in the WebLogic Integration process events table.
JpdContext.trackData(XmlObject
value
)
or JpdContext.trackData(RawData
value
)
is rolled backNote: A document is persisted to the document store if it exceeds the size specified by the weblogic.wli.DocumentMaxInlineSize
property in the wli-config.properties
file. For example, the property is set as follows in the sample integration domain:
# Minimum size for documents stored in the SQL Document Store:
weblogic.wli.DocumentMaxInlineSize=524288
Workaround: To minimize the risk of trackData
calls being affected by a process rollback, call trackData()
in its own transaction (in a perform node encapsulated within an explicit transaction boundary).
The interactive process graph of the WebLogic Integration Administration Console uses Adobe SVG Viewer Version 3.0x. Adobe SVG Viewer Version 3.0x is not supported by the Netscape 7.1 browser. To learn more, see Browser Requirements for the Interactive Graph available at the following URL:
http://download.oracle.com/docs/cd/E13214_01/wli/docs85/manage/processmonitoring.html
Netscape 7.1 is also not a supported browser for WebLogic Platform 8.1. Detailed information about the operating systems and browsers WebLogic Platform supports is provided at the following URL:
http://download.oracle.com/docs/cd/E13196_01/platform/suppconfigs/index.html
Refreshing a page of the WebLogic Integration Administration Console while data is still being transmitted may result in the display of the following exception:
java.net.SocketException: Connection reset by peer: socket write error
This error serves as a notification that a network error or problem on the server side prevented the page from completely loading. In the case of a rapid refresh, the browser closed the first socket while data was being transmitted across it.
With WebLogic Integration 8.1 Service Pack 2, the ability to reset Message Broker message counts on a channel-by-channel basis is supported. As a consequence, the Time of last reset field on the View Message Broker Statistics page (which was associated with the previous, global reset functionality) should be ignored.
If you click Edit Service Connection on the Adapter Instance Details page while an Adapter is deploying, the following exception may be generated:
java.lang.NullPointerException
Workaround: Do not click Edit Service Connection until you have confirmed that the adapter instance is fully deployed.
On Microsoft Windows Server 2003, Internet Explorer may not be able to access the WebLogic Integration Administration Console.
Workaround: In Internet Explorer, go to Tools
If a client deletes all tasks from more than one page, the Worklist Administration Module may display empty pages.
Workaround: Click View All to refresh the task list.
The Worklist Administration Module may throw exception traces instead of clean error messages after simultaneous Worklist operations on the console; the exceptions are valid.
The design-time EJB descriptors and the descriptors generated by the application view compiler (invoked when an application view is published) have changed for WebLogic Integration 8.1 SP2.
Workaround: You must republish your application views to ensure that the modified EJB descriptor is included in your application view EJBs.
The event generator target field is blank by default when the application is first deployed on the cluster. This implies that the event generator should not be activated on any node in the cluster. With the DBMS sample adapter in a clustered environment, multiple instances of a primary generator instance result in database conflicts and errors. Care should be taken to specify an appropriate generator instance specification for each server in the targets list, and ensure that only one server in the list contains the generator instance id '1'. For example, in a three node cluster, the following targets would properly distribute event generator instances on the nodes, with the instance on server1 being the primary instance.
Event Generator Targets: server1=[1/3],server2=[2/3],server3=[3/3]
However, the following targets would all mistakenly create duplicate primary generator instances:
Event Generator Targets: server1,server2,server3
Event Generator Targets: server1=[1/3],server2=[1/3 2/3],
server3=[3/3]
In the first case, no generator instances are specified, and each server creates an instance with an ID of 1, making it the primary instance. In the second case, two servers explicitly define a primary generator instance.
If you inadvertently specify event generator targets improperly, you may see database conflicts and errors during event generation at runtime. In such cases, see the workaround below.
Workaround: To reset the event generator instances:
The SupportsLocalTransaction
option must be set to true
on the XA pool used for an event connection. (Otherwise, you must use a non-XA pool for the event connection.) If the option is not set correctly for an XA pool, an exception similar to the following is thrown:
java.sql.SQLException: Logical handle no longer valid
If the DBMS sample adapter uses the same database instance on which the WebLogic Integration tables reside, it is recommended that all other XA connection pools also have the SupportsLocalTransaction
option set to true. If the adapter uses a separate database instance, then only the XA pool for an event connection should have the SupportsLocalTransaction
option set to true.
Workaround: To set this option, use the WebLogic Server Administration Console and navigate to Services
Performance issues have been noted due to the time required to post event messages to JMS topics for remote application view clients.
Workaround: A new option has been added to enable or disable event delivery to remote application view clients. There are two ways to disable event delivery to remote application view clients:
-DApplicationViewClientEnabled=false
on the server's Java command line.AppViewDeploymentMBean.setApplicationViewClientEnabled()
method and pass false
as the sole argument to the method. The first method turns off event delivery to remote clients for all application views deployed in the server. The second method turns off event delivery to remote clients only for the application view for which the MBean method is called. With remote event delivery disabled, JMS resources are not consumed for the event topic.
In a clustered environment, the asynchronous service error counts displayed on the WebLogic Integration Administration Console are multiplied by the number of nodes in the cluster. For example, if 5 asynchronous service invocations fail on a three-node cluster, the asynchronous service error count is shown as 15.
When synchronous services are invoked and a transaction rollback occurs before the services are performed, the WebLogic Integration Administration Console displays an incorrect synchronous service count. The count displayed is the number of synchronous services in process multiplied by the number of managed servers in the cluster.
If an XA-capable EIS being used for async service invocations fails, or if the database being used for JMS persistence fails, the transaction enclosing the work being done by an async service will be rolled back. This rolls the async service request itself back onto the AI async request queue, and allows the request to be retried. However, the transaction rollback affects only the async service request and any work it may have done against the EIS, but does not affect the suspended async service counts displayed in the WebLogic Integration Administration Console for an application view or adapter instance.
Thus, in cases where the EIS or JMS database fails after the async service count has been incremented to account for a successful async service invocation, and before the containing transaction in the async service processor MDB is committed, the async service count will be higher than the actual effective service count against the EIS (since the work done will be rolled back, but count is not decremented).
In cases where the EIS or JMS database fails after a suspended async service completes, and the suspended async service count has been decremented, and before the containing transaction in the async service processor MDB is committed, the suspended async service count will be lower than the actual effective suspended service count in the application integration async request queue (since the request was rolled back, but suspended count is not incremented).
Administrators should be watchful for failures in either a transactional EIS or database (generally they will see service failures and a suspended adapter instance and application view related to the EIS failure). After the EIS has recovered from such a failure and suspended async services have been given sufficient time to complete, the administrator should check the suspended async service count. If the count is non-zero (or even negative), the count is incorrect.
To allow administrators to force the suspended async service count back to zero in those cases that the displayed count is incorrect, the resetSuspendedAsyncServiceCounts()
method has been added to the AppViewSummaryMBean
interface. See the Javadoc at the following URL:
http://download.oracle.com/docs/cd/E13214_01/wli/docs85/javadoc/com/bea/wlai/management/runtime/AppViewSummaryMBean.html
For the DBMS sample adapter, changes to the event generator target for a suspended application view do not apply to events already in the system. Only new events (those triggered after the change) are assigned to the new event generator target. Events already in the system are processed by the previous event generator target.
When the server is running in iterative development mode, only applications that are in exploded form in the Workshop Application pane may be accessed by clients such as the Application View Design Console. Applications that are packaged into a deployed EAR file are not accessible. In other words, when you are running in iterative development mode, the following conditions must be met for an application to be available for selection in the Application View Design Console:
.work
.
If you want to see more than 30 events (the default) in the Test Browser, before running the business process, select the Console tab of the Test Browser and enter a larger number in the Keep last number message field, where number represents the number of messages to be displayed.
If you have a non-versioned business process that you later decide to version, when you deploy the versioned process, running instances might fail due to a java.lang.ClassNotFoundException
.
Workaround: If you ever plan to use versioning with a long-running business process, version your process from the beginning before deploying your application in production mode. Otherwise, you must let non-versioned instances run to completion before deploying the new versioned process.
The freeze on failure
property for explicit transactions is ignored. That is, if you set the freeze on failure
property on an explicit transaction block, it is ignored at run time. When this property is set on the start nodes in a business process, it operates correctly and as documented.
This feature is deprecated in WebLogic Integration 8.1 Service Pack 2. If a business process you created in an older version of WebLogic Integration contains a freeze on failure
property on a transaction block, a compiler warning is issued to indicate that the freeze on failure
value is ignored.
You cannot specify a timeout property on an explicit transaction block in the WebLogic Workshop graphical design environment. This feature is deprecated in WebLogic Integration 8.1 Service Pack 2. If a business process you created in a previous version of WebLogic Integration contains a timeout property on a transaction block, a compiler warning is issued to indicate that the timeout value is ignored.
If you use a File control for which the suffix-name or suffix-type attributes are not specified, but for which the create-mode attribute specifies rename-old, the create-mode attribute specification is not honored. In other words, the older file is not renamed; instead it is overwritten.
Workaround: If the create-mode attribute specifies rename-old, you must specify a value for the suffix-name.
Business processes often include nodes such as Control Receive or Client Request, at which the process waits for delivery of an expected message before continuing. By default, messages that arrive before they are expected—that is, before the process encounters the Control Receive or Client Request node in question—are automatically buffered and are delivered later when the process is ready to receive them. In some cases the process designer may wish to discard any such early, unexpected messages. This enables the process to ignore messages that arrived earlier yet are no longer relevant to the process. The jpd:unexpected-message
annotation gives process designers the ability to control this behavior on a node-by-node basis. This annotation is available for Control Receive nodes and Client Request nodes in positions other than the Start node of the business process. The annotation can be set by switching to the Source View, clicking on the corresponding node's method header, consulting the unexpected-message
header in the Property Editor, and setting the action
property from save
(the default) to discard
. The annotation is placed into the JPD source code, as shown in the following code segment:
/**
* @jpd:unexpected-message action="discard"
*/
If a Control Send node in a WebLogic Integration business process invokes a WebLogic Workshop Web service and the Web service then invokes a method on a stateful or stateless EJB, an exception may be thrown. The exception listed in the console, is similar to the following exception:
<Jun 26, 2003 3:49:56 PM EDT> <Error> <WLW> <000000> <Unable to
The lock request from
remove bean instance: weblogic.ejb20.locks.LockTimedOutException:
[EJB:010107]EJB:SimpleSS
with primary
key:145008051647152128 timed-out after waiting 0 ms. The
transaction or thread requesting the lock was:
Thread[ExecuteThread: '11' for queue:
.
'weblogic.kernel.Default',5,Thread Group for Queue:
'weblogic.kernel.Default']
Under load, the following message may appear in the log:
<BEA-480200> <Could not update process instance info for process type...>
This is an advisory message. The process monitoring bean will rollback the transaction and retry after a time interval. It does not indicate loss of data.
When running a business process with subscriptions to Message Broker, it is possible that the Message Driven Beans (MDBs) quickly reach maximum and the server temporarily hangs. After processing resumes, one message is ignored while the remaining messages are processed; the ignored message is processed last.
JMSReceive()
, you should partition the component that blocks into its own project. This will avoid a potential deadlock against the AsyncDispatcher
queue. (This is the preferred workaround.)Java Message Service (JMS) has a pipeline for each consumer, Message Driven Beans (MDB), of events. By default this is 10, that is there can be 10 messages in a consumer's pipeline at one time. If a consumer is blocked processing the first event, the follow up event behind it in the pipeline will not get through. This pipeline is defined by the MessagesMaximum
attribute on the connection factory. By default, WebLogic Integration uses the default WebLogic Server connection factory for generated MDBs and no hook exists to set MessagesMaximum
for the default connection factory.
weblogic-ejb-jar.xml
, add a connection-factory-jndi-name
element to message-driven-descriptor
as follows:
<message-driven-descriptor>
<destination-jndi-name>
ApprovalsPathway.queue.AsyncDispatcher
</destination-jndi-name>
<connection-factory-jndi-name>
approval.QueueConnectionFactory
</connection-factory-jndi-name>
</message-driven-descriptor>
Note: It is also recommended that the patch for CR110911 is applied. This patch includes a fix for handling the pipeline for transactional MDBs.
When creating a new Process Application
or Tutorial: Process Application
, you may see a dialog box asking the following question:
Click Yes, if you plan to use NetUI or WebLogic Portal® functionality in your Process Application.
When a WSDL is generated from a business process that uses SOAP with attachments, the resultant WSDL does not conform to the WSDL 1.1 specification. More specifically, in the generated WSDL, the part attribute of <mime:content>
is the name of an element inside a complexType
. However, the WSDL 1.1 specification requires that the part attribute of <mime:content>
should specify the name of the message part. Third-party tools that depend on this specific feature may not be usable.
While you can use javax.xml.rpc.soap.SOAPFaultException
, as discussed in the WebLogic Workshop Help, in Generating SOAP Faults from a Web Service at http://download.oracle.com/docs/cd/E13226_01/workshop/docs81/doc/en/workshop/guide/progmodel/conGeneratingSoapFaults.html
, this does not work in a business process.
For a SOAP fault to be returned to the JPD client, throw com.bea.jws.SoapFaultException
instead of javax.xml.rpc.soap.SOAPFaultException
. See SoapFaultException Class at http://download.oracle.com/docs/cd/E13226_01/workshop/docs81/doc/en/workshop/java-class/com/bea/jws/SoapFaultException.html
.
The ProcessRuntimeMBean
is not normally used for stateless business processes. It is usually used for stateful processes. In development mode, not production mode, on some processes, it may return the wrong information.
If you do not handle exceptions in a business process, the original exception may be wrapped within multiple layers. If you need to obtain the original exception, you can call getCause()
on the unhandled process exception. The following pattern may help you get to the original exception in the parent process:
public static Throwable unwrapException(Throwable t) {
while (((t instanceof UnhandledProcessException) ||
(t instanceof ProcessControlException) ||
(t instanceof JpdProxyException)) &&
t.getCause() != null) {
t = t.getCause();
} return t;
}
The local transaction is left open. To close it, in the JDBCConnectionPoolMBean, set the property RollbackLocalTxUponConnClose="true"
.
When creating a business process variable, you must use a fully-qualified type name.
In large business processes, editing in Source View may cause CPU usage to increase to 100% and slow down entry of information.
Workaround: Modify the workshop.cfg
file to increase the memory limit to 512M.
Specifying a cluster name as the target when you deploy an EAR file causes BEA-149055
warnings to appear in the WebLogic Server Console window for the WebLogic Server that hosts the WebLogic Server Administration Console (WebLogic Admin Server). These warnings include the following text:
Having multiple individual servers of a cluster as targets instead of having the entire cluster as the target can result in non-optimal load balancing and scalability.
You can ignore these messages.
Reference CR155402 and CR156912
After performing JTA and JMS migrations from a failed managed server, a process instance may remain in running mode. A repeating set of error messages similar to the following appears in db2diag.log
:
Instance:DB2 Node:000
PID:3888(db2syscs.exe) TID:5400 Appid:/1721616.3366.00090031001F
data protection sqlpxTEntrySwitchIn Probe:300 Database:DBNAME
DIA8036C XA error with request type of "". Transaction was not found.
ZRC=0x80100024.
Do not use underscores in control callback method names. Using underscores can cause business process not to be displayed correctly in the Design View, making it difficult to design your business process.
When using the file control, if no suffix is specified, the create-mode="rename-old"
attribute is not honored. Instead the file is overwritten.
The File control cannot be used to do secure FTP because FTPS is not supported.
If you use the Service Broker control to call processes, do not use http-xml
attribute.
Do not use TPM function as an XQuery selector for a Process or Service Broker control. It is not licensed to use with WebLogic Server Process Edition.
If you set the suffix attribute timestamp
in the File control, the create-mode=overwrite
attribute is not honored. Instead, the file is renamed.
When using a Process control to communicate between business processes, a buffered clientRequest
to a subprocess may fail authorization checks. If an authorization failure occurs, the message is discarded, but the caller (sender) does not receive notification of the failure.
It is not possible to call a JWS from a business process (JPD) using the Process control and XML bean arguments. Attempts to pass an XML Bean in this case generate an exception similar to the following:
Throwable: com.bea.control.ProcessControlException:
[WLI-Core:530214]ProcessControl invocation failed[EJB Exception:
: java.lang.IllegalArgumentException: argument type mismatch
When making a synchronous call using a Process control across application boundaries that contain complex Java types, you must add the Java classes to the System CLASSPATH.
The Process control target can be specified in several ways:
jc:location
annotation on the jcx
filesetTargetURI
or setProperties
methods on the controlThis target location is relative to the application. It must not have a scheme, server name, or port number. If a scheme, server name, or port number is specified, it will be ignored.
In the Service Broker Query Builder test tab, when testing query expressions that you previously edited in Source View, you may receive an error message. Use only generated expressions in the Test panel.
The Service Broker control cannot be used to access a queue through a foreign JMS connection factory.
Events published by the Timer event generator with channel type of XML do not contain metadata headers. So, filtering or retrieving events based on metadata is not supported at this time.
To use the RDBMS event generator in a cluster, the managed nodes must be created with specific IP addresses and port numbers. By default, the IP addresses of the managed nodes are null. If the default settings are used, events cannot be created in RDBMS event generator. IP addresses and port numbers of the managed nodes must be provided.
Additionally, the Administration server sends messages to the distributed queue, and since the distributed queue is available only on the managed nodes, the JNDI-scoped security for wli.internal.egrdbms.queue
must have lookup access to the default group: Everyone
. BEA recommends always using the default security policies for administrative and server resources.
When creating a Trigger Type Event on a schema other than with the DBO username, the SQL Server creates the Trigger in the same schema as the User Table on which it was created. If there is an attempt to insert rows after the Event has been deleted, errors are thrown because the Trigger still exists. Creating the Trigger does not require a schema name prefix, but dropping the Trigger requires a schema to be prefixed to the statement.
Workaround: After the Event is deleted, the Trigger must be dropped manually using a simple command DROP TRIGGER <user_table_schema_name>.<trigger_name>
.
If you configure events to publish to a String or XML type channel, the published results will contain a RowState
attribute similar to the following: <TableRow wId:RowId="2" wld:RowState="Inserted">
. The RowState
attribute will always be "Inserted" even if the event type is "Deleted" or "Update". You should ignore this attribute as it does not indicate that the row was inserted.
If the WebLogic Workshop application containing the channels to which the RDBMS event generator is publishing events is undeployed while the event is publishing data, or if the JDBC store/database used for JMS fails, but the database on which the event is configured is still running, there is a possibility of some data being lost. To minimize this possibility, the rows allocated per poll to each processing thread should be a small number (around 50 or lesser). This number can be calculated as follows; Max Rows Per Poll/No. Of Processing Threads = Rows Per Processing Thread.
When you are create channel rule definitions in the WebLogic Integration Administration Console, it is recommended that you do not use the Back button if you want to resubmit the details on a page. You should always use the navigation links available on the console and create a new channel rule definition.
When a Trigger Type Event is created on a Sybase table or Microsoft SQL table, the RDBMS event generator creates a Shadow table that is a replica or subset of the User's table. The Trigger copies the inserted, deleted, and updated rows from the User table into the Shadow table. As the rate at which rows are inserted, deleted, or updated into the User table increase beyond the rate at which the event generator can poll and process rows, the new rows become backlogged and cause the poll query to slow down.
Workaround: The Shadow table gets created with the same name as the channel name (specified when defining the channel rule) with an _BEA_SDW
suffix. To speed up polling and hence processing, a unique index must be created on a particular column. For example, if the Trigger Event name (channel name) is hello123
, the Shadow table gets created as hello123_BEA_SDW
. To workaround this problem, create a unique index as follows:
CREATE UNIQUE INDEX [idx_hello123] ON
schema_name.hello123_BEA_SDW(BEA_SEQ_ID)
Reference CR206549 and CR206332
Trigger type events created on Informix databases have some restrictions. The value specified in the No. of Threads field and Max Rows Per Poll field must always be 1 and the value specified in the Polling Interval field must be greater than the total time it takes to publish the rows picked up in every poll.
If you are working with an Informix database, you should always enable the auto commit mode during an Insert, Update, or Delete Event.
If you are working with an Informix database, and you want to delete an existing channel rule and create a new channel rule with the same channel name as the one you just deleted, you must set the Statement Cache size to zero.
If you are working with a Sybase database, when a Trigger Event is created on a Sybase table that already has one Trigger Event of the same type, such as Insert, configured, the older Trigger is replaced. This means that the older Trigger Event stops working.
You can have one each of Insert, Delete and Update Trigger Event per Sybase Table.
Due to the fact that Informix databases have atypical ways of retrieving the Precision and Scale of DECIMAL
and MONEY
data types, it is recommended that you specify the Precision and Scale in the User Table - DECIMAL(p,s)
.
In the case of a Query or Post Query Events query with automatic delete (nothing specified in Post Query), the Max Rows Per Poll value is ignored. This was tried with values of 1 and 10 for Max Rows per poll. However, in each case, all the rows were published and deleted in one single poll instead of 1 or 10 per poll as specified in the channel rule definition.
This case is specific to the Sybase database when using the Data Direct driver.
In Oracle 9i DB with Oracle's 9i Thin Driver, the behavior was as expected and only 1 or 10 rows were published as specified in the channel rule definition.
In DB2 and Informix, the automatic delete option is not supported.
When using a Timer event generator, the View All Timer Event Generators page does not refresh the status from Suspend to Running after clicking Resume.
Workaround: You must refresh the browser page to view the updated status.
Reference CR206528 and CR202902
The polling interval of the event generators may be set to a user-defined interval by using the following Java system properties:
wli.eventgen.email.checkConfigDelay
wli.eventgen.file.checkConfigDelay
wli.eventgen.timer.checkConfigDelay
These properties may be set on the Java command that starts the server. Each property sets the number of milliseconds between polls. For example:
-Dwli.eventgen.timer.checkConfigDelay=30000
This sets the Timer event generator polling for configuration changes every 30 seconds.
If not specified, the default polling interval of 10 seconds is used.
After making a change to the Business Calendar, the Timer event generator may not pick up the change in the calendar.
Workaround: In the WebLogic Integration Administration Console
Only Windows and UNIX type FTP servers are supported by the File event generator FTP. VMS is not supported.
When field type is CLOB or BLOB (Oracle) or field length exceeds the maximum integer value (for other databases), NumberFormatException
is thrown in the rdbmseg.log
file.
Rebuild of a Schemas project can sometimes disable all the Typed XML types from appearing in the WebLogic Workshop panes. For example, importing an XSD file into a Schemas project may disable the Typed XML types from appearing in the Configure XQuery Transformation Method pane.
If you experience this behavior, close your WebLogic Workshop application and reopen it. All the Typed XML types should now be displayed in the WebLogic Workshop panes.
Reference CR173029 and CR185979
If your process definition (JPD) uses XQuery to produce a local element or complex type variable, XMLBeans APIs such as the getXXX()
and setXXX()
methods, will not work in the JPD user code. Local elements or complex types are usually used in XQuery code to specify the output for a For Each node or Transformation node.
Workaround: Use subsequent XQuery transformations to extract or map data from such variables.
If your WebLogic Workshop application is using any of the system XSD files, do not delete any of the XSD system files from your Schemas project directory because the system XSD schemas are interdependent. For example, the system TPM.xsd
and xmldsig-core-schema.xsd
schemas are dependant on each other and removing one of these XSD files from your Schemas project will result in the following design-time error:
XQuery Document Inititialization failed. Design View unavaliable
Caution: Removing a system XSD file from a Schemas project directory may not produce a schema compilation error.
During run-time, the casting in transformations between the following types can be limited or unsupported:
For example, the casting is limited between the XML Schema type xs:double
and XML Schema type xs:integer
. The casting from a source xs:double
to a target xs:integer
in a transformation will be successful during run-time if the source double value is equal to 8
but will fail if the source double value is equal to 8.5
or even 8.0
. The casting between these XML Schema types is unlike the casting done between types in the Java or C language.
The casting between the XML Schema type xs:date
and the java.util.Date
is unsupported and will fail during run-time because these two types are not equivalent. The XML Schema type xs:date
contains only a date component and does not contain a time component while the java.util.Date
Java class contains both a time and date component.
Reference CR182658 and CR138588
In the Test View of the mapper, the java.io.IOException
maybe be thrown when the size of the input data for the query is a multiple of 8K. This exception is only thrown when the query is run in the Test View of the mapper, during run-time (outside the mapper) the query will run successfully with the same input data.
The Test View of the mapper does not generate the input XML test data correctly for XML Schemas that contain choice groups or pattern schema components. (For choice groups, all the choice groups are generated.)
To learn more about choice groups in XML Schemas see the following URL:
http://www.w3.org/TR/xmlschema-0/#groups
To learn more about pattern schema components see the following URL:
http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#rf-pattern
Workaround For Choice Groups: In the Test View of the mapper, before running the query, edit the XML data that is generated and delete any extra choice groups so that only a single choice group remains.
Workaround For Pattern Schema Components: In the Test View of the mapper, edit the generated XML data to be valid data for the pattern.
To learn more about editing XML data in the Test View, see Testing Maps in the Test View.
In XPath expressions, if the name of an element contains an XQuery keyword and the element does not have a namespace associated with it, use the child syntax to refer to the element in the XPath expression. For example, instead of referring to an element using the following syntax: $a/for
, use the unabbreviated syntax: $a/child::for
.
The reserved XQuery keywords are:
To learn more about the reserved XQuery keywords, see the following URL:
http://www.w3.org/TR/2002/WD-xquery-20020816/#N4021F0
To learn more about the unabbreviated syntax, see the following URLs:
http://www.w3.org/TR/xpath20/#unabbrev
http://www.w3.org/TR/xpath20/#abbrev
Reference CR145977 and CR154697
The WebLogic XQuery engine conforms to the August 16, 2002 draft of the W3C XQuery specification which is available at the following URL:
http://www.w3.org/TR/2002/WD-xquery-20020816/
The following are the known deviations from that specification:
xf:NOTATION
constructor is not supported.normalize-unicode
function is not supported.xs:error
function invoked with an argument is not supported.processing-instruction
is not supported.Reference CR143114, CR143234, CR148091, CR185099, and CR199645
Multiple-byte delimiters are not supported. For example, in Linux AS 3.0, the system encoding is UTF-8 and delimiters that consist of non-ASCII characters will be encoded as multiple bytes. In such a case, when starting the server, you must change the system encoding with the following java command option:
-Dfile.encoding=ISO8859_1
The delimiter of Group level causes the exception in Format Builder or run time.
Workaround: Remove this delimiter.
If the server is shutdown and restarted while a business process transformation is running, a transformation exception is thrown.
Workaround: Restart the business process.
WebLogic Workshop XQuery Mapper Test View can display an XML document up to 16 levels deep. Elements beyond 16 levels are not displayed.
When some WebLogic Workshop applications are run continuously under heavy loads on the Solaris 8, Solaris 9, or Solaris 10 operating systems using an Oracle database, the Java Hot Spot VM (1.4.2_04) can fail and throw the following exception:
Unexpected Signal : 11 occurred at PC=0xFEDCD0F4
Contact BEA Customer Support for the latest patch.
Note: This patch is not required for the Java Hot Spot VM 1.4.2_06 or later.
Workaround: Follow the steps in this procedure:
Reference CR179157 and CR197793
If you have enabled JDBC logging in the WebLogic Server Administration Console and you are using TEXT
or IMAGE
data types in prepared statements for a Sybase database, you might see JDBC errors like the following in your log:
SQLException: SQLState(HY000) vendor code(2782) java.sql.SQLException: [BEA][Sybase JDBC Driver][Sybase]An untyped variable in the PREPARE statement 'S1004' is being resolved to a TEXT or IMAGE type. This is illegal in a dynamic PREPARE statement.
Oracle databases deadlock intermittently when trading partners exchange messages using the ebXML business protocol. When this occurs, a message similar to the following appears in the log:
Exception occurred during commit of transaction
Xid=BEA1-002CE5A3E22526C12C0A(28578704),Status=Rolled back.
[Reason=javax.ejb.EJBException: nested exception is:
java.io.IOException: ORA-00060: deadlock detected while waiting
for resource
This message is informational and the transaction will be retried.
REAL data is truncated during publishing. So, use DECIMAL or NUMERIC data types. Note that DECIMAL and NUMERIC data have a wider range of precision than REAL data. Both DataDirect Sybase, and XA and NonXA drivers work well with DECIMAL and NUMERIC data types.
If you receive the message "No more available statements," recreate your DB2 package with a dynamic sections value of 6000 or larger. For more information, see "Creating a DB2 Package" in the "The DB2 Driver" in WebLogic Type 4 JDBC Drivers, which is available at the following URL:
http://download.oracle.com/docs/cd/E13222_01/wls/docs81/jdbc_drivers/db2.html
The WebLogic Integration startup database check does not support the use of global synonyms for accessing the WebLogic Integration tables. To run in this configuration, disable the startup database check and apply the patch for CR177114. To disable the database check, create a file called WLI8.1.x_db_tables_checked
in the wliconfig
directory of your domain.
The WebLogic Integration startup database check works for private synonyms after the patch for CR130576 is applied.
If your business processes do not complete or if they abort after your database crashes during the Prepare phase of a two-phase commit, you should restart the managed servers.
For information about recovery, see "WebLogic Integration Application Recovery" in the WebLogic Integration Solutions Best Practices FAQ, which is located at the following URL:
http://download.oracle.com/docs/cd/E13214_01/wli/docs85/bpfaq/recovery.html
Reference CR138799 and CR199827
WebLogic Integration system tables represent part of a single domain's internal state. This assumption is embedded in the WebLogic Integration operations and management algorithms. Since there is no way to distinguish the two sets of data, results are unpredictable.
Use of the implicit result set closure results in a general performance boost, but it may also break XA transactions as the server is not explicitly closing the result sets. This might break XA transactions and result in an XAER_RMERR
error.
Workaround: Set the AllowImplicitResultSetCloseForXA
property to false.
You will need this additional connection option to disable the implicit closure of result set. It is recommended that you set this flag to false
.
Sometimes, while inserting a BLOB during a batch update, the following exception is thrown:
weblogic.jdbc.base.BaseBatchUpdateException: [BEA][DB2 JDBC Driver][DB2]VALUE OF INPUT HOST VARIABLE NUM 8 NOT USED; WRONG DATA TYPE
Workaround: Set the BatchPeformanceWorkaround
property to true
. This property determines whether certain restrictions are enforced to facilitate data conversions. If set to false
, the methods used to set the parameter values of a batch operation performed using a PreparedStatement
must match the database data type of the column the parameter is associated with. This is because DB2 servers do not perform implicit data conversions. If set to true
, this restriction is removed.
For more details, see http://download.oracle.com/docs/cd/E13222_01/wls/docs81/jdbc_drivers/db2.html
It is recommended that you set this flag to true
.
When connectivity to the DBMS is lost, even if only momentarily, some or all of the JDBC connections in the connection pool typically become defunct.
Workaround: Set the following option:
TestConnectionsOnReserve="true"
The connection pool should be configured to test connections on reserve (strongly recommended). So, when an application requests a database connection, WebLogic Server tests the connection, discovers that the connection is dead, and tries to replace it with a new connection to satisfy the request. For more details, see http://download.oracle.com/docs/cd/E13222_01/wls/docs81/jdbc/programming.html
While using DB2 XA configurations, there is a negative impact on performance if the application has been running for an extended period of time.
When you use the ebXML protocol for Trading Partner messaging, the values used for Retry Number, Retry Interval, and Persist Duration are always the values of the remote trading partner and not the local Trading Partner.
In WebLogic Integration, you use Trading Partner Integration controls to send messages from the initiator business process to the participant business process. However, in the participant business process it is recommended that you use Client Response nodes to handle outgoing business messages to the initiator.
If you use controls in a participant business process, you may lose the message response signals, such as acknowledgments and error messages. If you need to use a control to send messages, instead of using the recommended design pattern, place the control in a subprocess and invoke the subprocess from the participant process.
The following APIs have changed:
retrieveAllTradingPartner
is now retrieveAllTradingPartners
retrieveAllAuthentication
is now retrieveAllAuthentications
retrieveRosettaNetServiceBinding
is now retrieveRosettaNetServiceDefaults
The two default trading partners that are created when you create a new WebLogic Integration domain have new default trading partner ids.
If you use a new WebLogic Integration domain with any old application data, be sure to update any relevant files.
XQuery transformation does not preserve the DOCTYPE
element.
Workaround: If you need the DOCTYPE
element in further processing, add it back into your message by using the obj.documentProperties().setDoctypeSystemId
in a Perform node following the transformation. An example of this is shown in the "Walkthrough of the Failure Notifier Business Process" section of the "Step 2: Open the PIP0A1: Notification of Failure Example" example under the "Tutorial Steps" heading of the Tutorial: Building RosettaNet Solutions available at the following URL:
http://download.oracle.com/docs/cd/E13214_01/wli/docs85/tptutorial/rosettanet.html
In addition to SHA1, WebLogic Integration supports MD5 as a digest algorithm option for RosettaNet. If you want to use signature configuration with older versions of bulkloader XML files, you need to add the following attribute to these files:
The signature-digest-algorithm
attribute is optional. Its representation is a character string in the DBMS. If you do not specify a value when you import the older version of the XML file, the value is set to NONE
.
The "self-signed" client certificates that you can generate for testing purposes through the WebLogic Integration Console may not work for two way SSL configurations when client certificates are enforced on the server-side.
Workaround: When you are testing two way SSL configurations, generate your test certificates by using other tools, such as OpenSSL.
Attempting to load data in the TPM repository with the Bulk Loader configured to use an XA database driver fails with the following error: No suitable driver.
Workaround: Configure the Bulk Loader to use a non-XA driver, or load the data interactively using the WebLogic Integration Administration Console.
For information about how to configure the Bulk Loader, see "Configuring the Bulk Loader Configuration File" in Using the Trading Partner Bulk Loader in Managing WebLogic Integration Solutions at the following URL:
http://download.oracle.com/docs/cd/E13214_01/wli/docs85/manage/bulkloader.html
For information about how to load TPM data using the WebLogic Integration Administration Console, see "Importing Management Data" in Trading Partner Management in Managing WebLogic Integration Solutions at the following URL:
http://download.oracle.com/docs/cd/E13214_01/wli/docs85/manage/tpm.html
When deleting a certificate from the WebLogic Integration Administration Console, if you encounter the following error message, click Continue to dismiss it:
Certificate with name
cert_name
does not exist for partner
partner_name
.
Despite the error, when you click Continue, the certificate is deleted.
Workaround: The error message can be disregarded.
Workaround: After upgrading, you must manually change the permissions to start the WebLogic Server.
Certain internal JMS queues, such as wli.internal.tracking.buffer_error
, are presumed not to exist. When the upgrade script tries to write the entries and finds that they are already present, instead of skipping over the entries, it fails.
Workaround: Manually remove the corresponding JMS Queue Entries from config.xml
before running the upgrade scripts.
A JMS Connection Factory (JNDI name is wli.internal.egrdbms.XAQueueConnectionFactory
) is required for the RDBMS event generator in WebLogic Integration 8.1 SP4. However, it is not created automatically by the upgrade script.
Workaround: Create the XA Connection Factory manually with the following parameters:
Note: Before upgrading the initial release of WebLogic Integration 8.1 to WebLogic Integration 8.1 SP4, you must upgrade to WebLogic Integration 8.1 SP2. For more information, see "Upgrading WebLogic Integration 8.1 SP2 and SP3 to WebLogic Integration 8.1 SP4" in WebLogic Integration Upgrade Guide.
The Worklist run-time state cannot be migrated to WebLogic Integration 8.1 SP2. For more information, contact BEA Customer Support.
If you encounter an out of memory error when using the upgrade script on Solaris, increase memory to at least 256 MB.
While specifying the values in the options.properties
file, if you specify the property os=unix
, substitutions may be skipped when executing the upgrade script. Use the default property os=both
, as it ensures that all paths are properly upgraded. If you choose run the upgrade script using the os=unix
property, run the update_paths target manually.
If using WebLogic Workshop Online Help when your computer is off the network, some of the links will fail because they attempt to load help HTML from the Product Documentation site (http://www.oracle.com/technology/documentation/index.html).
The Using the Suppressible Attribute for a Static Subscription sample documentation in the WebLogic Workshop Online Help instructs you to use the WebLogic Builder tool to modify the deployment descriptor for the JMS event generator message-driven bean to set the JMS event generator pool size to 1.
The deployment descriptor's (ejb-jar.xml
) message-selector
element includes XML characters, which are wrapped in a CDATA block, as shown in the following line:
<message-selector><![CDATA[GROUPID>=100 and GROUPID<200]]></message-selector>
A bug in the WebLogic Builder tool causes the CDATA block to be stripped when you edit the deployment descriptor:
<message-selector>GROUPID>=200 and GROUPID<300</message-selector>
When the
message-selector
element is defined like this, the JMS event generator cannot be deployed.
Workaround: To workaround this problem, use a tool other than the WebLogic Builder to modify the max
beans
in
pool
(that is, to set the JMS event generator pool size to 1).
Using the TaskSelector.setSortByPropertyValue()
method to sort tasks results in an EJB exception.
Workaround: Dynamically generate the SQL to query the database for tasks based on specific properties and sort accordingly.
When using certain setSortBy
properties, such as setSortByComment
, an error may be displayed similar to the following:
<Sep 24, 2004 3:50:08 PM PDT> <Error> <WLI-Worklist> <BEA-493028> <Internal error: unexpected ejb exception.>
Workaround: Increase the temporary tablespace for long row sorting; specify a page size of 16K or 32K.
The Worklist user interface allows logging in without checking for case sensitivity. However, the tasks associated with users are case sensitive. This means that if users do not login with the correct case, they will not be able to see their tasks. For example, if the login associated with the tasks is MANAGER1 and the user logged into Worklist as manager1, that user's tasks would not be visible.
Workaround: Users must use the login name with the same case when logging into the Worklist user interface as used when the tasks were created.
If the owner is a group, you cannot query by task owner using the Task Selector
or the WebLogic Integration Administration Console.
Reference CR204255 and CR203240
For all methods in the Task Worker control that takes in an array of gaskets
and returns an array of values, the order in which results are returned is not guaranteed.
Deadlocks can be encountered under high loads of concurrent Worklist operations in the SQL Server. Although deadlocks can be minimized, they cannot be completely avoided. You should design the front-end application (business processes using Worklist or other Worklist clients) to handle deadlocks by trapping for errors and resubmitting the requests.
Note: This problem does not occur if you do a fresh installation of WebLogic Integration 8.5 SP5. It only occurs when you upgrade from any earlier releases of WebLogic Integration 8.5 to WebLogic Integration 8.5 SP5.
To help minimize deadlock occurrences, contact BEA Support for information about setting the proper locking configurations for Worklist tables in the SQL Server.
Note: For information about deadlocks in the SQL Server, see http://support.microsoft.com/?kbid=832524#kb2-4.
Reference CR204698 and CR242075.
When a TaskInfo object is passed through a web service (JWS) and either or both of the request and response objects are not set, the service fails with the following error message:
Null value encountered where XML schema requires a value
Note: This error does not occur when you use TaskInfo objects in JPDs or via EJB calls through WorklistManager.
A web service (JWS) cannot take in or return an XmlObject, or any object containing an XmlObject if that XmlObject is null.
This section details some known limitations and issues of the BPEL Import tool. The majority of these issues exist because of the inherent differences between the JPD and BPEL languages.
It is very important that you confirm that the generated JPD file corresponds semantically with the input BPEL file.
eventHandler
is not supported. If it is included in the BPEL file, it is ignored during the conversion process and the following message appears: Global
EventHandlers are not supported, hence ignored
.wait
and onAlarm
for which the duration is specified using the until
attribute is not supported. If the until
attribute is contained in the BPEL file, a warning appears stating that it is not supported and is ignored in the generated JPD file. The conversion process will continue after this warning is displayed.Note: Both attributes (for
and until
) cannot be specified in a valid BPEL file.
flow
is not supported. You cannot convert a BPEL file that has a flow
construct as a first logical child. In this instance, logical activity refers to any activity other than sequence and scope.links
from activity flow
is not supported. If links
are present in the BPEL file that you want to convert, a warning appears stating that the generated JPD file may be erroneous as it contains links
, source
, target
. The conversion process will continue and will ignore these unsupported activities.reply
activity is used to return normal output/outcome is not supported. In order to qualify for conversion, a BPEL file must only contain one reply
activity to return a normal outcome. This is due to the fact that in a JPD file, there can only be one returnMethod
for any synchronous clientReceive
. However, in a BPEL file, there can be several reply
activities for a single receive
. There is no direct way to map one receive
and several reply
nodes to a single clientRequestWithReturn
.pick
activity with more than one OnAlarm
activity is not supported for conversion. This is due to the fact that pick
gets converted to eventChoice
. Each eventChoice
can have at most one timeoutEvent
node, which is generated for an onAlarm
activity. for
attribute of onAlarm
activity using bpws:getVariableData(..)
is not supported. When a for
attribute is specified using bpws:getVariableData(..)
, the imported code produces a syntax error.WARNING: Failed to parse input XSD & WSDL files. Please see logs for detail
, and the log file contains the following error message: Duplicate global type
, you should specify that multiple definitions of the namespace are ignored.The log file for the import process, named BpelImport.log
, is stored in %BEA_HOME%\\weblogic81\workshop
where %BEA_HOME%
is the directory where you installed WebLogic Workshop. This log file provides information about the import process.
To specify that multiple definitions of the namespace are ignored, select Schema Project
assign
activities are imported. Therefore, the generated XQuery expressions might not always be syntactically correct. Make sure that you verify the correctness of any generated XQuery expressions.
XSD file in the WSDL directory when importing through WebLogic Workshop.assign
is converted to a variable, the resultant XQuery file may contain the following "PARSE ERROR" in the Design view: The main XML element does not match the root node of the target schema
. However, you can ignore this message as the correct value is generated at run-time. This error is due to the fact that the Design view of XML Mapper has limitations and might not always be able to parse even correct XQuery expressions.eventHandlers
in the onMessage branch, a dummy Timer method may be generated for the eventHandler
onMessage path. JPD specification mandates that onMessage
and onTimeout
paths can only be associated with process nodes (or block of nodes) that do not run automatically. To handle this constraint, a dummy Timer node with a 1 second timeout is created if an eventHandler
is associated with a scope that does not contain any receive
, onMessage
, flow
, or wait
activity.attributeFormDefault="qualified"
and elementFormDefault="qualified"
and then using the qualified query string.reply
activities on multiple partner links. This is not supported in a JPD file. Only one such partner link will be converted as clientRequestWithReturn
that matches the reply semantics. reply
activities on other partner links will be converted into an asynchronous interface.onMessage
paths which have slightly different semantics. In the imported JPD file, once the event is received and the onMessage
path is executing, the block (corresponding to the BPEL scope) does not continue executing until the onMessage
path completes. This also means that only one instance of an Event Handler can be active at any one time.invoke
activities to Web Service controlSend
calls. It generates a Web Service control for the specified partner service and the JPD file invokes the corresponding method on the control. This release has some limitations in its capability to generate a Web Service control (a JCX file) in certain situations. You should carefully examine the contents of the generated JCX file to ensure that you can compile it. <reply>
in Switch, Case, or Otherwise nodes may not be logically correct. This is because the matching receive
and reply
of the synchronous operation are not present at the same level. <receive> - <reply>
block. In such a scenario, the generated JPD may not compile.
This section details some of the known JPD export limitations.
jpd:initialValue
.xsd:include
element. If the types used are in a WSDL file, it is exported using wsdl:import
.ArrayList
or another Collection class's add()
method, a non-standard JPD namespace attribute jpd:appendToCollection
is generated with its value set to true
.afterExecute=resume
is not supported for the following paths:freezeOnFailure=true
, onSyncFailure
, and persistent
are not supported.executeOnRollback
is not supported for OnException
path.jpd:transaction
set to true
.<jpd:xquerycode>
node as a BPEL extension.<jpd:javacode>
node as a BPEL extension.<jpd:javacode>
extension.
![]() ![]() |
![]() |
![]() |