Search code examples
web-servicesibm-bpm

How to return error message in a IBM BPM service?


I have a Integration Service that has 2 inbound fields (Login and Acao), both should be required, so I have created Business Object for each one, and at "Simple Type" section, I set the "Error Message" for these fields. When I ran the service by IBM BPM, and do not filled those field, the message is shown, but, if I call the service using SOAP UI, I just receive the error "Internal Server" and the message that I have set at "Error Message" is not showed.

I used "Error Intermediate Event" to catch the error and "Error end Event", but it still not work.

Whats is the best way to make a field required in a IBM BPM Service or how can I still throw an exception, but instead of "Internal Error" show specific message?

Kind regards


Solution

  • I'm not sure about your current IBM BPM version or edition and I'm assuming you are using only Process Designer.

    I think it is not possible to throw an error the way you want. You may probably need to implement your Web Service (I'm assuming a WS is used to expose the IS) using IBM Integration Designer (IID), which is a little bit more complex but has a lot of flexibility.

    In case that is not an option (only available in Advanced Edition), you can add an additional output variable to your current service to return (throw) the error:

    • Add a variable output as a String or any desired complex type
    • Use the regular End Event instead of your Error End Event
    • Include a script between the Error Intermediate Event and the End Event to map the error description to the new output variable