2009年9月25日星期五

Async operation timed out in SCA Import

Sometimes, when a SCA Import is a long running process, you may face following "Async operation time out" exception, no matter it is a sync or Async operation.

[9/23/09 10:23:00:858 CST] 00000059 TimeoutManage I WTRN0006W: Transaction 00000123E4B3A22B00000001001A0C3FFE6000FF8F9C7A3C267CA08BEA63E2FBF9BE7BB800000123E4B3A22B00000001001A0C3FFE6000FF8F9C7A3C267CA08BEA63E2FBF9BE7BB800000001 has timed out after 120 seconds.
[9/23/09 10:25:34:062 CST] 000000b0 PivotHandlerW W com.ibm.ws.webservices.engine.PivotHandlerWrapper invoke WSWS3734W: Warning: Exception caught from invocation to com.ibm.ws.webservices.engine.transport.http.HTTPSender:
WebServicesFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.generalException
faultString: java.net.SocketTimeoutException: Async operation timed out
faultActor: null
faultDetail:

java.net.SocketTimeoutException: Async operation timed out
at com.ibm.ws.webservices.engine.WebServicesFault.makeFault(WebServicesFault.java:191)
at com.ibm.ws.webservices.engine.transport.http.HTTPSender.invoke(HTTPSender.java:584)
at com.ibm.ws.webservices.engine.PivotHandlerWrapper.invoke(PivotHandlerWrapper.java:228)
at com.ibm.ws.webservices.engine.handlers.jaxrpc.JAXRPCHandler.invoke(JAXRPCHandler.java:152)
at com.ibm.ws.webservices.engine.PivotHandlerWrapper.invoke(PivotHandlerWrapper.java:228)
at com.ibm.ws.webservices.engine.PivotHandlerWrapper.invoke(PivotHandlerWrapper.java:228)
at com.ibm.ws.webservices.engine.WebServicesEngine.invoke(WebServicesEngine.java:336)
at com.ibm.ws.webservices.engine.client.Connection.invokeEngine(Connection.java:929)
at com.ibm.ws.webservices.engine.client.Connection.invoke(Connection.java:722)
at com.ibm.ws.webservices.engine.client.Connection.invoke(Connection.java:673)
at com.ibm.ws.webservices.engine.client.Connection.invoke(Connection.java:495)
at com.ibm.ws.webservices.engine.client.Call.invoke(Call.java:1728)
at com.ibm.ws.webservices.multiprotocol.AgnosticCall.invoke(AgnosticCall.java:171)
at com.ibm.ws.sca.internal.webservice.handler.PortHandler$OperationHandler.invoke(PortHandler.java:194)
at com.ibm.ws.sca.internal.webservice.handler.PortHandler$OperationHandler.access$1200(PortHandler.java:107)
at com.ibm.ws.sca.internal.webservice.handler.PortHandler.processMessage(PortHandler.java:576)
at com.ibm.ws.sca.internal.webservice.handler.WebServiceImportHandler.processMessage(WebServiceImportHandler.java:312)
at com.ibm.ws.sca.internal.message.impl.MessageDispatcherImpl.processMessage(MessageDispatcherImpl.java:1297)
at com.ibm.ws.sca.internal.message.impl.ManagedMessageImpl.process(ManagedMessageImpl.java:834)
at com.ibm.wsspi.sca.ejb.module.impl.ModuleSessionBean.processUOWMessage(ModuleSessionBean.java:338)
at com.ibm.wsspi.sca.ejb.module.impl.ModuleSessionBean.transactionSupportsActivitySessionSupports(ModuleSessionBean.java:262)
at com.ibm.wsspi.sca.ejb.module.EJSLocalStatelessModule_43132892.transactionSupportsActivitySessionSupports(EJSLocalStatelessModule_43132892.java:403)
at com.ibm.ws.sca.internal.uow.handler.UOWStrategyImpl.transactionAnyActivitySessionAny(UOWStrategyImpl.java:486)
at com.ibm.ws.sca.internal.uow.handler.JoinUOWHandler.processMessage(JoinUOWHandler.java:151)
at com.ibm.ws.sca.internal.message.impl.MessageDispatcherImpl.processMessage(MessageDispatcherImpl.java:1297)
at com.ibm.ws.sca.internal.message.impl.ManagedMessageImpl.process(ManagedMessageImpl.java:834)
at com.ibm.ws.sca.internal.async.impl.AbstractAsyncInboundHandler.processMessage(AbstractAsyncInboundHandler.java:117)
at com.ibm.wsspi.sca.async.bean.impl.ServiceSIBusMessageBean.processMessage(ServiceSIBusMessageBean.java:285)
at com.ibm.wsspi.sca.async.bean.impl.ServiceSIBusMessageBean.access$000(ServiceSIBusMessageBean.java:53)
at com.ibm.wsspi.sca.async.bean.impl.ServiceSIBusMessageBean$1.onMessage(ServiceSIBusMessageBean.java:77)
at com.ibm.wbiserver.manualrecovery.ejb.RecoveryMDBHandler.processMessage(RecoveryMDBHandler.java:126)
at com.ibm.wbiserver.manualrecovery.ejb.RecoveryMDBHandler.onMessage(RecoveryMDBHandler.java:82)
at com.ibm.wsspi.sca.async.bean.impl.ServiceSIBusMessageBean.onMessage(ServiceSIBusMessageBean.java:135)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:618)
at com.ibm.ejs.container.MessageEndpointHandler.invokeMdbMethod(MessageEndpointHandler.java:1018)
at com.ibm.ejs.container.MessageEndpointHandler.invoke(MessageEndpointHandler.java:747)
at $Proxy33.onMessage(Unknown Source)
at com.ibm.ws.sib.ra.inbound.impl.SibRaEndpointInvokerImpl.invokeEndpoint(SibRaEndpointInvokerImpl.java:156)
at com.ibm.ws.sib.ra.inbound.impl.SibRaDispatcher.dispatch(SibRaDispatcher.java:768)
at com.ibm.ws.sib.ra.inbound.impl.SibRaSingleProcessListener$SibRaWork.run(SibRaSingleProcessListener.java:584)
at com.ibm.ejs.j2c.work.WorkProxy.run(WorkProxy.java:419)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1473)
Caused by: java.net.SocketTimeoutException: Async operation timed out
at com.ibm.ws.tcp.channel.impl.AioTCPReadRequestContextImpl.processSyncReadRequest(AioTCPReadRequestContextImpl.java:157)
at com.ibm.ws.tcp.channel.impl.TCPReadRequestContextImpl.read(TCPReadRequestContextImpl.java:109)
at com.ibm.ws.http.channel.outbound.impl.HttpOutboundServiceContextImpl.parseResponseMessageSync(HttpOutboundServiceContextImpl.java:1629)
at com.ibm.ws.http.channel.outbound.impl.HttpOutboundServiceContextImpl.readSyncResponse(HttpOutboundServiceContextImpl.java:705)
at com.ibm.ws.http.channel.outbound.impl.HttpOutboundServiceContextImpl.startResponseReadSync(HttpOutboundServiceContextImpl.java:1747)
at com.ibm.ws.http.channel.outbound.impl.HttpOutboundServiceContextImpl.finishRequestMessage(HttpOutboundServiceContextImpl.java:1167)
at com.ibm.ws.webservices.engine.transport.http.HttpOutboundChannelConnection.sendSOAPRequest(HttpOutboundChannelConnection.java:329)
at com.ibm.ws.webservices.engine.transport.http.HTTPSender.invoke(HTTPSender.java:551)
... 43 more
Caused by: com.ibm.io.async.AsyncTimeoutException(Async operation timed out, [Timeout, rc=0])
at com.ibm.io.async.AbstractAsyncFuture.waitForCompletion(AbstractAsyncFuture.java:359)
at com.ibm.io.async.AsyncFuture.getByteCount(AsyncFuture.java:216)
at com.ibm.ws.tcp.channel.impl.AioSocketIOChannel.readAIOSync(AioSocketIOChannel.java:214)
at com.ibm.ws.tcp.channel.impl.AioTCPReadRequestContextImpl.processSyncReadRequest(AioTCPReadRequestContextImpl.java:150)
... 50 more
Solutions:

Solution 1: Change setting in Mediation Project in WID
In WID, right click your Mediation Module, select "Open Deployment Editor". Then select "Import" tab, then "WS-Security Bindings" tab. Under "Port Qualified Name Binding Details", there is a field "Synchronization timeout". You can define a longer timeout value (in sec) here. (default value is 300s)

Solution 2: Change setting via Websphere Administration Console
If you do not want to change in WID, you can have alterative way to change the setting in Websphere Administration Console. (But you need to set the value on after every deployment=P)

The path is:
"Applicaitons"
--> "Enterpise Applicaitons"
--> [Your application]
--> "Manage Modules"
--> [Your Module]
--> "Web services client bindings"
Edit Port Infomration
Then you can input the timout value in "Request Timeout (seconds)"

沒有留言:

發佈留言