| Register | FAQ | Calendar | Search | Today's Posts | Mark Forums Read |
|
#1
| |||
| |||
| Hey I have a problem, which can be explained on a simple example ... A process1 has a reference to some other process2, and "create if process does not exist" is set to false. How do I catch bpel exception, which occurs when process1 uses this interface calling process2, but no process2 instance is running? Thanks a lot, Gregor |
|
#2
| |||
| |||
| i tried adding Fault handler on the corresponding Invoke of process2 interface, but it doesn't help |
|
#3
| |||
| |||
| Are you using one way Async invokes? If so the message should be found in the Failed Event manager. This will allow you to fix the problem and then re-submit the request (via Failed Event manager). In case you've not used it, you can find it in the Integration Applications in the WebSphere Admin Console. |
|
#4
| |||
| |||
| Yes, I am using async invocation, but I would like to capture this exception/fault inside proces itself ... so, I could let's say remind user who started this proces, that his call did not have the desired effect |
|
#5
| |||
| |||
| Is the fault caught in the catch all? |
|
#6
| |||
| |||
| no, it is not, and that is the problem :S I would like to know if there is any way to cathc it there |
|
#7
| |||
| |||
| I don't believe you'll be able to do this. This is the purpose of the failed event manager. What will the client do if they know it has failed. They will either have to resubmit the request and tell the WPS operator to delete the failed event or tell the operator to investigate the problem, fix it and re-submit the failed event. If you think that the problem can fail for a multitude of reasons, it is unlikely that the client is going to be able to do anything about it. This sort of issue usually arises they systems try and impose synchronous patterns on top of asynchronous technologies. It seems difficult to accept the fact that a client can "just trust" the system to get the message delivered. This is usually the case when there is a client UI waiting for some confirmation and requires systems to be designed with this in mind. This is typically a design issue. If the call fails, how long does the system have before the message is deemed useless? If it is a long time then put processes in place to flag when there are failed events and these should be investigated by the appropriate person. Once resolved the message can be replayed and all is good. If the request must be processed in a particular time frame then maybe you need to use a different type of interface or solution where if you haven't received an acknowledgement of some sort within a certain time, you raise an error to the client. |
|
#8
| |||
| |||
| yes, I looks like to me that what I want is actually not possible :S here is may actual situation: i have a process that starts an activity and then waits either for reply or outside invoke from other process - if outside invoke comes first, there is an error when called activity ends and process is no longer in state of waitnig for it's reply - I can solve this by notifying this activity that it should terminate because outside message was received (I don't like this solution though, because it complicates activity a lot) - if activity ends first then i can't do anything if the outside process is started too late ... how will this user know if his action was successfull or not?! sorry for bad english and thanks for all your answers |
|
#9
| |||
| |||
| Hey, don't worry about the English but could you try and describe the process for me again as I don't think I quite understand the timing of who calls who and what are the implications of who replies when. If you can just describe the flow of execution when it all works and also when it doesn't, maybe I can get a better understanding. Marvin |
![]() |
| Thread Tools | |
| Display Modes | |
In an effort to better serve ads to our visitors, cookies are used on objectmix.com. For more information, check out our Privacy Policy.