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.
