TIBCO® EMS Transport Channel for WCF Release Notes Software Release 1.2.0 March 2012 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 BusinessWorks, TIBCO ActiveMatrix BusinessWorks, TIBCO ActiveMatrix Service Grid, and TIBCO Enterprise Message Service, are either registered trademarks or trademarks of TIBCO Software Inc. in the United States and/or 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 © 2008-2012 TIBCO Software Inc. ALL RIGHTS RESERVED. TIBCO Software Inc. Confidential Information | iii Contents New Features. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Version 1.2.0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Version 1.1.0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Version 1.0.0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2 2 6 Compatibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 TIBCO EMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Microsoft Visual Studio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Closed Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Known Issues. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 TIBCO EMS Transport Channel for WCF Release Notes iv | Contents TIBCO EMS Transport Channel for WCF Release Notes |1 Release Notes Check the TIBCO Product Support web site at http://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 2 • Compatibility, page 7 • Closed Issues, page 8 • Known Issues on page 10 TIBCO EMS Transport Channel for WCF Release Notes 2 | Release Notes New Features This section lists new features in each release of the TIBCO EMS Transport Channel for WCF. Version 1.2.0 Application Message Acknowledgement Added (TEMS-12) The appHandlesMessageAcknowledge configuration attribute has been added to allow the application to acquire the underlying EMS message for the purpose of manually acknowledging receipt of the message. The samples provided with TIBCO EMS Transport Channel for WCF have also been updated to demonstrate this new capability. Note that the TEMS Protocol Activator (which is used when hosting your service in Windows Process Activation Service (WAS)) was not changed in this release. Therefore, if you are upgrading from a previous release, and had previously installed the Protocol Activator, you do not need to re-install it (that is, do not select "WAS Activation" on the Installation Profile Selection dialog when installing). Version 1.1.0 New Trace Logging Options Added (1-9CJ6HN) A new trace logging switch has been added to provide additional trace logging options. The new TemsTraceSwitch is now used to set trace level, as well as DateTime and ThreadId log options. This new switch supersedes the TemsTraceLevel switch in the previous version, although TemsTraceLevel switch will continue to be operational in the absence of TemsTraceSwitch to provide backward compatibility. Can Now Configure TimeSpan for Checking for Invalid Reply Destinations (1-9BDOZJ) The new ReplyDestCheckInterval configuration attribute has been added to allow you to specify a TimeSpan that is used as an interval between checks made for reply destinations that are no longer valid because the requesting client has been closed. TIBCO EMS Transport Channel for WCF Release Notes New Features 3 | If a service is used by a large number of short-lived clients, it may be desirable to decrease the TimeSpan to quickly free EMS resources that the service will no longer use. If a service is used by a large number of long-lived clients, it may be desirable to increase the TimeSpan to reduce the processing overhead of checking these more frequently than what is needed. Support for WS-MetadataExchange (WS-MEX) Added (1-987BND) This release of TIBCO EMS Transport Channel for WCF allows the use of WS-MetadataExchange (WS-MEX), which is a protocol that allows clients to interrogate a service endpoint to extract metadata, then use that metadata to generate a proxy for the purpose of sending compatible messages to the service. Two new Tems configuration attributes have also been added as a result of this new feature: • WsdlExtensionActive - This specifies if the WSDL exported by MEX should be modified to include the JNDI and JMS elements for SOAP Over JMS for all endpoints that use a Tems binding. • WsdlTypeSchemaImport - This specifies if the Tems WSDL exported extension should include the external schema that is referenced in an <xsd:import /> element in the current WSDL document. A sample Microsoft Visual Studio project (Client.MEX) is also installed with Tems that provides a sample of using WS-MEX. Interoperability With Non-WCF Applications Added (1-974PAV) Prior to this release, the TIBCO EMS Transport Channel for WCF could only be used in a WCF-to-WCF environment. In this release, a Message Protocol interface has been added to provide interoperability with non-WCF applications. This new interface allows you to specify the following implementations: • WCF application to WCF application • WCF application to TIBCO ActiveMatrix BusinessWorks™ web service • Non-WCF application to WCF application TIBCO EMS Transport Channel for WCF Release Notes 4 | Release Notes This new interface results in a new messageProtocol attribute for the TemsTransport element. The valid values for this attribute are: — WCFNative - Specifies a WCF application to WCF application implementation. This is the default. — TIBCOSoapOverJMS2004 - Specifies a WCF application to TIBCO ActiveMatrix BusinessWorks™ web service implementation. — Custom - Specifies a Non-WCF application to WCF application implementation. For additional details, see the TIBCO EMS Transport Channel for WCF User’s Guide. Attributes Added to Support EMS TextMessage (1-950KEN) Prior to this release, all messages were sent using EMS BytesMessage. This enhancement allows you to specify that messages be sent using either EMS BytesMessage or TextMessage. The following TemsTransport configuration attribute has been added to allow you to specify the EMS message type: • MessageType - Specifies the type of EMS message to use. The valid values are: — TemsMessageType.Bytes specifies that an EMS BytesMessage is used. — TemsMessageType.Text specifies that an EMS TextMessage is used. Note - If the BinaryMessageEncoding class is used, an EMS BytesMessage is always used, therefore, the MessageType attribute is ignored. If an EMS TextMessage is used, you should be able to specify whether or not exceptions will be thrown for invalid UTF encodings. The following TemsTransport configuration attribute has been added to allow you to specify this: • throwOnInvalidUTF - This attribute, which is applicable only when using EMS TextMessage, is used in constructing the UTF Encoder used for encoding the string for an EMS TextMessage. Setting this attribute to “true” specifies that an exception (System.ArgumentException) be thrown when an invalid UTF encoding is detected. Otherwise, the Encoder does not throw an exception, and the invalid sequence is ignored. Default = “true” Note - For security reasons, this attribute should be set to “true” to turn on error detection. TIBCO EMS Transport Channel for WCF Release Notes New Features 5 | Add support for sessionAcknowledgeMode Settings (1-930XNN) A new sessionAcknowledgeMode configuration attribute has been added to allow you to specify how the message consumer handles acknowledgements of messages received from the TIBCO EMS Server. The allowable modes are: • AutoAcknowledge - The session is to automatically acknowledge consumer receipt of messages when message processing has finished. • ClientAcknowledge - The consumer is to acknowledge all messages that have been delivered so far by the session. • DupsOkAcknowledge - The session is to "lazily" acknowledge the delivery of messages to the consumer. "Lazy" means that the consumer can delay acknowledgement of messages to the server until a convenient time; meanwhile the server might redeliver messages. • NoAcknowledge - Suppresses the acknowledgement of received messages. • ExplicitClientAcknowledge - This is similar to ClientAcknowledge except it acknowledges only the individual message, rather than all messages received so far on the session. • ExplicitClientDupsOkAcknowledge - This is similar to DupsOkAcknowledge except it "lazily" acknowledges only the individual message, rather than all messages received so far on the session. For more detail about these acknowledgement modes, see the TIBCO EMS Transport Channel for WCF User’s Guide. Support Added for Asynchronous Service Operations (1-913NOB) TIBCO EMS Transport Channel for WCF has been updated to provide the required asynchronous methods to support any asynchronous operations specified in a Service Contract. The sample applications provided in the installation of TIBCO EMS Transport Channel for WCF have been updated to include asynchronous service operation examples. Support Added for Sessionful Channels (1-913EPT) Support is provided in this release for sessionful channels in each of the three Message Exchange Patterns (MEPs): • Sessionful Datagram • Sessionful Duplex • Sessionful Request-Reply TIBCO EMS Transport Channel for WCF Release Notes 6 | Release Notes When using sessionful channels, the client and service remain connected for the duration of the session. The sample applications provided in the installation of TIBCO EMS Transport Channel for WCF have been updated to include examples of the new sessionful MEPs. Support for Windows Process Activation Service (WAS) Added (1-913NRT) Support for Windows Process Activation Service (WAS) has been added to TIBCO EMS Transport Channel for WCF. This enhancement allows you to host, in WAS, a WCF service that uses the TemsTransport channel. WAS is a process activation service installed with IIS 7.0 that provides support for non-HTTP protocols such as named pipes, TCP, and MSMQ — TIBCO is extending it to also support the TemsTransport protocol. Because WAS is installed with IIS 7.0, this enhancement is applicable only when running services on Windows Server 2008 or Windows Vista. Version 1.0.0 This is the initial release of this product. TIBCO EMS Transport Channel for WCF Release Notes Compatibility 7 | Compatibility This section provides compatibility information for the TIBCO EMS Transport Channel for WCF. TIBCO EMS This release of TIBCO EMS Transport Channel for WCF is compatible with versions 4.4.3 or newer of TIBCO Enterprise Message Service™ (EMS). The EMS C# Client (which is a single DLL — TIBCO.EMS.dll) must be installed on both the production and the development machines, and it is recommended that the EMS C# Client be installed in the Windows Global Assembly Cache (GAC). Also note that you must install the "VC8-compiled" version of the EMS C# Client (the 4.4.3 and 5.x releases of the EMS installers are available in both VC7and VC8-compiled versions). The way in which you install the EMS C# Client differs between versions 4.4.3, 5.x, and 6.x. For more information, see the TIBCO EMS Transport Channel for WCF Installation guide. Microsoft Visual Studio You must have Microsoft® Visual Studio® 2008 or 2010 installed on machines on which you are performing development functions. Visual Studio is used to set up and configure the TIBCO EMS Transport Channel for WCF product. Microsoft Visual Studio 2005 is not supported. TIBCO EMS Transport Channel for WCF Release Notes 8 | Release Notes Closed Issues The table in this section lists issues that were closed in the named releases. Closed in Release Change Request ID 1.2.0 TEMS-45 Summary If the Client sample is run with a sessionful datagram MEP, and the sessionAcknowledgeMode attribute is set to "ExplicitClientAcknowledge", an error is generated. Corrected. 1.2.0 TEMS-12 The ability for applications to manually acknowledge EMS messages needs to be added. Implemented. See Application Message Acknowledgement Added (TEMS-12) on page 2. 1.1.0 1-9CJ6HN The trace logging facility needs to be updated to allow configuration of DateTime and ThreadId log options. Implemented. See New Trace Logging Options Added (1-9CJ6HN) on page 2. 1.1.0 1-9BDOZJ There should be the ability to change the interval between checks made for reply destinations that are no longer valid because the requesting client has been closed. Implemented. See Can Now Configure TimeSpan for Checking for Invalid Reply Destinations (1-9BDOZJ) on page 2. 1.1.0 1-987BND Support for WS-MetadataExchange (WS-MEX) needs to be added. Implemented. See Support for WS-MetadataExchange (WS-MEX) Added (1-987BND) on page 3. 1.1.0 1-974PAV Support for Soap over JMS needs to be added. Implemented. See Interoperability With Non-WCF Applications Added (1-974PAV) on page 3. TIBCO EMS Transport Channel for WCF Release Notes Closed Issues 9 | Closed in Release Change Request ID Summary 1.1.0 1-950KEN There should be a means of specifying the EMS message type (BytesMessage or TextMessage), as well as whether or not exceptions will be thrown if an invalid UTF encoding is detected when using an EMS TextMessage. Implemented. New TemsTransport attributes have been added to allow these specifications. See Attributes Added to Support EMS TextMessage (1-950KEN) on page 4. 1.1.0 1-94KYJP A server side exception thrown during authentication does not return an exception message to the client. Corrected. 1.1.0 1-930XNN Support for sessionAcknowledgementMode settings need to be added. Implemented. See Add support for sessionAcknowledgeMode Settings (1-930XNN) on page 5. 1.1.0 1-913NRT Support needs to be added for Windows Process Activation Service (WAS). Implemented. See Support for Windows Process Activation Service (WAS) Added (1-913NRT) on page 6. 1.1.0 1-913NOB Support needs to be added for asynchronous service operations. Implemented. See Support Added for Asynchronous Service Operations (1-913NOB) on page 5. 1.1.0 1-913EPT Support needs to be added for sessionful channels. Implemented. See Support Added for Sessionful Channels (1-913EPT) on page 5. TIBCO EMS Transport Channel for WCF Release Notes 10 | Release Notes Known Issues The table in this section lists known issues in this release. Change Request ID TEMS-48 Summary/Workaround Summary This Known Issue is applicable only when using Windows Process Activation Server (WAS) and IIS 7.5 (Windows Server 2008 R2 and Windows 7). When the Net.Tems Listener Adapter service is started, the following error is written to the Event Log. "TemsListenerAdapter:StartListen Exception: TemsListener: constructor - configuration error WasDestination is not set. No Tems Listener started. Check web.config for uri = net.tems://localhost:7222/ at com.tibco.wcf.tems.ActivatorService.Activation. TemsListener..ctor(Uri uri, String siteName, DataReceivedCallback dataReceivedCallback) at com.tibco.wcf.tems.ActivatorService.Activation. TemsListenerManager.Listen(Uri listenerURI, String siteName) at com.tibco.wcf.tems.ActivatorService.Activation. TemsListenerAdapter.StartListen(App app)" Workaround Use WAS with IIS 7.0 (Windows Server 2008 and Windows Vista). 1-9EGGID Summary [This Known Issue is applicable only when using Windows Process Activation Server (WAS).] When the web site is stopped, the Net.Tems Listener Adapter service does not receive any notification that it has been stopped, which means communications can still occur between the client and service via Tems. Workaround To stop data from being received on Net.Tems, stop the Net.Tems Listener Adapter Service. TIBCO EMS Transport Channel for WCF Release Notes Known Issues 11 | Change Request ID 1-9DW9OU Summary/Workaround Summary [This Known Issue is applicable only when using Windows Process Activation Server (WAS) on Windows Vista.] After configuring in IIS, then attempting to start the Net.Tems Listener Adapter Service, an error is written to the event log, and the net.tems protocol does not work (the client times out with no reply). This is a permission issue on Windows Vista that is the result of the Listener Adapter Service attempting to read the web.config file. Workaround This issue can be worked around by doing one of the following: • Run the Net.Tems Listener Adapter Service as an Administrator. Do this by going to the LogOn tab on the properties of the Net.Tems Listener Adapter Service: — Change from Network Services to an Administrator account. — Modify the net.tems entry under < ListenerAdapters> in %windir%\system32\inetsrv\config\applicationHost.config to have the name of the Administrator user. 1-90QRJT • Add the Network Services account to the Administrator group. • Give the Network Services account full control to the web.config file (may need to have write permission to the directories also). Summary The ProtectionLevel attribute specified in a contract or an operation is not supported at this time in TIBCO EMS Transport Channel for WCF. Workaround None. 1-8Z1DPJ Summary You cannot specify a callback destination to a different EMS Server than the one that sent the original request. If you provide a fully-qualified path in the clientBaseAddress attribute, the URI scheme in that path is ignored. Workaround None. The path specified in the clientBaseAddress attribute must be relative to the current channel endpoint address. 1-8ZBVW3 Summary SSL communications should be fully configurable from the App.config file. Workaround Currently, there are three SSL-related attributes (CertificateStoreType, CertificateStoreTypeInfo, and HostNameVerifier) that must be set either on the binding element or by creating a ConnectionFactory instance. For information about how to do this, see the SSL Communications section in the TIBCO EMS Transport Channel for WCF User’s Guide. TIBCO EMS Transport Channel for WCF Release Notes 12 | Release Notes TIBCO EMS Transport Channel for WCF Release Notes