PQ95197: WSIF NATIVE JMS SYNC REQUEST HANGS WHEN IN TRANSACTION, GETS RECEIVE TIMED OUT | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() APAR status Closed as program error. Error description The error occurs when WSIF invokes a Web Service using the Native JMS provider synchronously. A WSDL with jms:binding in the binding section specifies the Native JMS provider. If the WSIF invocation happens under a Local or Global WebSphere transaction, the invocation will hang and then the following exception will be written to the WebSphere log: org.apache.wsif.WSIFException: Receive timed out on JMS queue queue:///AddressBookReplyTo, timeout 10000 at org.apache.wsif.util.jms.WSIFJMSDestination. receive(WSIFJMSDestination.java:522) at org.apache.wsif.providers.jms.WSIFOperation_Jms. executeRequestResponseOperation(WSIFOperation_Jms.java:271) The WSIF client will receive this WSIFException. The request will not be sent. The WSIF invocation will be under a WebSphere transaction if the WSIF client is an Enterprise Bean with container-managed transactions defined on the bean method, or the WebSphere Process Choreographer is used to invoke a business process under a transaction.Local fix Problem summary **************************************************************** * USERS AFFECTED: Users of WebSphere Studio Application * * Developer Integration Edition Business * * Processes, invoking a Web Service which * * uses Native JMS, in a short running business * * process (BPEL flow). * * Users of WSIF, if the WSIF client invokes a * * synchronous (two way) Native JMS web service * * from inside a WebSphere Application Server, * * if the WSIF invocation happens under a Local * * or Global WebSphere transaction. * **************************************************************** * PROBLEM DESCRIPTION: When invoking a synchronous Native JMS * * web service from WSIF under a * * transaction, the process will hang for * * 10 seconds and then a timeout error * * will be returned to the process client. * * The JMS message will not be sent to * * the web service. * **************************************************************** * RECOMMENDATION: * **************************************************************** The error occurs if the WSIF client is WebSphere Process Choreographer, or the WSIF client is an Enterprise Bean with container-managed transactions defined on the bean method. In a synchronous Native JMS invocation, WSIF will put the request message onto a queue, then wait to receive the response. This wait will timeout, so after 10 seconds WSIF will return the following exception: org.apache.wsif.WSIFException: Receive timed out on JMS queue queue:///AddressBookReplyTo, timeout 10000 at org.apache.wsif.util.jms.WSIFJMSDestination. receive(WSIFJMSDestination.java:522) at org.apache.wsif.providers.jms.WSIFOperation_Jms. executeRequestResponseOperation(WSIFOperation_Jms.java:271) If the WSIF client is WPC, the following exception will be reported to the user: [27/08/04 14:26:36:158 BST] 25f92fe BpelEngine A com.ibm.bpe.engine.BpelEngine BPEE0071E: A two-way request for port type 'ProcessPortType' and operation 'InputOperation' was accepted by activity 'Receive'. The process ended before a corresponding reply activity was executed.com.ibm.bpe.api.RuntimeFaultException: BPEE0003E: An error occurred during the invocation of the activity implementation 'Service'. com.ibm.bpe.invocation.InvocationException: BPEP0207E: Web Services Invocation Framework (WSIF) invocation failed with exception org.apache.wsif.WSIFException: Receive timed out on JMS queue queue://WAS_localhost_server1/AMQ.10000001? persistence=1, timeout 10000 detected by 'com.ibm.bpe.invocation.WSIFServiceInvocationHandler'. This occurs because the JMS put is not done until the current transaction is committed. This has not happened when WSIF waits on a queue to receive the response. The web service does not see the request message and does not reply. Therefore WSIF times out.Problem conclusion The WSIF Native JMS support has been changed to suspend any active transaction before putting a JMS message on a queue, and then resume the transaction after the put is done. The message is therefore sent and the web service responds. It is recommended that customers encountering this problem should install WebSphere Application Server V5.1.1 with cumulative fix 2, WebSphere Application Server V5.0.2 with cumulative fix 9.Temporary fix Comments
APAR is sysrouted FROM one or more of the following: APAR is sysrouted TO one or more of the following: Modules/Macros
Publications Referenced
|
Product categories: Software > Application Servers >
Distributed Application & Web Servers > WebSphere Application
Server > General
Operating system(s):
Software version: 10W
Software edition:
Reference #: PQ95197
IBM Group: Software Group
Modified date: Nov 5, 2004
(C) Copyright IBM Corporation 2000, 2008. All Rights Reserved.