Hi all,
I've added a Makefault Mediator in order to extract the faultstring and send
it back to the client.
The following is my setting:
============================================================================
<syn:sequence name="error_msg" trace="enable">
<syn:makefault version="soap11">
<syn:code xmlns:sf11="http://schemas.xmlsoap.org/soap/envelope/"
value="sf11:Receiver"/>
<syn:reason xmlns:ns1="http://org.apache.synapse/xsd"
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
expression="get-property('ERROR_MESSAGE')"/>
</syn:makefault>
<syn:property name="RESPONSE" value="true"/>
<syn:header name="To"
value="http://www.w3.org/2005/08/addressing/anonymous"/>
<syn:log level="full" separator=","/>
<syn:send/>
<syn:drop/>
</syn:sequence>
=============================================================================
When I see the log, It appears as:
(after the log mediator is the send mediator)
INFO Log message : To:
http://www.w3.org/2005/08/addressing/anonymous,MessageID:
urn:uuid:8472F1A29C5CB84B8E1214791031621,Direction: response,Envelope: <?xml
version='1.0' encoding='utf-8'?><soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><soapenv:Fault><faultcode
xmlns:sf11="http://schemas.xmlsoap.org/soap/envelope/">sf11:Receiver</faultcode><faultstring>org.apache.axiom.om.OMException:
com.ctc.wstx.exc.WstxEOFException: Unexpected EOF; was expecting a close tag
for element <Request> at [row,col {unknown-source}]:
[5,0]</faultstring></soapenv:Fault></soapenv:Body></soapenv:Envelope>
But the response that I received is like this:
<?xml version="1.0" encoding="UTF-8"?>
<Exception>org.apache.axiom.om.OMException:
com.ctc.wstx.exc.WstxEOFException: Unexpected EOF; was expecting a close tag
for element <Request>
at [row,col {unknown-source}]: [5,0]</Exception>
It's strange that ESB 1.7 transforms the fault response itself
(since in ESB 1.6, the response message is exactly the same as what it
appears in the log)
Actually I want to do XSLT transformation before the fault response send
out, but it seems that if I add a XSLT mediator between the log and send
mediator, I couldn't received any response. (only in ESB 1.7) I wonder the
reason that I couldn't receive the fault response is because of the
transforming of fault response into a <Exception> by ESB 1.7.
Does anyone has any idea how can figure this out?
Thanks!
Fanny
--
View this message in context:
http://www.nabble.com/ESB-1.7-Fault-Handler-tp18187873p18187873.html
Sent from the WSO2 ESB Users mailing list archive at Nabble.com.
_______________________________________________
Esb-java-user mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/esb-java-user