The DEBUG logs should show you how the message is progressing through the pipeline, what can you see in them?
If you get an Unresponsive EPR then you might have a problem with the reply location setting of your message. I will illustrate:
queue1 => serviceA => queue2 => serviceB
When a message from queue1 is pickedup and there is a queue1_reply defined for request-response as the reply queue, then the message will return to queue1_reply to deliver the response. if by any chance you send your message by a service invoker in a customaction to serviceB and you don't create a new message you will get an Unresponsive EPR. This is because the message should have a reply location of queue2_reply but instead it has still queue1_reply as reply location. This means that the service invoker which is used by the custom action still is wating for the message to return but never will get an answer because of the wrong reply location.
When you use the service invoker, the reply location is only set when it is empty.
My service is request resposne and I've exposed it as a webservice using inXsd , outXsd configuration. I don't have queues.
It looks like I was getting the timeouts while making webservice call to out side webservice in my custom action class. So upon time out I was getting this unresponsive EPR error. I figured out why I was getting timeouts so now I am not seeing this error. But I still would like to know how should I configure my action pipeline when there is a true timeout situation because I don't want to see unresponsive EPR errors.
Any suggestions would help.