Rob,
I think the correct syntax for the faultsTarget is:
<eip:pipeline service="wkpb:pipeline2" endpoint="endpoint">
<eip:transformer>
<eip:exchange-target service="wkpb:WkpbVerwerkKennisgeving"/>
</eip:transformer>
<eip:target>
<eip:exchange-target service="wkpb:Dump"/>
</eip:target>
<eip:faultsTarget>
<eip:exchange-target service="wkpb:akrpoller"/>
</eip:faultsTarget>
</eip:pipeline>
Could you retry it with this configuration? If it doesn't work, try
settings the logging level to DEBUG (in conf/log4j.xml). This should
give you a complete trace of all exchanges that are being handled by the
ESB. Also, it's a bit strange that you are sending the faults to a
poller service endpoint. Are you sure your BC can handle this type of
incoming messages?
Gert
Rob de Jong wrote:
Hello,
First off, I do hope this won't turn out to be a double post. I tried to
send this yesterday, but it's not come through since. If it does
eventually, my apologies.
I'm having a bit of trouble getting the Robust-In-Only fault routing set
up. The deployment is set up where a custom Java component initiate an
exchange, which is sent to some pipelines and through some transformers.
Eventually, it's routed through an HTTP component. In the case of a
fault, the component sends the fault back to the last pipeline in line.
It's intended that the Fault is caught by the custom component.
This is now how it's working, however. I've tried setting a faultTarget
element in the Target of the pipeline that gets the fault first, routing
it back directly to my custom component. I'll add a snippet of the log
later on. It seems the fault hovers between the http component and the
pipeline, but is never sent to the custom component.
If I do not use faultTarget, things do not seem to work either. The
deployment uses the following components:
Custom Java BC (akrpoller)
EIP Pipeline1
LW XSLT
EIP recipient list
EIP Pipeline2
HTTP component
Logger component
Debugging Logger component
The EIP Pipeline2 is set up as follows:
<eip:pipeline service="wkpb:pipeline2" endpoint="endpoint">
<eip:transformer>
<eip:exchange-target service="wkpb:WkpbVerwerkKennisgeving"
/>
</eip:transformer>
<eip:target>
<eip:exchange-target service="wkpb:Dump"/>
<eip:faultTarget service="wkpb:akrpoller"/>
</eip:target>
</eip:pipeline>
And the HTTP Component's set up as follows:
<http:endpoint service="wkpb:WkpbVerwerkKennisgeving"
endpoint="WkpbVerwerkKennisgeving"
role="provider"
locationURI="http://localhost:8085/obterra/services/WkpbVerwerkKennisgev
ing"
soap="yes"
soapVersion="1.1"
soapAction="http://www.egem.nl/StUF"
wsdlResource="classpath:wkpb0102.wsdl"
/>
I'm flat out of ideas at the moment. Any help would be greatly
appreciated.
Rob de Jong