Jeff, My fault I didn't see that nested exception all the way down the bottom ;)
The shutDown on the MultiThreadedHttpConnectionManager object is only called in the HttpLifeCycle when the lifecycle is issued the command to shutDown(). So if you later try to send a request it will give you that error. I suspect that there was some deployment issue that caused the component to later shut down. Did you see any deployment error messages that related to the servicemix-http component? What is you deployment architecture/structure? And what version of servicemix are you using? Grant M. -----Original Message----- From: Jeffrey Puro [mailto:[EMAIL PROTECTED] Sent: Tuesday, 12 December 2006 2:45 AM To: [email protected] Subject: RE: ServiceMix Http ProviderProcessor giving a "Connection factory has been shutdown." Exception Hmmmm. Ok, I will need to look at the changes further that you are suggesting, but I'm not sure if the fix will directly solve why the Connection Factory seems to be getting closed. When I added the catchall, I am still getting: java.lang.IllegalStateException: Connection factory has been shutdown. at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager.doGetCo nnection(MultiThreadedHttpConnectionManager.java:454) at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager.getConn ectionWithTimeout(MultiThreadedHttpConnectionManager.java:407) at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMetho dDirector.java:152) at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:3 96) at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:3 46) at org.apache.servicemix.http.processors.ProviderProcessor.process(Provider Processor.java:153) at org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBas eLifeCycle.java:410) at org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCyc le.java:43) at org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(D eliveryChannelImpl.java:624) at org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.j ava:170) at org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java :177) at org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:2 27) at org.apache.geronimo.connector.work.WorkerContext.run(WorkerContext.java: 291) at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Thread.java:595) -----Original Message----- From: Grant M [mailto:[EMAIL PROTECTED] Sent: Monday, December 11, 2006 5:47 AM To: [email protected] Subject: Re: ServiceMix Http ProviderProcessor giving a "Connection factory has been shutdown." Exception Jeff, The part to notice here - and I know it is not at all obvious - is the BPRunTimeException: BPRuntimeException(nameSpace:http://localhost/IAETracker/IAETrackerWS faultName:Unknown fualtType:null) This is an encapsulation of a BPEL Fault. In this case a BPERuntimeException with a faultName of "Unknown" is created in the BPE JBI integration layer when there is an error (note this is an error which is an exception - not a fault - which would be XML) on the response exchange from an invoke. The code responsible creates a BPEL Fault with the same target namespace as the one the invoked endpoint's WSDL is in and with a fault name of "Unknown". What this means is that during the invoke there was some sort of error and it's returning an unknown BPEL fault - to catch it you either use catchAll or declare the "Unknown" fault type in your WSDL for the invoked endpoint and then catch it specifically. The only caveat here is that there is no fault data since it would not be XML. Now, I have done work in this area of ServiceMix and I am currently using a custom enhancement that is not in the main trunk: 1) The fault name is changed from Unknown to ExternalError which is more indicative of what has occurred. 2) I take the error which is an exception of some type (possibly nested) and create an XML like this: <ExternalError> <exception> <message>....</message> <stackTrace><![CDATA[....]]></stackTrace> <exception> . . . <exception> <message>Caused by: ....</message> <stackTrace><![CDATA[....]]></stackTrace> <exception> </ExternalError> 3) This payload is attached to the BPERuntimeException and is now available from BPEL to do with as you may wish. If there is any interest in this sort of functionality let me know and I can commit it. Regards, Grant M. On 12/11/06, Jeffrey Puro <[EMAIL PROTECTED]> wrote: > I am using the servicemix-bpe component to orchestrate some web service > calls. I am able to orchestrate the calls perfectly fine using my test > cases. The BPEL process essentially invokes several HTTP provider > endpoints in ServiceMix. However, when I deploy the SA into JBoss using > the apache servicemix web console, I cannot get the http provider > endpoints to make the actual web service calls. The exception I am > getting is a strange one at that as shown below. Any suggestions would > be appreciated: > > > > 2006-12-11 03:02:26,847 INFO [STDOUT] 03:02:26,769 ERROR > [[servicemix-http]] Servlet.service() for servlet servicemix-http threw > exception > > java.lang.Exception: > BPRuntimeException(nameSpace:http://localhost/IAETracker/IAETrackerWS > faultName:Unknown fualtType:null) > > at > org.apache.servicemix.http.processors.ConsumerProcessor.process(Consumer > Processor.java:214) > > at > org.apache.servicemix.http.ManagedContextManager$MainProcessor.process(M > anagedContextManager.java:116) > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native > Method) > > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav > a:39) > > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor > Impl.java:25) > > at java.lang.reflect.Method.invoke(Method.java:585) > > at > org.apache.servicemix.web.http.HttpManagedServlet.service(HttpManagedSer > vlet.java:90) > > at > javax.servlet.http.HttpServlet.service(HttpServlet.java:810) > > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica > tionFilterChain.java:252) > > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt > erChain.java:173) > > at > org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilte > r.java:81) > > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica > tionFilterChain.java:202) > > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt > erChain.java:173) > > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv > e.java:213) > > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv > e.java:178) > > at > org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipa > lValve.java:39) > > at > org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAs > sociationValve.java:159) > > at > org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.j > ava:59) > > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java > :126) > > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java > :105) > > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve. > java:107) > > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:1 > 48) > > at > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:85 > 6) > > at > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processC > onnection(Http11Protocol.java:744) > > at > org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint > .java:527) > > at > org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorker > Thread.java:112) > > at java.lang.Thread.run(Thread.java:595) > > Caused by: > BPRuntimeException(nameSpace:http://localhost/IAETracker/IAETrackerWS > faultName:Unknown fualtType:null) > > at > org.apache.servicemix.bpe.external.JbiInvokeAction.execute(JbiInvokeActi > on.java:258) > > at > org.apache.ode.bpe.action.bpel.ExternalServiceAction.execute(ExternalSer > viceAction.java:230) > > at > org.apache.servicemix.bpe.external.JbiExternalAction.execute(JbiExternal > Action.java:129) > > at > org.apache.ode.bpe.engine.ProcessInstance.executeActions(ProcessInstance > .java:359) > > at > org.apache.ode.bpe.engine.ProcessInstance.evaluate(ProcessInstance.java: > 325) > > at > org.apache.ode.bpe.engine.ProcessInstance.evaluate(ProcessInstance.java: > 414) > > at > org.apache.ode.bpe.engine.ProcessInstance.processInternalEvent(ProcessIn > stance.java:254) > > at > org.apache.ode.bpe.engine.ProcessInstance.processEvent(ProcessInstance.j > ava:209) > > at > org.apache.ode.bpe.correlation.CorrelationService.createInstanceAndRoute > (CorrelationService.java:230) > > at > org.apache.ode.bpe.correlation.CorrelationService.correlateEvent(Correla > tionService.java:337) > > at > org.apache.ode.bpe.bped.unmanaged.EventDirectorSLImpl.sendEvent(EventDir > ectorSLImpl.java:116) > > at > org.apache.servicemix.bpe.BPEEndpoint.process(BPEEndpoint.java:130) > > at > org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBas > eLifeCycle.java:410) > > at > org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCyc > le.java:43) > > at > org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(D > eliveryChannelImpl.java:624) > > at > org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.j > ava:170) > > at > org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java > :177) > > at > org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:2 > 27) > > at > org.apache.geronimo.connector.work.WorkerContext.run(WorkerContext.java: > 291) > > at > EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(Unknown > Source) > > ... 1 more > > Caused by: java.lang.IllegalStateException: Connection factory has been > shutdown. > > at > org.apache.commons.httpclient.MultiThreadedHttpConnectionManager.doGetCo > nnection(MultiThreadedHttpConnectionManager.java:454) > > at > org.apache.commons.httpclient.MultiThreadedHttpConnectionManager.getConn > ectionWithTimeout(MultiThreadedHttpConnectionManager.java:407) > > at > org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMetho > dDirector.java:152) > > at > org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:3 > 96) > > at > org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:3 > 46) > > at > org.apache.servicemix.http.processors.ProviderProcessor.process(Provider > Processor.java:153) > > ... 9 more > > > > > > > > > > This email (and any attachments) is intended only for the use of the individual or entity named above and may contain information that is privileged and confidential. If you are not the intended recipient, or have unauthorized access, you are hereby notified that copying, disseminating, distributing or taking any action in reliance on this email is strictly prohibited<br /> > <br /> > Opinions, conclusions and other information in this message that do not relate to the official business of our firm shall be understood as neither given nor endorsed by it. > > > This email (and any attachments) is intended only for the use of the individual or entity named above and may contain information that is privileged and confidential. If you are not the intended recipient, or have unauthorized access, you are hereby notified that copying, disseminating, distributing or taking any action in reliance on this email is strictly prohibited<br /> <br /> Opinions, conclusions and other information in this message that do not relate to the official business of our firm shall be understood as neither given nor endorsed by it.
