23 Oracle Mediator

This chapter describes issues associated with Oracle Mediator. It includes the following topics:

23.1 General Issues and Workarounds

This section describes general issue and workarounds. It includes the following topics:

23.1.1 Multi-lingual Support Depends on Database Character Set

If you want to use multi-language support feature for some functions in Oracle Mediator, then, to avoid any unexpected results, you must ensure that these characters are supported by Database character set. For example, for Unit Test function, if the initial message payload in Unit Test includes characters that are not supported by Database character set, then you will see that the characters fail to display correctly in Unit Test part of the Oracle Enterprise Manager Fusion Middleware Control Console. This issue does not occur for a Database that supports Unicode characters.

23.1.2 SOAP Web Service With Attachments is Not Supported

In Oracle Mediator, when you call a SOAP Web Service with attachments you will not be able to perform a payload manipulation using the Assign or Transform functions. It fails with an exception because SOAP with attachments is not supported in Oracle Mediator if you use the Assign or Transform functions.

Workaround

When calling a SOAP Web Service with attachments, use Oracle Service Bus instead of Oracle Mediator.

23.1.3 Oracle Mediator - BPEL Process Manager Callback Processing

If Oracle Mediator calls a BPEL Process with callback processing and timeout, it is a best practice to explicitly handle the Callback exceptions returned from Oracle Mediator, in BPEL process. This is to ensure that the global transaction associated with Callback processing gets committed and is not rolled back. This way, the timeout handler configured in Oracle Mediator will not kick in even if the Callback handling in Oracle Mediator fails.

23.1.4 Mediator Components May Cause SOA Suite Server to Run Out of Memory

Mediator applications may run out of memory sometimes. For example, if the rate of incoming messages to Mediator is faster than the rate of callback messages, then memory accumulation occurs in the Mediator cache.

To fix this issue, change the cache size through the Oracle Enterprise Manager Fusion Middleware Control Console by adding the following property in the Parameters attribute of the Mediator configuration properties:

mediator.runtime_cache.limit=<value>

For example, if you set the value of the mediator.runtime_cache.limit property to 100, then the size of the cache will be limited to 100. The cache size refers to the number of objects that can be stored in the cache. You can switch off caching completely by setting this property to zero.

23.1.5 Mediator Advanced Functions Do Not Work in Design Time

Mediator advanced functions like mhdr:getCompositeName(), mhdr:getHeader require a runtime context to execute. So, if these functions are run using the Mapper Test functionality during design time, then the target XML file is not generated and the following error is thrown:

XML-22044: (Error) Extension function error: Error invoking 'getComponentName':'
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0'

These functions work fine in runtime environment.

23.1.6 endpointURI Property Is Not Displayed in the Assign Dialog

The outbound property $out.property.endpointURI is not listed as an available property in the Assign Value dialog for Mediator assign task, while specifying a routing rule.

If you want to assign value to this property, then you can type in the property as endpointURI in the Property field of the To section in the Assign Dialog.

23.1.7 Recoverable Instances for the Resequencer Are Tracked Incorrectly

In the Enterprise Manager, the number of recoverable instances shown for the Mediator resequencer equals the number of retries made to that instance rather than the number of actual recoverable instances. This information is for tracking purposes only, and does not result in duplicate messages being sent out.

23.1.8 Errors Occur When Multiple Users Edit the Same Document

If multiple users open and edit the same document in the SOA Composer, the following "Unexpected Error" occurs when one of the users tries to save their changes:

Unable to create document in the metadata repository; a document with the same name or GUID already exists.

23.1.9 WSDL Generated From Schema Cannot Be Updated

When you generate a WSDL file for a Mediator from a schema, you cannot update the Reply message from the Create WSDL window.

If you need to edit the Reply message, you can update the WSDL file directly after you create the file from the Create WSDL window.

23.2 Configuration Issues and Workarounds

This section describes configuration issue and workarounds. It includes the following topic:

23.2.1 A Null Pointer Exception Occurs When There Are No Routing Rules

In order to be a valid Mediator configuration, each Mediator component must include routing rules. If a component has no routing rules, Mediator does nothing at run-time and a null pointer exception occurs at mediator.dispatch.CaseExecutionPlan.getEffectiveExecutableCases.

23.3 Documentation Errata

There are no documentation errata for Oracle Mediator.