tibco api exchange gateway stores the configuration files in a directory ... you can configure a...

46
TIBCO ® API Exchange Gateway Release Notes Software Release 2.1.0 March 2014 Two-Second Advantage ®

Upload: phungdung

Post on 23-May-2018

230 views

Category:

Documents


2 download

TRANSCRIPT

Two-Second Adv

TIBCO® API Exchange Gateway

Release Notes

Software Release 2.1.0March 2014

antage®

Important Information

SOME TIBCO SOFTWARE EMBEDS OR BUNDLES OTHER TIBCO SOFTWARE. USE OF SUCH EMBEDDED OR BUNDLED TIBCO SOFTWARE IS SOLELY TO ENABLE THE FUNCTIONALITY (OR PROVIDE LIMITED ADD-ON FUNCTIONALITY) OF THE LICENSED TIBCO SOFTWARE. THE EMBEDDED OR BUNDLED SOFTWARE IS NOT LICENSED TO BE USED OR ACCESSED BY ANY OTHER TIBCO SOFTWARE OR FOR ANY OTHER PURPOSE.USE OF TIBCO SOFTWARE AND THIS DOCUMENT IS SUBJECT TO THE TERMS AND CONDITIONS OF A LICENSE AGREEMENT FOUND IN EITHER A SEPARATELY EXECUTED SOFTWARE LICENSE AGREEMENT, OR, IF THERE IS NO SUCH SEPARATE AGREEMENT, THE CLICKWRAP END USER LICENSE AGREEMENT WHICH IS DISPLAYED DURING DOWNLOAD OR INSTALLATION OF THE SOFTWARE (AND WHICH IS DUPLICATED IN THE LICENSE FILE) OR IF THERE IS NO SUCH SOFTWARE LICENSE AGREEMENT OR CLICKWRAP END USER LICENSE AGREEMENT, THE LICENSE(S) LOCATED IN THE “LICENSE” FILE(S) OF THE SOFTWARE. USE OF THIS DOCUMENT IS SUBJECT TO THOSE TERMS AND CONDITIONS, AND YOUR USE HEREOF SHALL CONSTITUTE ACCEPTANCE OF AND AN AGREEMENT TO BE BOUND BY THE SAME.This document contains confidential information that is subject to U.S. and international copyright laws and treaties. No part of this document may be reproduced in any form without the written authorization of TIBCO Software Inc.TIBCO, The Power of Now, TIBCO , TIBCO ActiveMatrix, TIBCO ActiveMatrix BusinessWorks, TIBCO Administrator, TIBCO ActiveSpaces, TIBCO Designer, TIBCO Enterprise Message Service, TIBCO Hawk, TIBCO Runtime Agent, TIBCO Rendezvous, are either registered trademarks or trademarks of TIBCO Software Inc. in the United States and/or other countries. EJB, Java EE, J2EE, and all Java-based trademarks and logos are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries.All other product and company names and marks mentioned in this document are the property of their respective owners and are mentioned for identification purposes only.THIS SOFTWARE MAY BE AVAILABLE ON MULTIPLE OPERATING SYSTEMS. HOWEVER, NOT ALL OPERATING SYSTEM PLATFORMS FOR A SPECIFIC SOFTWARE VERSION ARE RELEASED AT THE SAME TIME. SEE THE README FILE FOR THE AVAILABILITY OF THIS SOFTWARE VERSION ON A SPECIFIC OPERATING SYSTEM PLATFORM.THIS DOCUMENT IS PROVIDED “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT.THIS DOCUMENT COULD INCLUDE TECHNICAL INACCURACIES OR TYPOGRAPHICAL ERRORS. CHANGES ARE PERIODICALLY ADDED TO THE INFORMATION HEREIN; THESE CHANGES WILL BE INCORPORATED IN NEW EDITIONS OF THIS DOCUMENT. TIBCO SOFTWARE INC. MAY MAKE IMPROVEMENTS AND/OR CHANGES IN THE PRODUCT(S) AND/OR THE PROGRAM(S) DESCRIBED IN THIS DOCUMENT AT ANY TIME.THE CONTENTS OF THIS DOCUMENT MAY BE MODIFIED AND/OR QUALIFIED, DIRECTLY OR INDIRECTLY, BY OTHER DOCUMENTATION WHICH ACCOMPANIES THIS SOFTWARE, INCLUDING BUT NOT LIMITED TO ANY RELEASE NOTES AND "READ ME" FILES.Copyright © 2013-2014 TIBCO Software Inc. ALL RIGHTS RESERVED.TIBCO Software Inc. Confidential Information

| 3

Contents

Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

Typographical Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

Connecting with TIBCO Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9How to Join TIBCOmmunity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9How to Access TIBCO Documentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9How to Contact TIBCO Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

Release Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

New Features. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12Release 2.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12Release 2.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

Changes in Functionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17Database Tables Column Size Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

Deprecated and Removed Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18Release 2.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18Release 2.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

Migration and Compatibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19Release 2.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19Release 2.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

Closed Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

Known Issues. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

Appendix A Default Implementation Project Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34Updated Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35New Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37Custom Changes To ASG_DefaultImplementation Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

TIBCO API Exchange Gateway Release Notes

4 | Contents

TIBCO API Exchange Gateway Release Notes

| 5

Preface

TIBCO® API Exchange Gateway enables dynamic policy-based partner-centric governance of SOA systems by federating heterogeneous services and regulating access by external consumers and organizations. Through a high performance event server the Service Gateway manages and enforces policies such as security, throttling, quotas, transformation and monitoring independent of service implementation and life cycle.

With the separate purchase of Spotfire users can analyze service usage, subscriber behavior and performance.

Topics

• Typographical Conventions, page 6

• Connecting with TIBCO Resources, page 9

TIBCO API Exchange Gateway User’s Guide

6 | Typographical Conventions

Typographical Conventions

The following typographical conventions are used in this manual.

Table 1 General Typographical Conventions

Convention Use

TIBCO_HOME Many TIBCO products must be installed within the same home directory. This directory is referenced in documentation as TIBCO_HOME.

ENV_NAME Other TIBCO products are installed into an installation environment. Products installed into different installation environments do not share components. Incompatible products and multiple instances of the same product must be installed into different installation environments. An installation environment consists of the following properties:

• Name: Identifies the installation environment. This directory is referenced in documentation as ENV_NAME.

• Path: The directory into which the product is installed. This directory is referenced in documentation as TIBCO_HOME. The value of TIBCO_HOME depends on the operating system.

ASG_HOME TIBCO API Exchange Gateway installs into a directory within TIBCO_HOME. This directory is referenced in documentation as ASG_HOME. For example on Linux® platform, the value of ASG_HOME might be /home/asg/tibcoasg/asg/2.0

ASG_CONFIG_HOME

TIBCO API Exchange Gateway stores the configuration files in a directory which is separate from the installation directory. This directory is referenced in documentation as ASG_CONFIG_HOME.

For example on Linux® platform, the value of ASG_CONFIG_HOME might be /home/asg/tibcoasgconfig/tibco/cfgmgmt/asg.

code font Code font identifies commands, code examples, filenames, pathnames, and output displayed in a command window. For example:

Use MyCommand to start the foo process.

TIBCO API Exchange Gateway User’s Guide

Preface | 7

bold code

font Bold code font is used in the following ways:

• In procedures, to indicate what a user types. For example: Type admin.

• In large code samples, to indicate the parts of the sample that are of particular interest.

• In command syntax, to indicate the default parameter for a command. For example, if no parameter is specified, MyCommand is enabled: MyCommand [enable | disable]

italic font Italic font is used in the following ways:

• To indicate a document title. For example: See TIBCO ActiveMatrix BusinessWorks Concepts.

• To introduce new terms For example: A portal page may contain several portlets. Portlets are mini-applications that run in a portal.

• To indicate a variable in a command or code syntax that you must replace. For example: MyCommand PathName

Key combinations

Key name separated by a plus sign indicate keys pressed simultaneously. For example: Ctrl+C.

Key names separated by a comma and space indicate keys pressed one after the other. For example: Esc, Ctrl+Q.

The note icon indicates information that is of special interest or importance, for example, an additional action required only in certain circumstances.

The tip icon indicates an idea that could be useful, for example, a way to apply the information provided in the current section to achieve a specific result.

The warning icon indicates the potential for a damaging situation, for example, data loss or corruption if certain steps are taken or not taken.

Table 1 General Typographical Conventions (Cont’d)

Convention Use

TIBCO API Exchange Gateway User’s Guide

8 | Typographical Conventions

Table 2 Syntax Typographical Conventions

Convention Use

[ ] An optional item in a command or code syntax.

For example:

MyCommand [optional_parameter] required_parameter

| A logical OR that separates multiple items of which only one may be chosen.

For example, you can select only one of the following parameters:

MyCommand para1 | param2 | param3

{ } A logical group of items in a command. Other syntax notations may appear within each logical group.

For example, the following command requires two parameters, which can be either the pair param1 and param2, or the pair param3 and param4.

MyCommand {param1 param2} | {param3 param4}

In the next example, the command requires two parameters. The first parameter can be either param1 or param2 and the second can be either param3 or param4:

MyCommand {param1 | param2} {param3 | param4}

In the next example, the command can accept either two or three parameters. The first parameter must be param1. You can optionally include param2 as the second parameter. And the last parameter is either param3 or param4.

MyCommand param1 [param2] {param3 | param4}

TIBCO API Exchange Gateway User’s Guide

Preface | 9

Connecting with TIBCO Resources

How to Join TIBCOmmunityTIBCOmmunity is an online destination for TIBCO customers, partners, and resident experts. It is a place to share and access the collective experience of the TIBCO community. TIBCOmmunity offers forums, blogs, and access to a variety of resources. To register, go to http://www.tibcommunity.com.

How to Access TIBCO DocumentationYou can access TIBCO documentation here:

http://docs.tibco.com

How to Contact TIBCO SupportFor comments or problems with this manual or the software it addresses, contact TIBCO Support as follows:

• For an overview of TIBCO Support, and information about getting started with TIBCO Support, visit this site:

http://www.tibco.com/services/support

• If you already have a valid maintenance or support contract, visit this site:

http://support.tibco.com

Entry to this site requires a user name and password. If you do not have a user name, you can request one.

TIBCO API Exchange Gateway User’s Guide

10 | Connecting with TIBCO Resources

TIBCO API Exchange Gateway User’s Guide

| 11

Release Notes

Check the TIBCO Product Support web site at https://support.tibco.com for product information that was not available at release time. Entry to this site requires a username and password. If you do not have a username, you can request one. You must have a valid maintenance or support contract to use this site.

Topics

• New Features, page 12

• Changes in Functionality, page 17

• Deprecated and Removed Features, page 18

• Migration and Compatibility, page 19

• Closed Issues, page 27

• Known Issues, page 31

TIBCO API Exchange Gateway Release Notes

12 | Release Notes

New Features

This section lists the new features of the product for each release.

Release 2.1Following are the new features for this release.

Change Log Level Settings at Runtime

You can change the log level settings of the core engine and central logger component dynamically at runtime from TIBCO API Exchange Gateway user interface.

Set Delivery And Acknowledgement modes for JMS channel

You can configure a delivery mode and an acknowledgement mode for messages over JMS transport. See TIBCO API Exchange Gateway User’s guide for the supported modes.

Support SiteMinder Authentication Policy At Facade Operation for HTTP channel

TIBCO API Exchange Gateway supports an authentication policy using SiteMinder at the facade operation.

XSLT Functions for URLEncode and URLDecode

TIBCO API Exchange Gateway provides the XSLT transformation functions for URLEncode and URLDecode.

New Platforms and Third Party Software Support

• Support for the following platforms and third party software has been added in this release. See the product readme at TIBCO_HOME/release_notes directory for supported versions.

Platforms

• TIBCO Spotfire 6.0

• TIBCO Enterprise Message Service 8.0

TIBCO API Exchange Gateway Release Notes

New Features | 13

Operating Systems

• Microsoft Windows Server 2012 (x86-64)

• Novell SUSE Linux Enterprise Server 11 on x86-64

Third Party Software

• IBM DB2 9.5

• Microsoft Active Directory 2012

• IBM MQ Series 7.x

• Oracle 11g R2 RAC (11.2)

• CA SiteMinder 8.x

Release 2.0

API Management

TIBCO API Exchange Gateway is a key component of TIBCO API Exchange. TIBCO API Exchange enables the building of API marketplaces, where service providers and consumers come together to create, hose, manage learn about, and use open APIs. See the TIBCO Exchange Concepts Guide for more information.

JMS Transport for Central Logger

This release introduces support for JMS as an transport for communication between TIBCO API Exchange Gateway engines and the Central Logger. It can be used as an alternative to TIBCO Rendezvous providing increased reliability and guaranteed delivery. TIBCO Enterprise Management Service™ is recommended.

Installation and Configuration

• Ability to run as a Windows Service

Native HTTP/S Channel

• Apache HTTP Server now optional

• Apache HTTP can now connect to core engine over HTTPS for added security

SSL Support

Ability to encrypt transports.

TIBCO API Exchange Gateway Release Notes

14 | Release Notes

Documentation

• TIBCO API Exchange Concepts Guide

• TIBCO API Exchange Getting Started Guide

New Throttle Policies

Following types of throttle policies are added in this release:

• Payload-size throttles

• Content-based throttles

New Load Balancing Algorithms (Target Operations)

Following types of load balancing algorithms are now supported:

• Round robin

• Weighted round robin

• Round robin with fail over

• Weighted round robin with fail over

• Sticky routing

Health Check For Target Operations

TIBCO API Exchange Gateway provides the health check for reference functionality to check the health of the target operations for fail over routing algorithms.

Authentication Options For TIBCO API Exchange Gateway User Interface

TIBCO API Exchange Gateway configuration graphical user interface supports following authentication options:

• File based

• LDAP server

WS-Security Consumer Policies

The policy enforcement layer of the TIBCO API Exchange Gateway product has been enhanced to support the following new policies:

• Username Token Credential Mapping

TIBCO API Exchange Gateway Release Notes

New Features | 15

• OAuth policy for Credential Mapping

• Authentication by OAuth policy

• Authorization by Role

• Kerberos

— Username Token

— Kerberos

— SAML (1.1, 2.0 both signed and unsigned)

• Confidentiality

— Decrypt request

— Encrypt body, element, or header

• Integrity

— Verify signature, Sign response body, header, or elements

OAuth Protocol

TIBCO API Exchange Gateway supports the OAuth 2.0 client and server.

Enhanced GUI

Improved Configuration management interface.

Native Gateway HTTP(S) Channel

• Built-in HTTP and HTTPS support in core engine.

• CORS support to enable client-side cross-origin requests

REST Path Enhancement

REST-style specification for facade operation and target operation. For example:

— Facade URI: /Books/{CategoryName}/Author/{AuthorName}

— Target URI: /Books/Author/{AuthorName}/Category/{CategoryName}

Traffic Shaping

If a throttling limit is reached the request is temporarily held in a queue to be processed when capacity is available.

TIBCO API Exchange Gateway Release Notes

16 | Release Notes

New Platforms and Third Party Software Support

• Support for the following platforms and third party software has been added in this release. See the product readme at TIBCO_HOME/release_notes for supported versions.

Platforms

• TIBCO Rendezvous 8.4

• TIBCO Enterprise Message Service 7.0

• JRE 1.7

Operating Systems

• Microsoft Windows Server 2012 (x86-64)

• Microsoft Windows 7, 8 (x86-64)

• CentOS 6 (x86-64)

• IBM AIX 7.1 (pSeries-64)

• Red Hat Enterprise Linux 5.x (x86-64)

• Sun Solaris 10 64-bit on Sparc

Third Party Software

• Microsoft SQL Server 2008 R2, 2012

• Microsoft Active Directory 2008 R2

• Microsoft Internet Explorer 9.0, 10

• Mozilla Firefox 20, 21, 22, 23, 24, 25

• MySQL 5.5

• Oracle 11g R2 (11.2)

• HTTP Servers

— Apache HTTP Server 2.4

TIBCO API Exchange Gateway Release Notes

Changes in Functionality | 17

Changes in Functionality

This section lists changes in functionality since the last major release of this product.

Database Tables Column Size Changes Length sizes of some of the columns of the ASG_TRANSACTIONS and ASG_TRANSACTION_MESSAGES tables have been increased and made consistent across all databases supported by TIBCO API Exchange Gateway .

For example,

• In the ASG_TRANSACTIONS table, following changes have been made:

• In the ASG_TRANSACTION_MESSAGES table, following changes have been made:

Column Name Column Type Previous Column Length

New Column Length

TRN_TARGET VARCHAR 32 256

TRN_FACADE_OPERATION VARCHAR 100 256

TRN_FACADE_SERVICE VARCHAR 100 256

TRN_ROUTING_KEY VARCHAR 100 256

TRN_TARGET_OPERATION VARCHAR 100 256

TRN_TARGET_SERVICE VARCHAR 100 256

TRN_ROUTING_KEY VARCHAR 100 256

TRN_ERROR_MESSAGE VARCHAR 100 256

Column Name Column Type Previous Column Length

New Column Length

MSG_TEXT VARCHAR 256 2048

TIBCO API Exchange Gateway Release Notes

18 | Release Notes

Deprecated and Removed Features

This section describes deprecated features, and lists features, if relevant, that may be useful alternatives to the deprecated features. Any use of a deprecated feature should be discontinued as it may be removed in a future release. You should avoid becoming dependent on deprecated features and become familiar with the suggested alternative features.

This section also lists features that are removed.

Release 2.1

Deprecated Features

• Configuration mechanism for WS-Security in TIBCO ActiveMatrix Service Gateway 1.2 is deprecated. WS-Security is supported using security policies in TIBCO API Exchange Gateway 2.x release. Refer to the TIBCO API Exchange Gateway User's Guide for configuring the security policies using the policy file, policy mapping, and policy binding.

Release 2.0

Deprecated Features

• Support for TIBCO Spotfire 5.0 is deprecated.

• The use of the “address” element in the Parse step to log keys to ASG_TRANSACTION_KEYS has been deprecated. Use the new “key” element instead.

• Configuration mechanism for WS-Security in TIBCO ActiveMatrix Service Gateway 1.2 is deprecated. Refer to the user guide for the new configuration mechanism.

Removed Features

• Support for Apache Server 2.2 has been dropped.

• Support for 32-bit operating systems has been dropped.

• Support for Spotfire Professional 4.0 has been dropped.

TIBCO API Exchange Gateway Release Notes

Migration and Compatibility | 19

Migration and Compatibility

This section explains how to migrate from a previous release to the current release.

Terms and concept names have changed in Configuration User Interface, configuration files, user documentation, and error messages.

Release 2.1This sections lists the guidelines to migrate the product from a previous release to current release.

Migrating TIBCO API Exchange Gateway TIBCO API Exchange Gateway 2.0.0 to TIBCO API Exchange Gateway 2.1.0

You can port a gateway project configuration of 2.0.0 release to 2.1.0 release as follows:

1. Shut down all the gateway engines and its components, if they are running.

2. Navigate to the ASG_CONFIG_HOME folder of TIBCO API Exchange Gateway 2.0.0 installation. For example, go to the C:\tibcoAPIExchangeGateway200Config\tibco\cfgmgmt\asg directory.

3. Copy the project configuration to be ported to the new ASG_CONFIG_HOME folder of TIBCO API Exchange Gateway 2.1.0 installation. For example, if you

Table 3 Change in Terms

Prior Term New Term

Configuration Project

Operation Façade Operation

Service Target Operation

Mapping Transform

Operation Service

Façade Operation Group

Throttle Monitor

Partner Data Partner

TIBCO API Exchange Gateway Release Notes

20 | Release Notes

want to copy the MyBookQuery project configuration, copy the MyBookQuery directory to the ASG_CONFIG_HOME of 2.1.0 installation. For instance, if you selected the configuration directory location as C:\tibcoAPIExchangeGateway210Config during API Exchange Gateway 2.1.0 installation, you must copy the MyBookQuery project configuration to the C:\tibcoAPIExchangeGateway210Config\tibco\cfgmgmt\asg directory.

4. Copy other project configurations in the similar way, if needed.

5. Start the gateway engines and its components.

Migrating TIBCO ActiveMatrix Service Gateway 1.2.x to TIBCO API Exchange Gateway 2.1.0

See Migration on page 20 section for the migration details from TIBCO ActiveMatrix Service Gateway 1.2.x release to TIBCO API Exchange Gateway 2.1.0 release.

Release 2.0

Apache Server Compatibility

TIBCO API Exchange Gateway is compatible with Apache HTTP Sever 2.4.x.

Migration

This section describes the process of migrating the previous version to the current version.

The complete migration requires the migration of following areas:

Make sure to configure Apache server installation to include Rendezvous module as below:

6. Open the APACHE_HOME/conf/httpd.conf file for editing.

7. Add the following line in the file:

Include ASG_HOME/modules/http_server/apache/mod_ASG.conf

where ASG_HOME refers to the TIBCO API Exchange Gateway installation.

8. Save changes to the file.

TIBCO API Exchange Gateway Release Notes

Migration and Compatibility | 21

Migrating Project Configuration

TIBCO API Exchange Gateway allows you to store all the configuration for the gateway functionality in the ASG_CONFIG_HOME directory. The configuration files for this release are not compatible with the configuration files used in the previous release (for example, 1.2.0), so you must migrate the project configuration from the previous release (for example, 1.2.0) to this release.

In this release, the project configuration has following changes:

• Names of some of the configuration file names from the previous release have changed.

• New configuration file names have been added in this release such as InternalFacadeAccess.cfg, InternalFacadeOperation.cfg,

InternalRouting.cfg, InternalTargetOperation.cfg.

• New fields have been added to some of the configuration files in this release.

TIBCO API Exchange Gateway provides a migration tool named asg-tools to migrate the project configuration from a previous release (such as 1.2.0) to this release.

For example, if the BookQuery configuration was created in the previous release, you can migrate the BookQuery configuration from ASG_CONFIG_HOME of previous release to the ASG_CONFIG_HOME of this release. See Migration Tool (asg-tools) Options For Configuration And Properties Files on page 25 to run the tool.

• TIBCO API Exchange Gateway stores the configuration files in a directory which is separate from the installation directory. This directory is referenced as ASG_CONFIG_HOME. For example on windows platform, the value of ASG_CONFIG_HOME might be C:\ProgramData\TIBCOASG\tibco\cfgmgmt\asg.

• Make sure that ASG_CONFIG_HOME for this release is separate from ASG_CONFIG_HOME of previous release.

TIBCO API Exchange Gateway Release Notes

22 | Release Notes

Migrating Properties Files

TIBCO API Exchange Gateway uses the runtime properties for the gateway core engine and central logger component in the asg.properties and asg_cl.properties files respectively located in the ASG_CONFIG_HOME directory. In this release, these properties files have following changes:

• Names of the runtime properties in the properties files from the previous release.

• New runtime properties has been added in the properties files of this release.

The runtime properties listed in the ASG_CONFIG_HOME/asg.properties and ASG_CONFIG_HOME/asg_cl.properties in this release are not backward compatible with the runtime properties in a previous release (for example, 1.2.0), so you must migrate the run time properties files from the previous release (for example, 1.2.0) to this release.

TIBCO API Exchange Gateway provides a migration tool named asg-tools to migrate the runtime properties in the ASG_CONFIG_HOME/asg.properties and ASG_CONFIG_HOME/asg_cl.properties from a previous release (such as 1.2.0) to this release. See Migration Tool (asg-tools) Options For Configuration And Properties Files on page 25 to run the tool.

Migrating Default Project

TIBCO API Exchange Gateway provides a default ASG_DefaultImplementation project which is not compatible with any previous release. You must migrate the project from any previous release (for example, 1.2.0) to this release.

If you are using the same TIBCO Designer installation to run the Caching sample shipped under ASG_HOME/examples directory for TIBCO ActiveMatrix Service Gateway 1.2 and TIBCO API Exchange Gateway 2.0 release, make sure you use the correct version of the asg_interfaces project library for ASG_CBA project of Caching example while switching between 1.2 and 2.0 releases.

The asg_interfaces project library is imported in the project as follows:

Start TIBCO Designer and open the ASG_HOME/examples/Caching/ASG_CBA project. Do the following in the project:

1. Select project node ASG_CBA. Click Design Time Libraries tab.

2. Delete the existing library. Create a new File Alias by importing the ASG_HOME/lib/projectlib/asg_interfaces.projlibXX library. Click Apply.

3. Save the project.

TIBCO API Exchange Gateway Release Notes

Migration and Compatibility | 23

TIBCO API Exchange Gateway provides a migration tool named asg-tools to migrate the default implementation project from a previous release (such as 1.2.0) to this release. See Migration Tool (asg-tools) Options For Default Implementation Project on page 25 to run the tool.

Migrating Project Customizations (Optional)

If you have made any changes to the default ASG_DefaultImplementation project to extend the default behavior of TIBCO API Exchange Gateway engine in the previous release, then you must redo all the changes in this release as the migration tool provided with TIBCO API Exchange Gateway software does not port those custom changes.

Refer to Default Implementation Project Changes on page 34 before you port the custom changes of the to the ASG_DefaultImplementation project from a previous release such as 1.2.0 to the to the ASG_DefaultImplementation project of this release (2.0.0).

You can make the changes to the ASG_DefaultImplementation project using the TIBCO API Exchange Gateway Studio. Refer to the TIBCO API Exchange Gateway User’s Guide for details on how to work with TIBCO API Exchange Gateway Studio.

• Upgrading Custom Extensions that use Address Concept

The Address concept has been replaced by a Keys concept. If you are using custom extensions that use Address concept to retrieve the parameters as passed via the Address element in the parse step XSLT, you must migrate the custom extensions to use new Keys object.

It is recommended to migrate the address elements in the parse step XSLT file that set the parameters for your custom extensions to the new key element, as the support for address elements in the parse step XSLT file is deprecated.

See Chapter 7, Transaction Pipeline Processing in TIBCO API Exchange Gateway User’s Guide on how to use key element in parse step transformation.

This step is not required if you have not made any changes in the ASG_DefaultImplementation project in the previous release.

TIBCO API Exchange Gateway Release Notes

24 | Release Notes

Migrating CDD Files (Optional)

You can change the default settings for logging configurations, enable EMS channels and other properties of the runtime processing units in the core engine or central logger CDD files. The CDD files are stored in the ASG_HOME/bin directory.

If you have made any changes to the CDD files (asg_core.cdd, asg_cl.cdd) to set the logging configurations, enable JMS channels in the previous release, then all settings must be ported manually again in the CDD files (asg_core.cdd, asg_cl.cdd) of this release as the changes in the CDD files from the previous release are not ported using the asg-tools migration tool for this release.

You can port the settings by editing the CDD files manually using TIBCO API Exchange Gateway Studio.

Migrating TRA Files (Optional)

Users can set few parameters such as port to be used in by the TIBCO API Exchange Gateway Monitoring and Management server, add the path to Enterprise Message Service, and set the JVM parameters in the gateway engine TRA files. The TRA files are stored in the ASG_HOME/bin directory.

If you have made any changes to the TRA files (such as asg_engine.tra) in the previous release, then all settings must be ported manually again in the TRA files (such as asg_engine.tra) of this release as the settings from these TRA files from the previous release are not migrated using the asg-tools migration tool.

Migration Tool (asg-tools)

This section explains how to use the migration tool to migrate the configuration, property files and default implementation project from a previous release such as 1.2.0.

This step is not required if you have not made any changes in the CDD files in the previous release.

This step is not required if you have not made any changes in the CDD files in the previous release.

The asg-tools does not support the migration from 1.1.0 release.

TIBCO API Exchange Gateway Release Notes

Migration and Compatibility | 25

Migration Tool (asg-tools) Options For Configuration And Properties Files

To migrate the project configuration files and runtime properties files, run the migration tool as below:

1. Navigate to the ASG_HOME/bin directory.

2. Type following command to run the tool:asg-tools -u asg-migrate-config -cc Source_Configuration_Directory -dc Destination_Configuration_Directory

The arguments of the asg-tools migration tool are defined as below:

-cc : Specifies the full path of source configuration directory to be updated. For example, this specifies the configuration directory for a previous release such as 1.2.0.

-dc: Specifies the full path of destination path where configuration would be created. For example, this specifies the configuration directory for current release such as 2.0.0.

For example, on windows platform, run the tool as below: asg-tools.exe -u asg-migrate-config -cc C:/ASG_12_CONFIG/tibco/cfgmgmt/asg C:/ASG_20_CONFIG/tibco/cfgmgmt/asg

Migration Tool (asg-tools) Options For Default Implementation Project

To migrate the TIBCO API Exchange Gateway default implementation project, run the migration tool as below:

1. Navigate to the ASG_HOME/bin directory.

2. Type following command to run the tool:asg-tools -u asg-migrate-DefaultImplementation -cdi Source_Directory_For_DefaultProject -udi Destination_Directory_For_DefaultProject -ddi Directory_With_Updated_DefaultProject

The arguments of the asg-tools migration tool for default implementation project are defined as below:

• cdi : Specifies the full path of the directory with current default implementation project (for example, the project in 1.2.0 release).

• udi : Specifies the full path of the directory with updated default implementation project (for example, the project in 2.0.0 release).

• ddi : Specifies the directory where you want to create the upgraded default implementation from 1.2.0 to 2.0.0

TIBCO API Exchange Gateway Release Notes

26 | Release Notes

Migration Report asg-tools generates a report when it migrates the default implementation project. The report file is created in the MigrationReport.txt file in the directory specified by the -ddi argument of the tool.

TIBCO API Exchange Gateway Release Notes

Closed Issues | 27

Closed Issues

The table in this section lists issues that were closed in the named releases.

Closed in Release Key Summary

2.1.0 ASG-4622 The LDAP AuthN login module of TIBCO API Exchange Gateway now sends the correct query for subgroups to the LDAP server when groupHasUsers attribute is enabled.

2.0.0 ASG-310 TIBCO API Exchange Gateway can act as a client to SOAPJMS servers which ignores the received JMSCorrelationID and instead return the request's JMSMessageID as the JMSCorrelationID in the response message.

2.0.0 ASG-603 The client connection information is now available in the request context to the TIBCO API Exchange Gateway engine.

2.0.0 ASG-701 TIBCO API Exchange Gateway UI no longer saves the destination name incorrectly for services of SOAP JMS transport type.

2.0.0 ASG-702 Parse XSLT based on PartnerId now overwrites the partner for a transaction.

2.0.0 ASG-719 Multiple parameters in Query String are correctly stored in context XML.

2.0.0 ASG-603 The client connection information is now available in the request context to the TIBCO API Exchange Gateway engine.

2.0.0 ASG-710 TIBCO API Exchange Gateway Engine no longer allows to change the error processing behavior of an individual service call using route override with full override.

2.0.0 ASG-783 WS-Security based authentication for LDAP with User Has Groups configuration is supported by TIBCO API Exchange Gateway Engine.

2.0.0 ASG-786 Encrypted password in the services.cfg file for http transport type are supported by TIBCO API Exchange Gateway Engine.

2.0.0 ASG-824 TIBCO API Exchange Gateway now supports the complete pattern for correlation of reply and request message on the northbound side.

TIBCO API Exchange Gateway Release Notes

28 | Release Notes

2.0.0 ASG-833 TIBCO API Exchange Gateway Engine supports HTTPs transport for the southbound services.

2.0.0 ASG-835 TIBCO API Exchange Gateway UI now supports both absolute and relative paths when the file locations field were configured on the UI.

2.0.0 ASG-836 TIBCO API Exchange Gateway UI now correctly saves the value of "Is Anonymous” field on the Services tab in services.cfg file.

2.0.0 ASG-863 TIBCO API Exchange Gateway Studio and TIBCO API Exchange Gateway Engine now show the latest build version.

2.0.0 ASG-903 When a relative path was specified for the location of files used by WSS functionality, TIBCO API Exchange Gateway no longer uses a different root path than ASG_CONFIG_HOME.

2.0.0 ASG-943 When SOAP/JMS transport was used for request operations, the gateway engine now sends the response message on the reply queue.

2.0.0 ASG-994 TIBCO API Exchange Gateway Studio no longer displays errors in Windows environment when a new EAR file was generated for the ASG_DefaultImplementation project after adding custom extensions.

2.0.0 ASG-996 Out of the box, asg_cl.cdd is now enabled for Central Logger component in a cluster mode.

2.0.0 ASG-1070 The core engine no longer throws a NullPointerException when the mappings are used to create headers for the response message.

2.0.0 ASG-1114 TIBCO API Exchange Gateway User Interface no longer throws an error when the Routing Key is defined only for Service Group instead of Service Name. The user interface did now allows blank Service Name for a Routing Key in case when the Routing Key is defined for Service Group.

2.0.0 ASG-1115 Service Group routing now works when the Routing Key is defined and saved using the TIBCO API Exchange Gateway User Interface.

2.0.0 ASG-1154 The Apache module of the TIBCO API Exchange Gateway now supports RVSD/RVSRD connections for secure deployments.

2.0.0 ASG-1179 TIBCO API Exchange Gateway no longer throws a java.lang.NullPointerException exception when a message is received on the ESB northbound Channel.

Closed in Release Key Summary

TIBCO API Exchange Gateway Release Notes

Closed Issues | 29

2.0.0 ASG-1195 RefreshConfig on the TIBCO API Exchange Gateway User Interface now works correctly in all cases.

2.0.0 ASG-1208 The Internet Browser now receives response to the ping operation requests when Internet Explorer is used.

2.0.0 ASG-1209 TIBCO API Exchange Gateway now supports customizing of the default error messages returned from the Apache module. This issue is now resolved for Firefox browser only.

2.0.0 ASG-1210 TIBCO API Exchange Gateway now gets a response from a HTTPS service When "isAnonymous=true" is set in services.cfg.

2.0.0 ASG-1219 TIBCO API Exchange Gateway User Interface now provides an option to logout and Invalidate Session (Session Timeout) to meet the security requirements.

2.0.0 ASG-1224 TIBCO API Exchange Gateway User Interface is no longer slow in responding to browsing the tabs when there are large number of entries (e.g 600+) configured.

2.0.0 ASG-1233 TIBCO API Exchange Gateway User Interface now uses LDAP to authenticate and authorize a user.

2.0.0 ASG-1307 There is no longer a performance impact to the TIBCO API Exchange Gateway engine when schema validation is enabled.

2.0.0 ASG-1170 TIBCO API Exchange Gateway core engine now handles non-ASCII characters in the payloads of the incoming request which was sent to the HTTP transport based backend service.

2.0.0 ASG-1180 TIBCO API Exchange Gateway now generates a valid context document when a SOAP message is received over JMS transport.

2.0.0 ASG-1598 TIBCO API Exchange Gateway core engine no longer fails to override the target service to route the request if the target is specified in the "override-targetServiceId" tag of full mapper of the facade operation.

2.0.0 ASG-1819 TIBCO API Exchange Gateway core engine is now able to process large payloads of over 1MB size consistently.

2.0.0 ASG-1945 TIBCO API Exchange Gateway core engine was treating all 2xx response codes other than 200 as FAILED. The gateway core engine returns SUCCESS for all 2xx response codes.

Closed in Release Key Summary

TIBCO API Exchange Gateway Release Notes

30 | Release Notes

2.0.0 ASG-1970 TIBCO API Exchange Gateway now xml-encodes the query string which is added to the context xml document.

2.0.0 ASG-1971 TIBCO API Exchange Gateway now appends the query-string to the southbound service URI configuration in the pass through mode.

2.0.0 ASG-1982 TIBCO API Exchange Gateway now returns data to the client for the binary response when the response is sent from Apache server. The Content-Length header field is now set correctly in the HTTP headers.

2.0.0 ASG-1995 TIBCO API Exchange Gateway now matches the most specific URI path of the operation configuration with the URI of an incoming request to identify an operation.

2.0.0 ASG-2032 TIBCO API Exchange Gateway core engine no longer throws a NullPointer Exception when a HTTP enabled southbound service returns HTTP 503 error.

2.0.0 ASG-2033 TIBCO API Exchange Gateway core engine now returns the response headers in the northbound response message to the client. The response headers are added by the southbound service.

Closed in Release Key Summary

TIBCO API Exchange Gateway Release Notes

Known Issues | 31

Known Issues

The table in this section lists known issues in this release.

Key Summary/Workaround

ASG-3588 When a throttle is applied at the partner or partner group or partner operation level, it does not get incremented if the target backend service is down.

Workaround:None

ASG-4352 When a remote configuration update is done from the TIBCO API Exchange Gateway user interface, keystore and shared resource files do not get pushed to remote configuration from the master configuration.

Workaround: None

TIBCO API Exchange Gateway Release Notes

32 | Release Notes

ASG-4006 The mutual SSL does not work with HTTP(s) channel.

Workaround: Perform the following steps:

1. Navigate to the ASG_HOME/studio/eclipse directory.

2. Start the TIBCO API Exchange Gateway Studio.

3. Open the default ASG_DefaultImplementation project.

4. Create a folder named truststore.

5. Copy the certificate or keystore file in truststore directory to be used on client side.

6. Navigate to the DefaultImplementation > SharedResources.

7. Double click on the FacadeHTTPSSLConnection.sharedhttp resource.

8. Click Configure SSL button.

9. For the Requires Client Authentication field, click the browse button. Click Yes on the Discard value dialog box to discard the current value. Enable the client authentication by checking the Requires Client Authentication field.

10. In the Trusted Certificates Folder, browse and select the certificate folder from your project which points to the truststore folder.

11. Enter the correct password for Trust Store Password field.

12. Click OK button to exit from SSL Configuration for HTTPS Connections dialog wizard.

13. Save changes to the project.

14. Create new ear file by clicking Project > Build Enterprise Archive.

15. Backup the existing asg_core.ear file located under ASG_HOME/bin.

16. Copy the new ear file to ASG_HOME/bin directory.

17. Restart the gateway core engine.

ASG-1479 TIBCO API Exchange Gateway engine fails to start when providing non-default QueueConnectionFactiory and TopicConnectionFactory.

Workaround: Use default Queueconnection factory.

ASG-3319 Algorithm scheduling resets after a publish configuration action instead of adding to the existing scheduling.

Workaround: None

Key Summary/Workaround

TIBCO API Exchange Gateway Release Notes

Known Issues | 33

ASG-3404 Health check service does not work for SOAP HTTP services with the contentVerification and sampleRequest.

Workaround: None

ASG-3438 Health check with healthCheck method as JMS is always shown as down even when the Enterprise Message Service is up and running.

Workaround: None

ASG-3441 Connectivity between TIBCO API Exchange Gateway and Enterprise Message Service is lost when Enterprise Message Service server is restarted.

Workaround: None

ASG-3476 Performing publishConfiuration action resets the scheduling pattern of Sticky key algorithm.

Workaround: None

ASG-3509 SSL-enabled TIBCO API Exchange Gateway does not work with Keystore on a remote server or HTTP location.

Workaround: Use Filebased keystore.

ASG-3778 OAuth custom adapter JARs cannot be uploaded from the configuration user interface.

Workaround: Copy the custom adapter jars manually to the ASG_HOME\lib\ext\tpcl folder, then update the owner,client and scope adapter property values in ASG_CONFIG_HOME/asg.properties file..

ASG-3813 Event Payload validation does not work with Apache RV module.

Workaround: To use payload validation, embedded HTTP channel can be used.

Key Summary/Workaround

TIBCO API Exchange Gateway Release Notes

34 | Appendix A Default Implementation Project Changes

Appendix A Default Implementation Project Changes

This section describes the changes done in the ASG_DefaultImplementation project of 2.0.0 release.

When you upgrade the default implementation project, the migration tool adds new Rules and Rule Functions but does not update it.

TIBCO API Exchange Gateway Release Notes

Default Implementation Project Changes | 35

Updated FilesBelow is the list of updated files for the ASG_DefaultImplementation project:

— ASG_HOME/projects/ASG_DefaultImplementation/DefaultImplementation/Channels/North_ESBChannel.channel

— ASG_HOME/projects/ASG_DefaultImplementation/DefaultImplementation/Channels/North_HTTPChannel.channel

— ASG_HOME/projects/ASG_DefaultImplementation/DefaultImplementation/Channels/SouthboundEsb0Channel.channel

— ASG_HOME/projects/ASG_DefaultImplementation/DefaultImplementation/Channels/SouthboundEsb1Channel.channel

— ASG_HOME/projects/ASG_DefaultImplementation/DefaultImplementation/Channels/SouthboundEsb2Channel.channel

— ASG_HOME/projects/ASG_DefaultImplementation/DefaultImplementation/Channels/Validation/ContextUpdateChannel.channel

— ASG_HOME/projects/ASG_DefaultImplementation/DefaultImplementation/Deployment/DefaultImplementation.st

— ASG_HOME/projects/ASG_DefaultImplementation/DefaultImplementation/Events/Northbound/Northbound_ESB_request.event

— ASG_HOME/projects/ASG_DefaultImplementation/DefaultImplementation/Events/Northbound/Northbound_ESB_response.event

— ASG_HOME/projects/ASG_DefaultImplementation/DefaultImplementation/Events/Southbound/SouthboundEsbRequest.event

— ASG_HOME/projects/ASG_DefaultImplementation/DefaultImplementation/Events/Southbound/SouthboundEsbResponse.event

— ASG_HOME/projects/ASG_DefaultImplementation/DefaultImplementation/Events/Validation/ApplyContextUpdate.event

— ASG_HOME/projects/ASG_DefaultImplementation/DefaultImplementation/Events/Validation/ResolveOAuth.event

— ASG_HOME/projects/ASG_DefaultImplementation/DefaultImplementation/Events/Validation/UpdateContextWithAddresses.event

— ASG_HOME/projects/ASG_DefaultImplementation/DefaultImplementation/Ontology/Services/ESBEndpoint.concept

— ASG_HOME/projects/ASG_DefaultImplementation/DefaultImplementation/SharedResources/JMS/NorthboundESB0Connection.sharedjmscon

— ASG_HOME/projects/ASG_DefaultImplementation/DefaultImplementation/SharedResources/JMS/SouthboundESB0Connection.sharedjmscon

TIBCO API Exchange Gateway Release Notes

36 | Appendix A Default Implementation Project Changes

— ASG_HOME/projects/ASG_DefaultImplementation/DefaultImplementation/SharedResources/JMS/SouthboundESB1Connection.sharedjmscon

— ASG_HOME/projects/ASG_DefaultImplementation/DefaultImplementation/SharedResources/JMS/SouthboundESB2Connection.sharedjmscon

— ASG_HOME/projects/ASG_DefaultImplementation/.beproject.template

— ASG_HOME/projects/ASG_DefaultImplementation/default.cdd

— ASG_HOME/projects/ASG_DefaultImplementation/validation.cdd

— ASG_HOME/projects/ASG_DefaultImplementation/.beproject

TIBCO API Exchange Gateway Release Notes

Default Implementation Project Changes | 37

New FilesBelow is the list of added files for the ASG_DefaultImplementation project:

— ASG_HOME/projects/ASG_DefaultImplementation/DefaultImplementation/Channels/FacadeHTTPChannel.channel

— ASG_HOME/projects/ASG_DefaultImplementation/DefaultImplementation/Channels/FacadeHTTPSSLChannel.channel

— ASG_HOME/projects/ASG_DefaultImplementation/DefaultImplementation/Channels/OAuthWebappsChannel.channel

— ASG_HOME/projects/ASG_DefaultImplementation/DefaultImplementation/Channels/OAuthWebappsHTTPSChannel.channel

— ASG_HOME/projects/ASG_DefaultImplementation/DefaultImplementation/SharedResources/HTTP/FacadeHTTPConnection.sharedhttp

— ASG_HOME/projects/ASG_DefaultImplementation/DefaultImplementation/SharedResources/HTTP/FacadeHTTPSSLConnection.sharedhttp

— ASG_HOME/projects/ASG_DefaultImplementation/DefaultImplementation/SharedResources/HTTP/OAuthWebappsSSLConnection.sharedhttp

— ASG_HOME/projects/ASG_DefaultImplementation/DefaultImplementation/SharedResources/HTTP/HTTPIdentityResource.id

— ASG_HOME/projects/ASG_DefaultImplementation/DefaultImplementation/SharedResources/HTTP/OAuthIdentityResource.id

— ASG_HOME/projects/ASG_DefaultImplementation/DefaultImplementation/SharedResources/HTTP/OAuthWebappsConnection.sharedhttp

— ASG_HOME/projects/ASG_DefaultImplementation/defaultVars/DefaultImplementation/Connections/HTTP/FacadeHTTPConnection/defaultVars.substvar

— ASG_HOME/projects/ASG_DefaultImplementation/defaultVars/DefaultImplementation/Connections/HTTP/FacadeHTTPSSLConnection/defaultVars.substvar

— ASG_HOME/projects/ASG_DefaultImplementation/defaultVars/DefaultImplementation/Connections/HTTP/OAuthWebappsConnection/defaultVars.substvar

— ASG_HOME/projects/ASG_DefaultImplementation/defaultVars/DefaultImplementation/Connections/HTTP/OAuthWebappsSSLConnection/defaultVars.substvar

— ASG_HOME/projects/ASG_DefaultImplementation/defaultVars/DefaultImplementation/Connections/HTTP/defaultVars.substvar

TIBCO API Exchange Gateway Release Notes

38 | Appendix A Default Implementation Project Changes

— ASG_HOME/projects/ASG_DefaultImplementation/DefaultImplementation/Rules/CustomStages/SampleStage/InsertInLifecycle.rule

— ASG_HOME/projects/ASG_DefaultImplementation/DefaultImplementation/Rules/CustomStages/SampleStage/ReceiveStage.rule

— ASG_HOME/projects/ASG_DefaultImplementation/DefaultImplementation/Rules/CustomStages/SampleStage/RequestStage.rule

— ASG_HOME/projects/ASG_DefaultImplementation/DefaultImplementation/Rules/CustomStages/SampleStage/StageDone.rule

— ASG_HOME/projects/ASG_DefaultImplementation/DefaultImplementation/RuleFunction/OAuth/OAuthWebappsDummy.rulefunction

— ASG_HOME/projects/ASG_DefaultImplementation/asg_portal.cdd

— ASG_HOME/projects/ASG_DefaultImplementation/asg_cl.cdd

Custom Changes To ASG_DefaultImplementation ProjectBelow is the list of customizations done for the ASG_DefaultImplementation project:

1. ASG_HOME/projects/ASG_DefaultImplementation/DefaultImplementation/Rules/CustomStage folder is deleted along with rule SkipCustomStage.rule.

2. ASG_HOME/projects/ASG_DefaultImplementation /DefaultImplementation/Rules/LifeCycle folder is deleted.

3. In ASG_HOME/projects/ASG_DefaultImplementation/DefaultImplementation.RuleFunction.Load.loadCustomEndpoints, for all the fields[i],

if i = 7 change it to 14if i = 8 change it to 15if i = 9 change it to 16if 1 = 10 change it to 17

4. In ASG_HOME/projects/ASG_DefaultImplementation/DefaultImplementation/Rules/Service/SouthboundRequest, if loop is added to if ServiceCall.Service > 0 as below:

if(serviceCall.Service > 0){service = Instance.getById(serviceCall.Service);}

5. In ASG_HOME/projects/ASG_DefaultImplementation/DefaultImplementation/

TIBCO API Exchange Gateway Release Notes

Default Implementation Project Changes | 39

RuleFunctions/Northbound/createRequest_fromESB.rulefunction, following changes has been done:

• Deleted Code:

String certificateIssuer = System.getGlobalVariableAsString("ASG/Northbound/CertificateAuthority/ESB", "");String certificateSerialNumber = System.getGlobalVariableAsString("ASG/Northbound/SerialNumber/ESB", "");

Common.RuleFunctions.Logger.debug("rule", "createRequest_fromESB Operation:"+request.Operation+" SoapAction:"+soapAction+" certIssue:"+certificateIssuer+" certSerial:"+certificateSerialNumber);

String _body = [email protected](request,_body,soapAction,certificateIssuer,certificateSerialNumber,"esb");

• Added Code:

String certificateIssuer = System.getGlobalVariableAsString("ASG/Facade/CertificateAuthority/ESB", null);String certificateSerialNumber = System.getGlobalVariableAsString("ASG/Facade/SerialNumber/ESB", null);

if (certificateIssuer==null && certificateSerialNumber == null) {Common.RuleFunctions.Logger.warn("rule", "Request without authentication info. Applying anonymous.");certificateIssuer = System.getGlobalVariableAsString("ASG/Northbound/CertificateAuthority/Anonymous", "");;certificateSerialNumber = "anonymous";}

Common.RuleFunctions.Logger.debug("rule", "createRequest_fromESB Operation:"+request.Operation+" SoapAction:"+soapAction+" certIssue:"+certificateIssuer+" certSerial:"+certificateSerialNumber);

String _body = request@payload;

ASG.Ontology.Requests.Transaction t = ASG.RuleFunction.Northbound.createRequestImpl(

TIBCO API Exchange Gateway Release Notes

40 | Appendix A Default Implementation Project Changes

request,_body,soapAction,certificateIssuer,certificateSerialNumber,"esb");

String server = "";String server_ip = "";String server_port = "";String payloadSize = "0";String context = "<?xml version=\"1.0\" encoding=\"utf-8\"?>"+"<c:context xmlns:c=\"http://www.tibco.com/schemas/asg/context\">"+"<c:entry key=\"asg:jmsRequest\">"+"<j:request xmlns:j=\"http://www.tibco.com/asg/protocols/jms\">"+"<j:JMSCorrelationID>" + request.JMSCorrelationID + "</j:JMSCorrelationID>"+"<j:JMSReplyTo>" + request.JMSReplyTo + "</j:JMSReplyTo>";

if (request@payload!=null){context = context + "<j:body>"+ASG_CustomFunctions.encodeBase64(request@payload, "utf-8")+"</j:body>";context = context +"<j:payloadSize>"+String.length(request@payload)+"</j:payloadSize>";} else {context = context + "<j:body/><j:payloadSize>0</j:payloadSize>";}context = context +"</j:request></c:entry></c:context>";

t.Context[t.Context@length] = context;

Common.RuleFunctions.Logger.debug("rule", context);

6. In ASG_HOME/projects/ASG_DefaultImplementation/DefaultImplementation/RuleFunction/Load/registerStagesForCacheCleanup, following change has been done:

• Rename CustomStage to SampleStage in the following line:String stageName = "CustomStage";

7. In ASG_HOME/projects/ASG_DefaultImplementation/DefaultImplementation/RuleFunction/Validation/GetOAuthEndpoint, following change has been done:

• Deleted Code:

TIBCO API Exchange Gateway Release Notes

Default Implementation Project Changes | 41

String routingKey = ASG_CustomFunctions.applyXsltFromCache(transaction.Context,"extractMncMccContext.xsl");

• Added Code:

String mergedContext = ASG.RuleFunction.Utility.mergeContextDocuments(transaction);String routingKey = ASG_CustomFunctions.applyXsltFromCache(mergedContext,"extractMncMccContext.xsl");

8. In ASG_HOME/projects/ASG_DefaultImplementation/DefaultImplementation/RuleFunction/Validation/UpdateContextWithAddresses, following changes has been done:

• Deleted Code:

String context = ASG_CustomFunctions.applyXsltFromCacheWithDocs(transaction.Context,"updateContextWithAddresses.xsl",docs,null );

• Added Code:

String mergedContext = ASG.RuleFunction.Utility.mergeContextDocuments(transaction);String context = ASG_CustomFunctions.applyXsltFromCacheWithDocs(mergedContext,"updateContextWithAddresses.xsl",docs,null );

• Changes in the following fields:

— transaction.Address is changed to transaction.Key

— Request.Address is changed to Request.Key

— a.Address is changed to a.Key

— a.AddressType is changed to a.KeyType

TIBCO API Exchange Gateway Release Notes

42 | Appendix A Default Implementation Project Changes

9. In ASG_HOME/projects/ASG_DefaultImplementation/DefaultImplementation/RuleFunction/Validation/UpdateContextWithOAuthRoute, following changes has been done:

• Deleted Code:

String context = ASG_CustomFunctions.applyXsltFromCacheWithDocs(transaction.Context,mergeXsl,docs,null );

• Added Code:

String mergedContext = ASG.RuleFunction.Utility.mergeContextDocuments(transaction);String context = ASG_CustomFunctions.applyXsltFromCacheWithDocs(mergedContext,mergeXsl,docs,null )

10. In ASG_HOME/projects/ASG_DefaultImplementation/DefaultImplementation/Rules/OAuth/ReceiveOAuth, following change has been done:— if (response.Context!=null) transaction.Context =

response.Context;

is updated as below:— if (response.Context!=null)

transaction.Context[transaction.Context@length] = response.Context;

11. In ASG_HOME/projects/ASG_DefaultImplementation/DefaultImplementation/Rules/UpdateContext/ApplyContextUpdate, following change has been done:— transaction.Context = event@payload;

is updated as below:— transaction.Context[transaction.Context@length] =

event@payload;

12. In ASG_HOME/projects/ASG_DefaultImplementation/DefaultImplementation/

TIBCO API Exchange Gateway Release Notes

Default Implementation Project Changes | 43

RuleFunction/CustomStage/CheckAllAddressesResolved, following change has been done:

— transaction.Address is changed to transactoin.Keys — address.AddressType is changed to address.KeyType

13. In ASG_HOME/projects/ASG_DefaultImplementation/DefaultImplementation/RuleFunction/Service/ServiceCallRequest_ESB, following change has been done:

• Updated Code From :

Event.assertEvent(ASG.Events.ServiceInvocation.ServiceCallResponse.ServiceCallResponse(/* extId */ null,/* payload */ payload,/* serviceCallId */ serviceCall@id,/* errorCode */ null,/* errorMessage */ null,/* specificResponseEvent */ -1,/* responseContext*/ null));

• Updated Code To :

long size = String.length(payload);Event.assertEvent(ASG.Events.ServiceInvocation.ServiceCallResponse.ServiceCallResponse(/* extId */ null,/* payload */ payload,/* serviceCallId */ serviceCall@id,/* errorCode */ null,/* errorMessage */ null,/* specificResponseEvent */ -1,/* responseContext*/ null,/* size */ size));

14. In ASG_HOME/projects/ASG_DefaultImplementation/DefaultImplementation/RuleFunction/Service/ServiceCallResponse_ESB, following change has been done:

• Updated Code From:

TIBCO API Exchange Gateway Release Notes

44 | Appendix A Default Implementation Project Changes

Event.assertEvent(ASG.Events.ServiceInvocation.ServiceCallResponse.ServiceCallResponse(/* extId */ null,/* payload */ event@payload,/* serviceCallId*/ serviceCallId,/* errorCode */ null, // not detected at this point/* errorMessage */ null,/* specificResponseEvent */ -1,/* replyContext */ null));

• Updated Code To:

// Convert event into generic platform eventlong size = String.length(event@payload);

// TODO: create reply contextEvent.assertEvent(ASG.Events.ServiceInvocation.ServiceCallResponse.ServiceCallResponse(/* extId */ null,/* payload */ event@payload,/* serviceCallId*/ serviceCallId,/* errorCode */ null, // not detected at this point/* errorMessage */ null,/* specificResponseEvent */ -1,/* replyContext */ null,/* size */ size));

15. In ASG_HOME/projects/ASG_DefaultImplementation/DefaultImplementation/RuleFunction/Validation/UpdateContextWithAddresses.rulefunction, following change has been done:

• Updated Code From:

Object docs = Collections.map();Collections.put(docs, "addresses.xml",xml);

• Updated Code To:

Object docs = ASG_Collections.map();ASG_Collections.put(docs, "addresses.xml",xml);

TIBCO API Exchange Gateway Release Notes

Default Implementation Project Changes | 45

16. In ASG_HOME/projects/ASG_DefaultImplementation/DefaultImplementation/RuleFunction/Validation/UpdateContextWithOAuthRoute.rulefunction, following change has been done:

• Updated Code From:

Object docs = Collections.map();Collections.put(docs, "oAuth.xml", oAuthContext);

• Updated Code To:

Object docs = ASG_Collections.map();ASG_Collections.put(docs, "oAuth.xml", oAuthContext);

TIBCO API Exchange Gateway Release Notes

46 | Appendix A Default Implementation Project Changes

TIBCO API Exchange Gateway Release Notes