19 Oracle B2B

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

The issues and workarounds listed here are those that were known at the time of the product's initial release to the public. Additional issues and workarounds may have been discovered since the initial release. To view the latest known issues associated with Oracle SOA Suite, BPM Suite, and related SOA technologies, go to the Oracle Technology Network (OTN) at: http://www.oracle.com/technetwork/middleware/docs/aiasoarelnotes-196861.html.

19.1 General Issues and Workarounds

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

19.1.2 Using Oracle B2B Online Help

Allow pop-ups (disable the browser pop-up blocker) to use the Oracle B2B online help.

19.1.3 Oracle B2B Supports Third Party JMS Providers

Oracle B2B works with third party JMS providers. IBM WebSphere application server has been validated as a JMS provider for Oracle B2B.

19.1.4 IBM WebSphere Not Supported For Deployment

Oracle B2B is not supported on IBM WebSphere. The B2B user interface will not be deployed on IBM WebSphere.

19.1.5 Non-administrator Users Can Perform Certain Administrative Tasks

Although the Save button is not displayed on the Agreement page for remote partner administrators, these users can update and save agreements by editing the agreement name on non-deployed agreements, and then updating and saving the agreements. Oracle B2B does not check the user authorization in this case.

19.1.6 replyToAppMessageId Incorrectly Set in Acknowledgement Notifications

Oracle B2B offers a notification of an Acknowledgement (AS2-MDN or EDI-FA) that is sent back to a composite or AQ (IP_IN_QUEUE) if configured using the Oracle B2B interface (Administration > Configuration page). The received Acknowledgement notification appears similar to the following:

<Acknowledgment xmlns="http://integration.oracle.com/B2B/Acknowledgment"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<replyToB2BMessageId>0AB1FE0211FE933570200000120666E0</replyToB2BMessageId> 
<replyToAppMessageId>0AB1FE0211FE933570200000120666E0</replyToAppMessageId>
<ackB2BMessageId>0AB1FE0211FE9338CB80000012066930-1</ackB2BMessageId> 
</Acknowledgment> 

Note, however, that the replyToAppMessageId is always incorrectly set to be the same as the replyToB2BMessageId.

19.1.7 Incorrect User Information for Receipt Notification (AS2 MDN) to AQ

When delivering a receipt notification (AS2 MDN) to AQ, Oracle B2B incorrectly sets the user information to the document routing ID (if the outbound document has a document routing ID set) instead of b2backuser.

19.1.8 Application Message Report Displays Incorrect Document Type

The application message report in the Oracle B2B interface incorrectly displays document types. Specifically, the application message report displays the following:

  • For receipt messages, the displayed document type is for the outbound message. If you want to collect metric data on the number of inbound application messages for a specific document type, the issue can cause queries to report incorrect data.

  • For FA messages, the displayed document type is the same as the FA message type.

19.1.9 Generated MDN Incorrectly Uses Name Identifier in Inbound Agreement

In synchronous AS2 mode, the generated MDN uses the AS2 Identifier set in the inbound agreement. If no AS2 Identifier is defined in the agreement, then the generated MDN incorrectly uses the name identifier. The workaround is to set the expected AS2 Identifier in the inbound agreement.

19.1.10 Oracle B2B Signs MDN Using the Algorithm Set in the Agreement Delivery Channel

In AS2, a request for a signed MDN from the recipient can specify the algorithm to use for signing. Oracle B2B, however, incorrectly signs the MDN with the algorithm set in the agreement delivery channel. This algorithm may be different from the requested algorithm.

19.1.11 Sending an Unknown AS2 From-Header Is Not Recognized as an Error

When receiving an EDI document over an AS2 exchange, if Oracle B2B fails to identify the trading partner using the AS2 From Identifier, Oracle B2B tries to identify the partner using the EDI Interchange and Group ID. The failure to identify the partner by the AS2 Identifier is ignored.

19.1.12 Incorrect URL in the Wire Message for a Received Synchronous MDN

The synchronous MDN received by the host server in response to an AS2 message sent over SSL shows an incorrect URL in the wire message. Specifically, the URL indicates the HTTPS protocol while the port information is for the HTTP listen port.

19.1.13 Invalid EDI Interchange ID Qualifier or Function Group Identifier Is Not Recognized as an Error

Setting an invalid EDI Interchange ID Qualifier or an invalid Function Group Identifier (not part of the default ECS Qualifier Standard Code List_105 or Function Identifier Code Standard Code List_479 respectively) is not signalled as a MSG_ERROR in the outbound case. Oracle B2B instead delivers the message to the configured endpoint without error.

19.1.14 Oracle Enterprise Manager Shows Incorrect Error Count Following Successful Resubmit

When a B2B channel is configured to retry following an error (such as a transport channel being unavailable) and the message is subsequently successfully delivered, Oracle Enterprise Manager fails to adjust the corresponding error count.

19.1.15 XEngine Is Not Installed on the Second Node in a Clustered Environment

In a clustered environment, the XEngine is not installed on the second node when the node is on another computer. This is because the XEngine extraction occurs only when you run the Configuration Wizard (which is not run automatically on the second node). The workaround is to perform the XEngine extraction manually and then restart the server.

19.1.16 EDI Batching Results in Incorrect Average Message Size on Metrics Page

When Oracle B2B batches multiple messages into a single message, the native message size for each business message is recorded as the size of all messages in the batch. This results in Oracle B2B reporting an incorrect average message size on the Metrics pages of the Oracle B2B interface.

19.1.17 Test Page for B2BMetadataWSPort Is Not Found

The test page for B2BMetadataWSPort results in a "404 Not Found" error. The workaround is to change the port number in the URL for the link from the managed server port to the admin server port (7001) and try again.

19.1.18 Use the Oracle B2B Interface Instead of Command-Line Utilities in a Clustered Environment

In a clustered environment, do not use the B2B command-line utilities for purging data, importing data, and exporting data. Use the Oracle B2B interface for these functions.

19.1.19 ebMS Negative Acknowledgments for Decryption and Signature Failures

For ebMS documents, negative acknowledgments for decryption and signature failures are sent as security severity errors. For all other negative ebMS acknowledgments, the error is set as UnknownError.

19.1.20 Issues When Resubmitting Messages Using the AS2 Exchange

Under certain circumstances, resubmitting an asynchronous AS2 inbound wire message does not work as expected. For example, change the state of an inbound agreement to inactive. On receiving a message, a negative acknowledgment is generated and sent back. The sender sees the message state as MSG_ERROR on receipt of the negative acknowledgment. Resolve the issue on the inbound side by changing the agreement state from inactive to active. Now two scenarios for resubmitting the asynchronous message exist:

Scenario A: Resubmit the wire message at the sender's side. Because the message was already processed at the receiver's end, this results in a duplicate error message.

Scenario B: Resubmit the wire message at the receiver's end. This passes at the receiver's end and pushes back a positive acknowledgment message. However, the state of the message on the sender's side is not changed. Although scenario A can be expected, scenario B should have worked. However, because the state of the message is MSG_ERROR, the incoming positive acknowledgment is ignored. This results in inconsistency in reporting at the two ends. The inbound side passes the message to the back-end successfully, whereas the outbound side has the message in the MSG_ERROR state.

19.1.21 XSLTCallout Is Not Available

The predefined callout, XSLTCallout, is not available in this release.

19.1.22 JTA Settings Based on Loads

Based on the database load and the application server load, tune the transaction timeout setting in the Oracle WebLogic Server Administration Console. Select JTA from the home page and increase the default setting of 30 to a higher value.

19.1.23 Settings for Large Payloads When Using Enqueue Scripts

Set the following properties in the enqueue.properties file when enqueuing large payloads:

payload=payload_filename_with_absolute_path
eventName=LARGE_PAYLOAD=true

Because the full directory path must be provided, use the local computer for this operation.

19.1.24 FTPS Connection Times Out with Implicit SSL Encryption

Implicit SSL encryption is not supported in the transport layer.

19.1.25 %ACTIONNAME% Filename Format Is Not Recognized

The %ACTIONNAME% filename format is not recognized when used with the File, FTP, and SFTP transport protocols.

19.1.26 RosettaNet Message Encoded in UTF-16 Fails at the Receiver's End

Oracle B2B is unable to process an inbound RosettaNet message encoded as UTF-16. A document protocol identification error is returned.

19.1.27 Save Autogenerated Agreements Before Deployment

Save autogenerated agreements at least once before the agreements are deployed. The agreement parameter settings for translation/validation and FA are generated in the agreement only when you save an agreement and not when it is autogenerated. Although the interface may show the default values, they are not captured in the agreement metadata and are ignored at run time; that is, the inbound EDI message may not be translated.

19.1.28 FTP Listening Channel Does Not Have Proxy Support

The Generic FTP-1.0 protocol for a listening channel does not have proxy support.

19.1.29 b2bpurge Command-Line Utility May Not Terminate Listening Threads for Inactive Channels

When using the b2bpurge command-line utility, if inactive channels exist, then those listening threads are not terminated. The workaround is to repeat the b2bpurge call two or three times until the listening threads for the inactive channels are terminated.

19.1.30 ebMS Delivery Channel Is Required for ebMS Inbound Agreements with Asynchronous Ack Mode

For an inbound agreement that uses an ebMS exchange with the Ack Mode parameter set to asynchronous, an ebMS delivery channel is required.

19.1.31 Even with the Log Level Set to Default, Details Are Written to the Log File

Normally the default log level suppresses details in the log file. However, for RosettaNet deployments, log details are not suppressed even with the default log level setting.

19.1.32 Using Document Definition Names with Multibyte Characters in JDeveloper

When working with document definition names with multibyte characters (MBCS-named document definitions) in the B2B Configuration Wizard in JDeveloper, you may see the error "Invalid UTF8 encoding" at the step where the document definitions are loading for you to select the document definition for the service. This occurs when JDeveloper is running in a non-UTF-8 environment (for example, in Windows, using Simplified Chinese Win2k3, or in a native encoding Linux OS, using zh_CN.gb18030). However, in a Linux environment with UTF-8 encoding, such as zh_CN.utf8, MBCS-named document definitions load correctly. After loading, the MBCS-named document definition becomes the name of the document XSD folder in JDeveloper.

To ensure that MBCS-named document definitions load and display correctly in the B2B Configuration Wizard, do the following:

  • When using JDeveloper in a Linux environment, first set the LANG and LC_All environment variables to a locale with the UTF-8 character set. This enables the operating system to process any characters in Unicode. Then start JDeveloper.

  • When using JDeveloper in a Windows environment, start JDeveloper using UTF-8 encoding with jdev -J-Dfile.encoding=utf-8.

19.1.33 Suppressing Validation Errors on Extra Elements in HL7 Messages

For HL7 messages, set HL7.AllowExtraData to false in XERegistry.xml to suppress validation errors on extra elements.

The XERegistry.xml file is located in the following directory:

SOA_HOME\thirdparty\edifecs\XEngine\config

19.1.34 Oracle B2B in High Availability Environments

See Section 6.2.11, "Message Sequencing and MLLP Not Supported in Oracle B2B HA Environments," for more information.

19.1.35 Methods for Recovering Messages in High-Stress Environments

Use the following solutions to recover messages that would otherwise be lost in high-stress environments involving outbound messages with multiple instances of Oracle B2B running, each with multiple threads.

Situation 1: Duplicate File Names

In situations where all message file names, TPname_timestamp, are sent to the same directory, the timestamps include milliseconds; thus, in normal situations, all file names are unique. However, in high-stress environments, duplicate file names can occur, resulting in files being overwritten by a later file with the same name.

The solution is to append the unique MSG_ID value to file names. In the B2B interface, go to the Partners link and select a remote trading partner. Go to Channels > Transport Protocol Parameters. For channels where the Filename format parameter is applicable, add %MSG_ID% as a filename format macro. All file names will then be unique.

Situation 2: Exhausted Message Redelivery Attempts

If you see the message java.lang.RuntimeException: AppMessage is null:msg_id, a race condition may be indicated. A race condition occurs when a JMS event has been enqueued and dequeued for processing, but the corresponding message is not committed in the run-time repository. The B2B engine will retry the transaction, but it may fail if retry occurs immediately. If all retry attempts are exhausted, the event delivery transaction is rolled back and an exception message is sent to the configured exception queue, if an exception queue is configured.

To configure the exception queue and to resubmit exhausted redelivered messages from the exception queue to B2BEventQueue, use Oracle WebLogic Server Administration Console.

Do the following:

  1. Create a queue and name it something like B2BEventException.

  2. In the console, go to the settings for B2BEventQueue (Home > JMSModules > SOAJMSModule) and click the Configuration > Delivery Failure tab.

  3. For Expiration Policy, select Redirect.

  4. For Error Destination, select the queue you created in step 1 (for example, B2BEventException).

    The messages that cannot be processed by B2B for the given redelivery count are forwarded to this error destination queue.

  5. Move the messages from the configured error destination queue to B2BEventQueue to resubmit the messages for processing.

    See the Oracle Fusion Middleware Oracle WebLogic Server Administration Console Online Help topic, "Manage queue messages," for how to move messages.

19.1.36 Inbound ebMS Messages Checked Irrespective of Duplicate Elimination Setting

According to ebMS standards, Oracle B2B must check for duplicate inbound ebMS messages only if the DuplicateElimination tag is present in the ebMS message. However, currently, B2B tries to detect duplicate inbound ebMS messages irrespective of whether the DuplicateElimination tag is present or not in the ebMS message.

19.1.37 SOA Infrastructure Schema Prevents the Use of Edition-Based Redefinition

Edition-based redefinitions are not supported for SOA B2B in the current release.

19.1.38 Transport Callouts Are Not Available for Listening Channels

Transport callouts are not available for listening channels.

19.1.39 B2B User/Role Provisioning

In a multiple-node SOA server domain, the JMX framework propagates local changes to a file-based policy to each run-time environment, so that the data is refreshed based on caching policies and configuration.

In a multiple-node server environment, it is recommended that the domain policy and credential stores be centralized in an LDAP-based store. Otherwise, if they are file-based, then local changes to user privileges made in the B2B UI will not be properly propagated and can end up in error situations.

See Oracle Fusion Middleware Security Guide for more information.

19.1.40 Fault Repair and Resubmission From Oracle Enterprise Manager Facility Is Not Available

In Oracle Enterprise Manager, there is no fault repair for Binding Components such as Oracle B2B. It is only available for service engines such as BPEL and Mediator.

19.1.41 Create Separate Batch Criteria For Document Type With Varying Application References

Different EDIEL document types (DELFOR and MSCONS) having different interchange APPLICATION REFERENCE settings, when batched together within a single interchange, used the setting for APPLICATION REFERENCE field from only the first document to be batched.

To avoid this issue it is suggested that if documents have varying interchange Application References, then users should create separate batching criteria for these documents, that is do not batch them together.

19.1.42 Multiple Sender ID Support Required Redeployment After Addition of New ID

The current Oracle B2B implementation to support multiple sender interchange ID requires users to redeploy the agreements after the addition of the new interchange ID. If deployment of agreements is not done, then the interchange IDs that were present at the time of the initial deployment are the only ones that are considered during validation check.

19.1.43 FTP Listening Channel Does Not Support Proxy

FTP listening channel does not support proxy.

19.1.44 Clicking on Reports Displays Spurious Warnings in the Managed Server Console Log

Clicking on the Reports tab (defaults to Business Message Report) results in several instances of the following warning in the Managed Server Console log (from where the managed Server is started):

Could not find selected item matching value "" ...

19.1.45 Duplicated GUID in EDI Batched Outbound Messages Causes All to Error

If there are two messages with same GUID value in a set of batched outbound EDI messages, then the XEngine will error out all the messages in that batch. In earlier releases, the behavior was to error out only the duplicate message, the other messages would pass through.

19.1.46 CPP/CPA Conversion to B2B Metadata With BPSS Document Has Limitations

The CPP/CPA cpaimport command line utility option, when executed with -Dstandard=true has some known limitation in converting to B2B metadata. It is not supported if CPP/CPA contains references to BPSS documents.

19.1.47 B2B Metadata Service Allows Anonymous Access

To work around, the following URL should not be exposed outside of a company network.

http://<server>:<port>/integration/services/b2b/B2BMetadataWSPort

19.1.48 TPAConfigRequest Web Service Returns All TPAs Without DUNS Identifier

In TPAConfigRequest Web service, if DUNs identifier is passed, it returns all the agreements which do not have DUNS identifier. It should get only those agreements having DUNS number in Trading Partner Agreement.

19.1.49 ebMS 1.0 Does Not Support Sync Ack Request

ebMS 1.0 requires a syncReply attribute under the Via element. B2B is adding a separate element called syncReply, which is not per the expectations of the 1.0 version specification for ebMS exchange. Due to the incorrect usage, the Receiving party will not understand that Sender is requesting syncAck and would send an Async Ack response.

19.1.50 ebMS Compression Not Supported

The ebMS exchange does not support compression. ebMSoutbound:compression wire-message does not show compressed headers.

The ebMS delivery channel shows compression flag in the user interface. This flag is no longer functional for ebMS.

19.1.51 Custom Inbound Folder Support Not Available For Mail With Pop3

E-mail Channel Support for Inbound with a different folder is not supported for POP3 configuration.

19.1.52 Document Retry Not Supported With Batching

Document retry feature is not supported with batching of EDI/x12.

19.1.53 Incorrect Interchange Sender/Receiver ID for x12 Caused Failure to Generate FA

If we receive an inbound X12 4010 850 message with the Interchange sender (or receiver ID) not matching with the configured setting in the agreement (with validation), the negative FA is not generated. The message fails as expected, however the FA does not get generated. The FA generation issue is not seen for Group level Identifier failure.

A similar case in EDIFACT has the FA generated for both Interchange and Group level failures.

19.1.54 Sequence Report Not Available

Currently there is no provision to query for messages that are part of a certain sequence from the B2B user interface. The workaround is to query the database. The following is a sample query to list all messages stuck in the sequence manager table:

SELECT sm.SEQUENCE_TARGET,bm.MESSAGE_ID,bm.SENDER_NAME,bm.RECEIVER_NAME,bm.DOCTYPE_NAME,bm.DOC_PROTOCOL_VERSION FROM  b2B_sequence_MANAGER sm,B2B_Business_message bm WHERE bm.MESSAGE_ID=sm.MESSAGE_ID 

19.1.55 Sequence Stacked/Processed Messages Store Transport Details With Processed Message

When channel related details are updated and deployed, use Application message resubmit for outbound messages to reprocess the message, since Wire Message resubmit of outbound messages will simply post the packed and do look at the updated metadata.

Similarly for reprocessing of inbound messages based on new deployed metadata, use Wire Message resubmit and not application message resubmit.

19.1.56 Removing Xpath Identification Expression From Document Definition Requires Restart

When we change the xpath identification expression, then a redeployment takes the new xpath expression set in the definition. However, if we remove the xpath expression and deploy, the change is not reflected and user must restart before the change works.

19.1.57 Obfuscated Payloads Cannot Be Retrieved Using Java Instance Message API

If obfuscation is enabled then B2B Instance Message API returns encrypted Wire payload and does not return Business message payload.

19.1.58 Only Identifiers Used in the First Agreement Are Added Into the CPA Export

If the B2B metadata to be used in CPA export utility is an entire repository export, then there might be a scenario where the identifiers set in different agreements could have a variation. Under such conditions, it is observed that only identifiers used in the first agreement are extracted as partyId elements. If there are other identifiers in additional agreements which are part of the export, these are not added to the CPA XML.

19.1.59 Internal E-mail Listening Channel Not Supported

In the Oracle B2B Console, internal e-mail listening channel can be configured using internal flag in Administration>Listening Channel>Generic Email-1.0>Channel Attributes; however, there is no support available for internal e-mail listening channel.

19.1.60 JTA Timeout Must Be Set When Using b2b.maxtimeinaquiredstate

b2b.MaxTimeinAquiredState does not work for inbound message if JTA times out. Set the JTA timeout to provide enough time for b2b.MaxTimeinAquiredState.

19.1.61 B2B Data Cannot Be Purged Using SOA Purge Script

B2B related data cannot be purged using a standard SOA purge script. To purge B2B related data use the B2B purge utility. See "Purging Data" in Oracle Fusion Middleware User's Guide for Oracle B2B for information about the utilities. It is recommended that this purge be done with the exact same criteria that was used for the SOA purge.

19.1.62 Incorrect GUID Brings Down the Server

This issue applies only to the Linux 64-bit platform.

When a message with an incorrect GUID format for EDI XML is enqueued, B2B server goes down and is unable to start up again going into NOT_RESTARTABLE state.

For example, a good GUID looks like:

"{2AFCF387-AC9E-11DF-AC03-005056A618D7}"

A bad GUID looks like:

"2d313431383032353434333337333537" 

Possible workarounds:

1. Correct the GUID to the expected format.

2. Do not pass any GUID at all.

19.1.63 Conversation ID Not Working Separately With JMS

1. The outbound JMS property, jca.jms.JMSProperty.INREPLYTO_MSG_ID, does not work in ebMS if the property jca.jms.JMSProperty.MSG_TYPE is not set to 1. This is not required when using AQ or Fabric.

2. The outbound setting of JMS property, jca.jms.JMSProperty.CONVERSATION_ID, does not set the conversation ID in the outbound message.

Workaround:

This must be passed along with the property

jca.jms.JMSProperty.INREPLYTO_MSG_ID

Pass it in this way:

jca.jms.JMSProperty.INREPLYTO_MSG_ID=MSGID_OF_THE_REFERRED_MSG:CONVERSATION_ID

The MSGID_OF_THE_REFERRED_MSG is the business message ID of the message to which the enqueued message is responding.

CONVERSATION_ID is the conversation ID that is required to be set in the outbound ebMS message.

If no message is being referenced, it can be left out and just the conversation ID can be passed after the colon.

19.1.64 CPA Export Does Not Clean Up Older Data Before Unzip

When running the CPA export utility, the B2B metadata is unzipped into the export folder before conversion of the same to CPA file. The unzip does not clean up older data in that location which causes problems in the CPA export utility. To work around this issue, clean up older data when running the CPA export utility to avoid interference.

19.1.65 cpa import does not bring in encryption settings

CPA with encryption setting of a channel should be set the same in the B2B model; however, when running the CPA import utility to generate the B2B model, the CPA import utility is not bringing the same back into the B2B soa.zip created.

19.1.66 Policy Store, Identity Store and CSF Must Be OID Based

Using the default XML-based store for making updates from B2B, which could be on a managed server, can cause inconsistent results leading to unpredictable errors. It is recommended that all stores (identity, policy, csf) be LDAP-based external OID stores when used with B2B.

19.1.67 Error ORA-01461 in E-mail Attachment Use Case

The issue occurs in cases where AttachmentsDirectory property is not defined, and the e-mail body contains message body content and also has an attachment.

To avoid this error, define the AttachmentsDirectory property, which specifies the location where e-mail attachments are saved.

19.1.68 Login to Oracle B2B Console Throws "Redirecting Request" Error in Firefox

Using the Firefox web browser, if an Oracle WebLogic Server-created B2B Monitor role user which does not have an assigned trading partner in B2B tries to login to the Oracle B2B console, then that user may see an error that "Firefox has detected that the server is redirecting the request for this address in a way that will never complete. This problem can sometimes be caused by disabling or refusing to accept cookies."

To log in to B2B console after seeing this error, remove cookies in the Firefox browser using Tools>Options>Privacy>Show Cookies>Remove Cookies.

19.1.69 B2B Utility b2benqueue is not Supported

The B2B utility b2benqueue is not supported in Oracle B2B release 11.1.1.4.0.

19.1.70 Async MDN Not Returned If Inbound Message Processing Error Occurs

In the case of an inbound message processing error, B2B does not send an Async AS2 MDN (ack) back to remote trading partner.

19.1.71 Property b2b.checkDuplicate May Cause Infinite Loop

If b2b.checkDuplicate is set to false (default is true), then there could be a situation where B2B starts sending repeated messages to itself in a never ending loop.

The workaround is to stop the server and start it up again.

19.1.72 Large Payload Issue for Inbound Generic HTTP on Microsoft Windows Platforms

Bug 10647786, base Bug 10638480

When receiving a large payload over Generic HTTP on a Microsoft Windows environment, the payload is stored in the configured large payload folder (as set in the Configuration of B2B console). If the incoming message ID contains characters such as : < > and so on, it could cause a problem creating the payload file in the folder.

Note that when using JMS, the message ID created does contain such characters in the message ID.

19.1.73 B2B Does Not Validate the Incoming MIC in MDN

Normally, an AS2 MDN should report the MIC hash calculated by the receiving end. The MIC reported in the MDN must be same as the MIC calculated when sending the outbound message. This validation in necessary to confirm that there was no message tampering in between.

B2B does not validate the MIC and hence will accept non-matching MIC values without errors.

19.1.74 Unsigned Message With Signed MDN Reports Incorrect MIC

Normally, upon receiving an unsigned message with a request for signed MDN, the receiving party is supported to calculate the MIC and report the same in the MDN under the field RECEIVED-CONTENT-MIC. The MIC is verified by the sending to ensure that there was no message tampering.

Actual Behavior: On receiving the unsigned message, the MIC calculated and reported back to the sender does not seem to be correct.

19.1.75 Outbound Stacked Message Does Not Attempt Wire Message Resubmit

When running messages under the document sequencing mode, any error for a message will block subsequent messages from delivery until the message with the error is cleared. To clear this error (if it was a delivery failure due to an unavailable endpoint) ideally a wire message resubmit should work. However, the wire message resubmit does not work for outbound stacked messages in sequence.

19.1.76 Failure Delivery on Document Retry Attempt Does Not Initialize Pending Retries

Normally, if there is delivery failure on a document retry attempt, the failure should be handled by Channel retry; however, the failure in a document retry attempt is not handled by the remaining channel retries nor by the remaining document retries.

The following line should not be in the B2B documentation:

"Cases involving no channel retry, Document retry will be triggered after Document retry interval."

19.1.77 DynamicIP Property Does Not Work With JMS

The property jca.jms.JMSProperty.DynamicIP does not work.

The workaround is to use the use actionName parameter to set DynamicIP.

19.1.78 Updating Document-level Interchange/Group ECS Requires Validation

The EDI Interchange and Group ECS files can be uploaded in two places:

1) When creating new Document Protocol Version from the links Administration>Documents in the B2B console.

2) These ECS files can be overridden at the Trading Partner level by going to Partners>Documents in the B2B console and selecting the checkbox for Override Version Param.

If you upload new Interchange/Group ECS files, as in step(1), the Trading Partner level ECS files are removed and dangling references are created in the MDS repository. This error is not detected until runtime.

If you make any such changes, you must to go to all Trading Partner configurations, uncheck Override Version Param, and then check it again. This will fix the dangling ECS file references.

19.2 Configuration Issues and Workarounds

This section describes configuration issues and workarounds. It includes the following topics:

19.2.1 Functional Ack Internal Properties Setting Ignored for HL7

For HL7, setting the Functional Ack internal property (FAInternalProperty) to false using the Administration > Configuration page in the Oracle B2B interface causes Oracle B2B to nevertheless use the payload header FA internal properties instead of the design-time parameters.

When the FAInternalProperty is set to true and there are different payload and design-time parameter values, you may see an error in the Ack message. Therefore, it is recommended that you do not set the FAInternalProperty to true for HL7.

19.2.2 Unable To Specify Separate Parameters for Remote Trading Partner Sender and Receiver

Although the metadata for a remote trading partner stores separate information for the sender and the receiver for the same document definition, you cannot specify these differences using the Oracle B2B interface.

The workaround is to create a new document definition and use the two definitions to specify the parameters for the sender and receiver separately.

19.2.3 Unable To Set Ack Requested Field for Interchange

The Oracle B2B interface does not offer the ability to set the Ack Requested field for Interchange.

19.2.4 Overriding Defaults in a Host Document Not Carried to the Remote Trading Partner

When creating a host document, including specifying the version, type, and definition, Oracle B2B assigns default values to certain fields that can be overridden by the user. If you override one or more nonmandatory fields by making them blank and then add the definition to the remote trading partner, the default values that you intentionally left blank reappear for the remote trading partner.

To resolve this issue, manually make the nonmandatory fields blank again for the remote trading partner.

19.2.5 "Query Sent to an Unactivated UnitOfWork" Exception

When using any document protocol, the following exception appears in the seller's soa.log file:

oracle.toplink.exceptions.QueryException 
Exception Description: Query sent to an unactivated UnitOfWork.

The workaround is to increase the JTA timeout from 30 to a higher value using Oracle WebLogic Server Administration Console.

19.2.6 Limitation of b2b.addcorrelatedfainfoinexceptionxml Property

When enabled, the property b2b.addCorrelatedFAInfoInExceptionXML sets exception message with detail of the Correlated FA message that indicated error for the outbound EDI document. This additional information is passed only to the AQ exception message and not to the Fabric exception message.

19.2.7 Enable Auto Search Feature Does Not Function

In the Oracle B2B interface, the Enable Auto Search parameter (on the Administration > Configuration page) does not function in this release.

19.2.8 Use the ACTION_NAME Parameter to Pass JMS Interop Parameters

Several parameters are used to communicate to/from B2B using JMS. Currently the following parameters are not directly available for JMS so you must use ACTION_NAME to pass the parameters.

FILENAME (Fabric (In Memory) parameter - b2b.filename)

CONTENTTYPE (Fabric (In Memory) parameter - b2b.contentType)

GROUPING (Fabric (In Memory) parameter - b2b.toTradingPartnerGroup)

TARGET (Fabric (In Memory) parameter - b2b.sequencingTarget)

CONNMODE (Fabric (In Memory) parameter - b2b.connMode)

CUSTOMHEADER (Fabric (In Memory) parameter - b2b.customHeader)

DYNAMICIP (Fabric (In Memory) parameter - b2b.toDynamicIP)

CONVERSATIONIDSEPERATOR (Fabric (In Memory) parameter - b2b.conversationIdSeperator)

19.2.9 Saving Trading Partner With Large Number of Identifiers and Agreements Takes A Long Time

In the B2B console, saving a trading partner with a large number of indentifiers and agreements can take a very long time.

19.3 Documentation Errata

This section describes documentation errata. It includes the following topics:

19.3.1 TRADACOMS Preview Feature For 11.1.1.4.0

The use of the TRADACOMS protocol is a developer preview feature for 11.1.1.4.0. To use TRADACOMS you must create the following identifiers through B2BConsole in Administration>Types tab:

TRADACOMS Name

TRADACOMS Code

19.3.2 Oracle Fusion Middleware User's Guide for Oracle B2B Has More Information Than Online Help

See Oracle Fusion Middleware User's Guide for Oracle B2B for more complete information than what is available from the Help link in Oracle B2B. In particular, the guide includes descriptions of the Active Document Types fields and Active Trading Partners fields (Table 17-1) and the Summary fields (Table 17-2) that are not found in the online help.

19.3.3 Default Value for the b2b.r1ps1 Property Is True

In Figure 30-3, "Configuring B2B Attributes," in Oracle Fusion Middleware Administrator's Guide for Oracle SOA Suite and Oracle BPM Suite, the value displayed for the b2b.r1ps1 property in the Element_1 node is incorrect. The default value for this property is true, not false.

19.3.4 B2B Configuration Wizard Tooltip in JDeveloper Incorrectly Refers to OC4J

The descriptive text (tooltip) that pops up when you move the cursor over the Test B2B button on the Application Server Connection page of the B2B Configuration Wizard in Oracle JDeveloper incorrectly refers to the SOA OC4J HTTP port. Clicking this button tests the B2B server connection.

19.3.5 Outbound File/FTP/SFTP Changes to Default File Name Format

The outbound File/FTP/SFTP channel has the file name format changed in 11gR1 PS2 as follows,

ToParty_YearMonthDay_Hr_Min_Sec_millisec_<Threadhashvalue>_<VMID>.dat

For example,

GlobalChips_850_4010_2009FEB23_03_22_07_321_238_245 .dat

Threadhashvalue - executing threads value.

VMID - virtual machines unique identifier.

Note: the original format is ToParty_<timestamp>.dat.

19.3.6 New Section: Monitoring Oracle B2B Faults and Rejected Messages

The Oracle Enterprise Manager Fusion Middleware Control Recent Faults area lists the faults, including details such as the error message, time of the fault, and the associated composite instance ID. Faults can be logged on the incoming messages processed by a service binding component, or on the outgoing messages processed by a reference binding component.

Note that while all errors will appear in the Oracle B2B console, only a subset of faults will appear in Oracle Enterprise Manager Fusion Middleware Control. This subset includes all inbound messages containing an error after trading partner identification in Oracle B2B.

See Chapter 4, "Monitoring the SOA Infrastructure,"and Chapter 38, "Monitoring Service and Reference Binding Components," in Oracle Fusion Middleware Administrator's Guide for Oracle SOA Suite and Oracle BPM Suite for more information.

Note the following:

1) Oracle B2B faults and rejected messages can be monitored from the composite home or domain home page.

2) Oracle B2B error messages can be seen in the Error Message column, and you can use the error link to see the error details and Oracle B2B message payload (if authorized).

3) Recovery details indicates that these faults are not recoverable from Oracle Enterprise Manager, however you can see the error details and payload (if authorized) to identify the problem. And in the Oracle B2B console, you can resubmit these rejected messages if necessary.

4) Composite instance IDs are not are shown for Oracle B2B faults (Unavailable), because in these cases no SOA composite instance was created.

5) Click on Logs to see the correlated Oracle B2B log messages.

19.3.7 FA for Batched EDIEL Documents With Some Errors Indicates Accepted

In EDIEL, because the UCM segment is not used in the CONTRL messages, the error for individual messages (received as part of a complete batched inbound message) do not get reported back. The interchange level acknowledgment will indicate status as 7, which is the accepted status message.

19.3.8 New Property b2b.addCorrelatedFAInfoInExceptionXML

If the property b2b.addCorrelatedFAInfoInExceptionXML is set to true, then Oracle B2B will add the Business Message ID of the Functional Ack message which holds error information for the outbound EDI message.

Without this information, because the error contains only information of the outbound message that went to error state, the user is unable to quickly correlate the outbound message to the Functional Ack message.

19.3.9 Additional Fabric Application Interface Parameter Details

In the Oracle Fusion Middleware User's Guide for Oracle B2B, Appendix C "Back-End Applications Interface," the following B2B Fabric application interface parameter details are to be added:

In Oracle Fusion Middleware 10g, Oracle B2B utilizes ACTION_NAME in IP_MESSAGE_TYPE to provide some special and dynamic features for the back end application to communicate with Oracle B2B. In Oracle Fusion Middleware 11g, Oracle B2B users can also use normalized message properties to achieve the same functionality as described in Table 19-1.

Table 19-1 Oracle B2B 10g IP_MESSAGE_TYPE Mappings to Oracle Fusion Middleware 11g SCA/Fabric Normalized Message Properties

Feature Description ACTION_NAME (IP_MESSAGE_TYPE) SCA/Fabric Protocol

Dynamic IP

Value of IP address to be dynamically overridden.

DYNAMICIP:<IP Address>

example:

DYNAMICIP:GlobalChips:10.177.255.212:12345

b2b.toDynamicIP

example:

GlobalChips:10.177.255.212:12345

HL7/MLLP

Dynamic EMail

Email address to be dynamically overridden.

DynamicEmail:<email address>

example:

DynamicEmail:admin@oracle.com

b2b.toDynamicEmail

example:

admin@oracle.com

Generic Email

Email Subject

Email subject to be dynamically overridden.

EmailSubject:<subject>

example:

EmailSubject:PurchaseOrder

b2b.toEmailSubject

example:

PurchaseOrder

Generic Email

File Name

File Name of the message. This is used typically for File name Preserve.

filename:<file name>

example:

filename:salesorder.xml

b2b.fileName

example:

salesorder.xml

AS2

Content Type

Content Type of the message.

contentType:<content type>

example:

contentType:text/xml

b2b.contentType

example:

text/xml

AS2

Broadcast

Group Name of the trading partner for which the message to be broadcast.

Grouping:<group name>

example:

Grouping:InventoryRequest

b2b.toTradingPartnerGroup

example:

InventoryRequest

-

Sequencing

sequenceTarget associated with the message.

TARGET:<target>

example:

TARGET:PatientId123

b2b.sequencingTarget

example:

PatientId123

HL7/MLLP

Large Payload

 

LARGE_PAYLOAD

payload field in NM

All protocols

Action

EBMS Action name associated with the message.

ACTION:<Action name>

example:

ACTION:ebMSRequest

b2b.action

example:

ebMSRequest

EBMS

Generic File

FTP

SFTP

Service

EBMS Service associated with the message.

SERVICE:<Service name>

example:

SERVICE:FileTransfer

b2b.ebms.Service

example:

FileTransfer

EBMS

Service Type

EBMS Service Type associated with the message.

SERVICETYPE:<Service Type>

example:

SERVICETYPE:String

b2b.ebms.ServiceType

example:

String

EBMS

From Role

EBMS From Role associated with the message.

FROMROLE:<From Role>

example:

FROMROLE:Buyer

b2b.ebms.FromRole

example:

Buyer

EBMS

To Role

EBMS To Role associated with the message.

TOROLE:<To Role>

example:

TOROLE:Seller

b2b.ebms.ToRole

example:

Seller

EBMS

Overriding ConnectionMode

Connection Mode associated with the message.

CONNMODE:<ConnectionMode>

example:

CONNMODE:Permanent

b2b.connMode

example:

Permanent

MLLP

Custom Header

CUSTOM HEADER associated with the message.

CUSTOM_HEADER:<Value>

example:

CUSTOM_HEADER: SequenceId

b2b.customHeader

example:

SequenceId

MLLP


19.3.10 Use b2b.hl7docidentification To Extract Document Information

If you enqueue an HL7 document without specifying a document type name and revision, it should be able to extract that information from the HL7 payload. To retrieve the document type name and version if it is not specified in the out queue by the application, set the following property in Oracle Enterprise Manager Fusion Middleware Console.

b2b.HL7DocIdentification=true

19.3.11 Additional Information About Translation Web Service Request Attribute @type

The following information belongs in Table 19-4 "Translation Web Service Request" in Oracle Fusion Middleware User's Guide for Oracle B2B.

@type

This attribute is applicable for both from and to. The value expected for from and to are the name of the Trading Partner. If you want to use different identifiers instead of Name you can supply a value against attribute @type.

The following example holds the name of the trading partner:

<from>Acme</from>

The following example holds the DUNS ID of the trading partner. Note that because the example uses DUNS ID, it is mentioned explicitly against type. (This example applies also applies to the to element.)

<from type="DUNS">11111111</from>

19.3.12 Transport Protocol Parameter Timestamp Format Specification

The following information belongs in Oracle Fusion Middleware User's Guide for Oracle B2B, Table 5-3 "Transport Protocol Parameters," in the Filename Format row.

For outbound and inbound processing using generic exchange, the generated file name contains a time stamp of the default format (that is, YYYYMMMdd_HH_mm_ss_SSS).

In 11gR1 PS2, Filename Format provides the ability to provide a different timestamp format in the Transport Protocol Parameter: Filename Format, by entering the desired time stamp format in between square brackets ([]).

For example:

%FROM_PARTY%_%TIMESTAMP[YYYYMMMdd_HH_mm_ss_SSS]%.dat 

would generate a file name like this:

Acme_2010MAR20_12_34_231.dat

19.3.13 Name Identifier Removed at ebMS Run Time; Use b2b.ebmsname=true Property

In PS2, the name identifier that is always present in an ebMS agreement is not sent as part of PartyId at runtime. You must add an ebMS Identifier for every ebMS agreement using the property b2b.ebMSName=true. This property can be set using the configmbeanutil utility.

19.3.14 CPP/CPA Import and Export Performance Optimization

The following information belongs in sections 18.9 "CPP/CPA Import" and 18.10 "CPP/CPA Export" in Oracle Fusion Middleware User's Guide for Oracle B2B.

In 11gR1 PS2, the Oracle B2B command line utility for CPP/CPA import and export, a new command line argument was added to optimize performance. The new property is

-Dstandard=true

When CPP/CPA import is performed using -Dstandard=true, then CPP/CPA export must be performed with -Dstandard=true.

For example:

 ant -f ant-b2b-util.xml b2bcpaimport -Dpropfile="<property-file>"
-Dstandard=true
 ant -f ant-b2b-util.xml b2bcpaexport -Dpropfile="<property-file>"
-Dstandard=true 

If CPP/CPA import is performed using the -Dstandard=true flag, then for runtime to utilize this you must set b2b.useCPAid=true.

Outbound enqueue example:

eventName=ACTION:ebmsaction1;SERVICE:ebmsservice;SERVICETYPE:String;CPAID:myc

paid12343;

Similarly, for the inbound Trading Partner side, set b2b.useCPAid=true if CPP/CPA import is performed using -Dstandard=true.

The CPA export/import utility will not support standard=false option in the command line utility.

19.3.15 System Validates Saved Data

When validating an agreement, Oracle B2B validates the saved data. Oracle B2B does not validate any unsaved changes that you make to an agreement.

19.3.17 Oracle B2B Document Editor MapBuilder Component Not Supported

The MapBuilder component of Oracle B2B Document Editor is neither certified nor supported.

19.3.18 Supported MIME Types

The list of MIME types in the documentation for the Additional MIME Types configuration property in Table 16-1 is incorrect. The correct list for version 11.1.1.3.0 is application/xml : application/octet-stream : application/EDIFACT : application/EDI-X12 : application/jpg : application/gzip : application/x-gzip : application/pkcs7-signature.

19.3.19 Batch Messages and Batch Schedules

Note the following:

  • If an exception occurs during an outbound batch, the batch is not cleared from the repository. This is true even if a trigger has been fired. In this case, you must manually delete the scheduled batch entry using the Administration > Manage Batch page in the Oracle B2B interface.

  • If you disable a single time invocation batch schedule, any messages set in WAIT_BATCH mode remain in this mode if the schedule is not re-enabled before the expiry time. Furthermore, a new batch schedule created for the same document will not process these messages. The workaround is to resend the message using the resubmit application message option.

19.3.20 User Deleted Using Oracle WebLogic Console Continues to Appear in Oracle B2B Interface for Several Minutes

After deleting a user using Oracle WebLogic Server Administration Console, the user continues to appear in the Oracle B2B interface for approximately five minutes. This is because the user information remains cached in the managed server (Oracle B2B) for a user-configurable period of time. Performing certain operations, such as provisioning this user, can generate an error.

The workaround is to wait for longer than five minutes after deleting a user using Oracle WebLogic Server Administration Console.

Alternatively, you can specify the following system property in the setDomain.sh file to disable the cache:

-Dweblogic.security.identityAssertionTTL=-1

19.3.21 Do Not Purge Instance Metadata When Messages Are Being Processed

Do not purge instance metadata (using the Purge Instance Metadata button on the Administration > Purge tab) when messages are being processed. Doing so can result in messages in progress being lost. Instead, use the b2bpurge command-line utility, which accepts a date range and message state as arguments. When using the b2bpurge command, remove messages in the Completed state only (unless you have a specific reason for doing otherwise).

19.3.22 Some Listening Channel Details Are Not Relevant for the Selected Protocol

On the Listening Channel tab, some parameter fields that are displayed in the Channel Details area based on your protocol selection are not relevant to that protocol. Entering a value for these parameters has no effect. Table 19-2 lists the parameter fields that are not relevant.

Table 19-2 Fields That Display but Are Not Relevant for the Selected Protocol

If you select this protocol... Then you can ignore these parameter fields...

AS1-1.0

Subject, Send as attachment, Ack Mode, Response Mode, Retry Count, Retry Interval, all fields on the Security tab

Generic File-1.0

Retry Count, Retry Interval

Generic AQ-1.0

Retry Count, Retry Interval

Generic FTP-1.0

Use Proxy, Retry Count, Retry Interval

Generic SFTP-1.0

Retry Count, Retry Interval

Generic JMS-1.0

Retry Count, Retry Interval

Generic Email-1.0

Subject, Send as attachment, Retry Count, Retry Interval


19.3.23 Exporting Multiple Agreements That Include Agreement Names That Use a Multibyte Character Language

If you select multiple agreements to export (from Administration > Import/Export), and any of those agreement names are in a multibyte character language, then in the export ZIP file, which contains a separate ZIP file for each agreement, the ZIP file names for the agreement names with the multibyte characters are garbled. The ZIP files with the garbled names are corrupted and cannot be successfully imported. However, a single agreement name (or repository name) in a multibyte character language is exported correctly.

19.3.24 Enabling Multibyte Support for EDIFACT and HL7 Documents

For documents using the XEngine, such as EDIFACT and HL7 documents, when you have a payload with multibyte characters that are not in the EDIFACT and HL7 document character set registry, you may see the error, "A data element contains characters not listed in the allowed character set."

To avoid this error, create a custom character set (CS) file in Oracle B2B Document Editor called user.cs:

  1. In Oracle B2B Document Editor, click Tools > Character Set Registry.

  2. In the Character Set Registry window, select the character set you want to override.

    For example, you may want to override EDIFACT UNOB CS or HL7 CS.

  3. Click the Duplicate icon.

  4. In the Duplicate Character Set Properties window, accept the defaults and add the specific multibyte characters at the end of the Charset blank; then click OK.

  5. With the duplicated file still selected, click the Export icon.

  6. Name the file user.cs and save it.

  7. Copy user.cs to

    ORACLE_HOME/soa/thirdparty/edifecs/Common
    

Now documents such as EDIFACT and HL7 will use the user.cs file instead of the default CS file to verify the payload file.

19.3.25 Tablespace Configuration Recommendation for Production Environments

Increase the default tablespace configuration in production environments to prevent error conditions that can occur when processing a large number of messages.

19.3.26 Updates to Trading Partner Configuration Documentation

In Table 5-3 "Transport Protocol Parameters," the following Filename format property values are supported in addition to those listed: %CONVERSATION_ID%, %INREPLYTO_MSG_ID%.

19.3.27 Updates to Scheduling Trading Partner Downtime Documentation

The following is an addition to the new chapter on scheduling trading partner downtime in the Oracle Fusion Middleware User's Guide for Oracle B2B.

12.5. Throttling

The dispatcher is used to dispatch messages that are stacked after the trading partner downtime. Once the trading partner is available to receive messages, B2B sends the messages from the application along with the stacked messages.

There is a chance that stacked messages:

a. Affect the outbound message flow from an application.

b. Swamp the trading partner with the stacked messages that are scheduled during downtime.

To prevent these issues, you can set a dispatch interval, which is the delay in the dispatcher after every dispatch, so that application messages have a higher priority without swamping the trading partner with stacked messages.

Guidelines for Setting the Dispatch Interval

For a delay of 1 second, the dispatcher sends 1 message per second. Depending on the number of messages per second, the dispatcher interval should be set for production usage. It is also required to consider memory, CPU usage, load, and so on, in arriving at the optimal setting.

The configuration property is set in Oracle Enterprise Manager Fusion Middleware Console as

b2b.OutboundDispatchInterval = milliseconds

19.3.28 Updates to Document Sequencing Configuration Documentation

In section 15.5 "Configuring Document Sequencing," note the following updates:

There are two options available to enable document sequencing for an AQ or JMS Trading Partner-facing listening channel.

  • The Trading Partner can send messages with sequence target if inbound message sequencing is desired at the receiving end.

  • The host Trading Partner can enable the sequencing option in the AQ or JMS Trading Partner-facing listening channel to sequence inbound messages. In this case, by default, B2B picks the queue name as sequence target.

19.3.29 Updates to Command-line Tools Documentation

The following are additions to the B2B Command-Line Tools documentation

19.3.29.1 Prerequisites for Running the Command-line Tools

In step 1 of the procedure the example is updated:

set ORACLE_HOME=C:\oracle\wls_home
set ANT_HOME=%ORACLE_HOME%\modules\org.apache.ant_1.7.1 
set JAVA_HOME=%ORACLE_HOME%\jdk160_21 

19.3.29.2 B2B Command line parameter validation

For any wrong key the command line user interface throws an error message. This is applicable to all the command line utilities in B2B.

For example, if the following command is entered:

ant -f ant-b2b-util.xml b2bschedule -Dfromdate="18/08/2010 1:50PM" -Dtodate="18/08/2010 1:55 PM" -Dschedulename="Load" -Dtp=GlobalChips -Dchannelname=GlobalChips_File_Endpoint -Dexten=true

The error thrown is:

" Could not complete the operation due to invalid option - exten allowed options [mode, tp, schedulename, fromdate, todate, channelname, extend] "

For any key=<no value>, the command line interface throws the error

"Invalid key: channelname value: null"

19.3.29.3 Managing deployments

Agreement ID/CPAID-based activating/deactivating agreement.

This option will activate/deactivate the agreements for the CPAID provided as

-Dagreementid argument

For example:

ant -f ant-b2b-util.xml b2bmanagedeploy -Dagreementid=Acme_Oracle_CPA -Dstate=active/inactive

It is also possible to activate/deactivate based on the agreement name by using the option in this example:

ant -f ant-b2b-util.xml b2bmanagedeploy -Dagreement=Acme_Oracle_CPA -Dstate=inactive/active

19.3.29.4 Finding Duplicate Agreement IDs

This feature lets you check the availability of agreement for a given agreement ID or CPAID and trading partner. Based on the result, you can further import the agreement with option overwrite=True|False.

For example:

ant –f ant-b2b-util.xml b2bcheckcpaid –Dargs="my_file.zip"

19.3.29.5 Updates to Purge Utility Documentation

In Table 19-2 "Options for b2bpurge utility," note the following updates:

Option Description Domain Required
cascadedelete DT mode. Deletes agreement/ tp and its dependencies. true/false If tp option is given without agreementid, then cascadedelete must be true.
agreementid DT mode. agreementid option must used with tp option. All the agreements exist for given tp and agreementid get purged. if cascadedelete=true and its dependencies like supported document definition and document type not referred in any other agreement then, supported document definition entry in trading partner and document type also be purged. After all these operation, if given tp does not have at least one supported document definition then tp also be purged. - No
fromdate (no change) Date format:
dd/MM/yyyy hh:mm AM/PM
No
todate (no change) Date format:
dd/MM/yyyy hh:mm AM/PM
No

19.3.29.6 Updates to Deploy Utility Documentation

The tp and agreementid options are available to use with the b2bdeploy utility.

19.3.29.7 Updates to Import Utility Documentation

Import Option for ebMS

It is possible to import a CPA (Collaboration Profile Agreement) using the command-line with following options:

Metadata such as Action, service, service type, From Role, To Role, and CPAID, which are the key attributes that define the uniqueness for any ebMS document.

Use of overwrite flag in B2B import:

As part of the optimizing the run-time performance, which includes validation of ebMS headers against CPA, Oracle B2B creates an index out of CPA and the same is stored in Document Type parameters.

Only with overwrite=true can this CPA Index can be rebuilt. For any change in the core ebMS metadata it is always required to use overwrite=true.

B) All other metadata, such as Trading Partner Identifiers, delivery channel information with a different name, and so on, is appended with overwrite=false.

Effect of overwrite flag on various B2B artifacts

1. Party Information/Trading Partner Identifiers

For Trading Partner Identifiers, the effect of overwrite = true/false is the same, that is, the Identifier is appended to the trading partner in either case.

Assume the trading partner has a DUNS Identifier with value 1234, for a change in CPA with DUNS value 4567, it is appended to the trading partner and only 4567 is used as part of the Agreement. Even while CPA exports DUNS value of 4567 is used.

It is possible for the user to switch between DUNS 4567 and 1234 without performing a CPA import.

2. Certificate does not have any impact on the overwrite flag as it is stored outside B2B repository in JKS file.

3. Delivery channel details are overwritten only with overwrite=true. When overwrite=false the delivery channel with the same name is ignored but all the other delivery channels are appended.

All the attributes of the delivery channel such as duplicate elimination, Certificate Alias, security credentials, and so on, follow the same pattern as in delivery channel.

4. When overwrite=true, any attribute of any granularity in the core metadata is replaced.

19.3.29.8 Updates to cpp_cpa.properties Documentation

The property oracle.tip.b2b.ebms.BPSSDocument is no longer available.

Additional common properties include:

Back End Application to Oracle B2B (AQ/JMS/FILE/FTP/SFTP):

oracle.tip.b2b.ebms.internalDeliveryChannel.protocol=JMS

JMS:

oracle.tip.b2b.ebms.internalDeliveryChannel.JMS.destinationname=jms/b2b/B2B_IN_QUEUE
oracle.tip.b2b.ebms.internalDeliveryChannel.JMS.connectionfactory=jms/b2b/B2BQueueConnectionFactory
oracle.tip.b2b.ebms.internalDeliveryChannel.JMS.pollinginterval=5
oracle.tip.b2b.ebms.internalDeliveryChannel.JMS.msgType=TEXT
oracle.tip.b2b.ebms.KeystoreLocation=/tmp/JKS/Acme.jks
oracle.tip.b2b.ebms.KeystorePassword=password
oracle.tip.b2b.ebms.validate=/tmp/b2b/CPA/cpp-cpa-2_0.xsd 

Additional option for use with b2bcpaimport and b2bcpaexport:

Option: standard

Description: Way to import the cpa in an optimized mode

Value: true (Note: Value as false is not supported)

Required: Yes

19.3.29.9 Updates to Resubmit Utility Documentation

Additional options for b2bresubmit utility:

Option Description Value Required
mode Simulates the command without execution by either giving the rows affected or the count.

To list and show the count of messages for the selected criteria. It does not delete the messages, but just lists the information

list,count No
exclresubmit Excludes the already resubmitted message Default: false No
exclstate Excludes a specific message state - No
exclmsgid Excludes specific messageId - No
maxcount Limits the maximum number of messages to be resubmitted for the selected criteria.

To offer resubmission in batch.

- No
oldcpaid Resumbmission for a changed cpaID case. This is achieved by providing both the cpa ids oldcpaid and newcpaid - No

19.3.30 Updates to Enqueue and Dequeue Utilities Documentation

The following properties are also available when the JMS enqueue utility, oracle.tip.b2b.data.JMSEnqueue (in addition to Table 22-3 JMS Enqueue Properties):

Table 19-3 Additional JMS Enqueue Properties

Name Description

fromIdType

Identifier type to be used. This is required only if the value provided against "from" is other than the identifier type "Name".

toIdType

Identifier type to be used. This is required only if the value provided against "to" is other than the identifier type "Name".


19.3.31 B2B Configuration Properties

The property b2b.certificateValidation has this update to the documentation:

Certificates are used for signing and encryption of the ebMS messages and must be valid, active certificates. This feature validates the certificates during runtime and raises an exception in case of expiry. To disable the certificate validation, set b2b.certificateValidation=false. The default value is true.

The properties in Table 19-4 can be set in Oracle Enterprise Manager Fusion Middleware Control Console in addition to those listed in Appendix B "Setting B2B Configuration Properties in Fusion Middleware Control" in Oracle Fusion Middleware User's Guide for Oracle B2B.

Table 19-4 Additional Oracle B2B Properties in Oracle Enterprise Manager Fusion Middleware Control

Property Description

b2b.TPAbasedebMSIdValidateAndOverride

This property enables:

1. Trading partner Identifier sent from Middleware or Trading partner is validated against the configured Identifiers in the Agreement for both inbound and outbound flow.

2. Override the Identifiers configured in the Agreement using the Identifier sent from back-end application or from trading partner.

The default value is false.

If b2b.TPAbasedebMSIdValidateAndOverride= true:

1. Agreement is configured with Identifier ID1, ID2 and inbound message has Identifier ID2, then ID2 would be sent to the back-end application.

Note: this applies to outbound messages.

2. Agreement is configured with Identifier ID1, ID2 and inbound message has Identifier ID3, even though the trading partner is configured with Identifier ID3, there is a failure in Agreement Identification.

3. For any outbound message without a specific Identifier type, Name identifier is used in ebMS message header.

If b2b.TPAbasedebMSIdValidateAndOverride= false:

The Identification is done against the configured Identifier in the profile, and the configured Identifier in the Agreement is used in ebMS headers.

b2b.ebMSHeaderValidation

This property enables the ebMS header validation against CPA for both inbound and outbound. The ebMS headers which are validated are Action, service, serviceType, FromRole, ToRole.

As a pre-requisite, set: b2b.useCPAid= true.

By default, ebMS header validation is performed during message exchange. Set the property b2b.ebMSHeaderValidation=false to disable the validation.

A negative Acknowledgement is sent for any failure in the validation during inbound scenario. Similarly, for an outbound scenario, an exception is raised with the state of the message changed to ERROR.


19.3.32 Enabling FTP Document Sequencing

To enable FTP sequencing you must configure an FTP listening channel with following parameters:

  • Sequencing

  • TimeStamp Format

  • TimeStamp Offset

  • TimeStamp Source

Note that selecting only the Sequencing flag does not work.

If sequencing is enabled, also note that:

  • The order in which files are copied to the folder is the order in which it they are processed.

  • If a large payload is copied, the trading partner has to wait until their large payload copy is complete before sending the next file, as sequencing works based on the last-modified-timestamp on the file.

Note that SFTP transport does not have TimeStamp Format, TimeStamp Offset, and TimeStamp Source parameters; therefore, the above does not apply to SFTP.

19.3.33 JMS Parameters

1. The correct names of the parameters are as following:

jca.jms.JMSProperty.FILENAME

jca.jms.JMSProperty.CONTENTTYPE

jca.jms.JMSProperty.GROUPING

jca.jms.JMSProperty.TARGET

jca.jms.JMSProperty.CONNMODE

jca.jms.JMSProperty.CUSTOM_HEADER

jca.jms.JMSProperty.DynamicIP

2. jca.jms.JMSProperty.FILENAME is only applicable for AS2.

3. jca.jms.JMSProperty.CONNMODE is only applicable to Generic MLLP.