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.



Reply via email to