1 Reply Latest reply on Dec 2, 2009 7:32 AM by Bernd Ruecker

    not enough Exception information in fault message

    Bernd Ruecker Master

      Hi!

      I currently face the following problem, with the JBoss SOA-P 4.3.0. I call a service, in the AcionPipeline an action throws an exception, for testing I just use:

      public void process(Message msg) throws Exception {
       throw new Exception("You wanted it, you get it. Here comes the exception...");
      }
      


      We use JBOSS_XML serialized messages. When the fault message is generated, the exception is just added as string to the fault message:

      body: [ objects: {
       org.jboss.soa.esb.message.fault.throwable=
       org.jboss.soa.esb.actions.ActionProcessingException: Unexpected invocation target exception from processor,
       org.jboss.soa.esb.message.fault.reason=
       org.jboss.soa.esb.actions.ActionProcessingException: Unexpected invocation target exception from processor,
       org.jboss.soa.esb.message.fault.code=
       urn:action/error/unexpectederror
      } ]
      fault: [
       urn:action/error/unexpectederror,
       org.jboss.soa.esb.actions.ActionProcessingException: Unexpected invocation target exception from processor,
       org.jboss.soa.esb.actions.ActionProcessingException: Unexpected invocation target exception from processor
      ]
      


      As you can see, you don't even see the real exception message, just the ActionProcessingException. I checked the sources, but I don't have any possibilities to influence the fault message generation. What I need is at least the real exception message or even better the StackTrace as a string prroperty in the fault.

      Any ideas? Or is this a feature request for the ESB? How do other handle fault messages without a real error message? Or did I misunderstood something completely?

      Thanks a lot for any hint
      Bernd

        • 1. Re: not enough Exception information in fault message
          Bernd Ruecker Master

          By the way: The only work around at the moment I see in throwing a ActionProcessingException:

           public void process(Message msg) throws Exception {
           try {
           throw new Exception("You wanted it, you get it. Here comes the exception...");
           }
           catch (Exception ex) {
           throw new ActionProcessingFaultException(ex.toString());
           }
           }
          


          But this needs a change in the action classes. And at least for the out-of-the-box actions like the EJBProcessor this is really not nice...