-
1. Re: Is there a easy way to send to client a BusinessExceptio
marklittle Aug 15, 2007 7:22 AM (in response to claudio_br)Check out the trunk. If you throw an ActionProcessingFaultException within your Action, then it'll be propagated back to the client as such.
-
2. Re: Is there a easy way to send to client a BusinessExceptio
claudio_br Aug 15, 2007 8:52 AM (in response to claudio_br)Hi Mark,
In my code I throw ActionProcessingFaultException (first post), but I need add try - catch. Does the trunk version to do this for me? I am using ESB 4.2 MR3
Thanks -
3. Re: Is there a easy way to send to client a BusinessExceptio
marklittle Aug 15, 2007 10:12 AM (in response to claudio_br)Yes, in trunk you should now get a FaultMessageException thrown at the client. This will include the fault code, the reason and the original fault Message in case you need to pass back anything application specific.
-
4. Re: Is there a easy way to send to client a BusinessExceptio
marklittle Aug 15, 2007 10:13 AM (in response to claudio_br)Oh, and this is not in MR3: only in the trunk.
-
5. Re: Is there a easy way to send to client a BusinessExceptio
claudio_br Aug 15, 2007 1:02 PM (in response to claudio_br)Hi Mark,
I got the revision 14254 of esb trunk.
But when I installed in jboss I got this exception in jboss console:13:54:58,125 ERROR [JobExecutorThread] exception in job executor thread. waiting 20000 milliseconds org.hibernate.HibernateException: Could not find datasource at org.hibernate.connection.DatasourceConnectionProvider.configure(DatasourceConnectionProvider.java:56) at org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:124) at org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:56) at org.hibernate.cfg.SettingsFactory.createConnectionProvider(SettingsFactory.java:414) at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:62) at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2009) at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1292) at org.jbpm.persistence.db.DbPersistenceServiceFactory.getSessionFactory(DbPersistenceServiceFactory.java:91) at org.jbpm.persistence.db.DbPersistenceService.getSessionFactory(DbPersistenceService.java:94) at org.jbpm.persistence.db.DbPersistenceService.getSession(DbPersistenceService.java:98) at org.jbpm.persistence.db.DbPersistenceService.getJobSession(DbPersistenceService.java:354) at org.jbpm.JbpmContext.getJobSession(JbpmContext.java:563) at org.jbpm.job.executor.JobExecutorThread.acquireJobs(JobExecutorThread.java:109) at org.jbpm.job.executor.JobExecutorThread.run(JobExecutorThread.java:56) Caused by: javax.naming.NameNotFoundException: JbpmDS not bound at org.jnp.server.NamingServer.getBinding(NamingServer.java:529) at org.jnp.server.NamingServer.getBinding(NamingServer.java:537) at org.jnp.server.NamingServer.getObject(NamingServer.java:543) at org.jnp.server.NamingServer.lookup(NamingServer.java:296) at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:627) at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:589) at javax.naming.InitialContext.lookup(InitialContext.java:351) at org.hibernate.connection.DatasourceConnectionProvider.configure(DatasourceConnectionProvider.java:52)
Seems that is missing datasource configuration file.
Can you help me?
Thanks -
6. Re: Is there a easy way to send to client a BusinessExceptio
kurtstam Aug 15, 2007 1:05 PM (in response to claudio_br)That should be fixed when you do an update.
-
7. Re: Is there a easy way to send to client a BusinessExceptio
claudio_br Aug 15, 2007 1:40 PM (in response to claudio_br)The problem with JbpmDS was resolved in revision 14259.
Thanks Kurt!
When will go out the version 4.2.GA? -
8. Re: Is there a easy way to send to client a BusinessExceptio
claudio_br Aug 15, 2007 2:53 PM (in response to claudio_br)I did a test with trunk version, but I got this exception:
org.jboss.soa.esb.couriers.FaultMessageException: org.jboss.soa.esb.actions.ActionProcessingException: Unexpected invocation target exception from processor at org.jboss.internal.soa.esb.couriers.JmsCourier.pickup(JmsCourier.java:368) at org.jboss.internal.soa.esb.couriers.TwoWayCourierImpl.pickup(TwoWayCourierImpl.java:223) at org.jboss.internal.soa.esb.couriers.TwoWayCourierImpl.pickup(TwoWayCourierImpl.java:205) at org.jboss.soa.esb.client.ServiceInvoker.attemptDelivery(ServiceInvoker.java:364) at org.jboss.soa.esb.client.ServiceInvoker.post(ServiceInvoker.java:279) at org.jboss.soa.esb.client.ServiceInvoker.deliverSync(ServiceInvoker.java:192) at com.TestePipeline.main(TestePipeline.java:20)
I didn´t get my BusinessException. The exception.getCause() is null
Is there a solution for my problem?
Thanks -
9. Re: Is there a easy way to send to client a BusinessExceptio
marklittle Aug 15, 2007 6:53 PM (in response to claudio_br)"claudio_br" wrote:
When will go out the version 4.2.GA?
In a couple of weeks. -
10. Re: Is there a easy way to send to client a BusinessExceptio
marklittle Aug 15, 2007 7:05 PM (in response to claudio_br)"claudio_br" wrote:
I did a test with trunk version, but I got this exception:org.jboss.soa.esb.couriers.FaultMessageException: org.jboss.soa.esb.actions.ActionProcessingException: Unexpected invocation target exception from processor at org.jboss.internal.soa.esb.couriers.JmsCourier.pickup(JmsCourier.java:368) at org.jboss.internal.soa.esb.couriers.TwoWayCourierImpl.pickup(TwoWayCourierImpl.java:223) at org.jboss.internal.soa.esb.couriers.TwoWayCourierImpl.pickup(TwoWayCourierImpl.java:205) at org.jboss.soa.esb.client.ServiceInvoker.attemptDelivery(ServiceInvoker.java:364) at org.jboss.soa.esb.client.ServiceInvoker.post(ServiceInvoker.java:279) at org.jboss.soa.esb.client.ServiceInvoker.deliverSync(ServiceInvoker.java:192) at com.TestePipeline.main(TestePipeline.java:20)
I didn´t get my BusinessException. The exception.getCause() is null
Is there a solution for my problem?
Thanks
I may be misunderstanding what you're trying to do, but let me explain how the exception handling current occurs. (This is in the Programmers Guide, so you should check there too.)
If you throw an arbitrary exception from your process method then this will be rethrown back to the client as an FaultMessageException which should contain the original reason and code. Obviously we can't rethrow the original exception from the courier/ServiceInvoker signatures. However, we don't return the original exception in the cause: that's an oversight and I'll take a look at that tomorrow.
If your Action process method throws an ActionProcessingFaultException then you can return an arbitrary Message that will be returned to the client and rethrown as a FaultMessageException.
In both cases, you will get the entire Message back in the FaultMessageException. -
11. Re: Is there a easy way to send to client a BusinessExceptio
claudio_br Aug 17, 2007 10:09 AM (in response to claudio_br)Hi Mark,
I got ESB svn revision 14333 and now I can get my BusinessException in my java client.
Thank you very much! -
12. Re: Is there a easy way to send to client a BusinessExceptio
marklittle Aug 19, 2007 2:49 PM (in response to claudio_br)Glad it works for you Claudio :-)
-
13. Re: Is there a easy way to send to client a BusinessExceptio
marklittle Aug 19, 2007 2:49 PM (in response to claudio_br)BTW, we have plans to improve the failure handling in subsequent revisions, but hopefully what's there now will be sufficient to get you (and others) going.