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.

Reply via email to