Hi Venkatesan,

The fault Detail was static so that you can not change that dynamically.
However I think it is worth letting this to be picked up dynamically from
the message as well. I will add this support to the trunk. Is it possible
for you to raise a JIRA for this?

Thanks,
Ruwan

On Mon, Mar 31, 2008 at 7:52 AM, Venkatesan, Kumaran <
[EMAIL PROTECTED]> wrote:

>  Ruwan,
>
>
>
> Thanks a lot for your prompt response on this.
>
>
>
> The issue was resolved and the client application has received the soap
> fault message.  Initially have tried the same logic and the soap fault was
> created at the synapse server but not sent to the client even with "<send/>"
> mediator in the myFaultHander sequence.
>
>
>
> Then have added the "<property name="RESPONSE" value="true" />" in
> synapse.xml to send message out.
>
>
>
> <?xml version="1.0" encoding="UTF-8"?>
>
> <definitions xmlns="http://ws.apache.org/ns/synapse";>
>
> <sequence name="myFaultHandler">
>
> <makefault>
>
>                                  <code value="tns:Receiver" xmlns:tns="
> http://www.w3.org/2003/05/soap-envelope"/>
>
>                                  <reason
> expression="get-property('ERROR_MESSAGE')"/>
>
>                                 <detail>This is the detail section of the
> makefault mediator</detail>
>
>         </makefault>
>
> *        <property name="RESPONSE" value="true" />*
>
>           <send/>
>
> </sequence>
>
>
>
> Now, the challenge is to dynamically change the value of <detail> tag of
> soap fault, so that it could be extracted in the client application.
>
>
>
> Any idea, how to dynamically change the value of <detail> tag, mostly it
> could be the value of synapseException  like below "This is the error".
>
>
>
> throw new SynapseException("This is the error");
>
>
>
>
>  ------------------------------
>
> *From:* Ruwan Linton [mailto:[EMAIL PROTECTED]
> *Sent:* Sunday, March 30, 2008 7:02 AM
> *To:* [email protected]
> *Cc:* [EMAIL PROTECTED]; [EMAIL PROTECTED]; [EMAIL PROTECTED]
> *Subject:* Re: soap fault through class mediators
>
>
>
> Hi Venkatesan,
>
> There are two possible answers, first in which is to construct a SOAPFault
> and set it to the message context envelope, but I think the more appropriate
> way of doing this is through throwing an exception with the required
> message.
>
> throw new SynapseException("This is the error");
>
> Thanks,
> Ruwan
>
> On Sat, Mar 29, 2008 at 11:24 PM, Venkatesan, Kumaran <
> [EMAIL PROTECTED]> wrote:
>
> Hi,
>
>
>
> How to throw custom soap fault messages from the class mediators.
>
>
>
> I have the code like below.
>
>
>
> *if* (ome.getLocalName().equalsIgnoreCase("groupid")){
>
> *   if* (ome.getText() != *null*){
>
>       String soapUserid = ome.getText();
>
>       *if* (!soapUserid.equalsIgnoreCase(groupId)){
>
>       *logger*.debug("Groupid from Session object and SOAPXML not valid");
>
>       // *TODO*: soap fault  //here I need to throw soap fault and it will
> be captured at the client side.
>
>       //return false; <this will stop the message mediation alone>
>
> }
>
>    }
>
>
>
> This email is confidential. If you are not the addressee tell the sender 
> immediately and destroy this email
>
> without using, sending or storing it. Emails are not secure and may suffer 
> errors, viruses, delay,
>
> interception and amendment. Standard Chartered PLC and subsidiaries 
> ("SCGroup") do not accept liability for
>
> damage caused by this email and may monitor email traffic.
>
>
>
>
> --
> Ruwan Linton
> http://www.wso2.org - "Oxygenating the Web Services Platform"
>
> This email is confidential. If you are not the addressee tell the sender 
> immediately and destroy this email
> without using, sending or storing it. Emails are not secure and may suffer 
> errors, viruses, delay,
> interception and amendment. Standard Chartered PLC and subsidiaries 
> ("SCGroup") do not accept liability for
> damage caused by this email and may monitor email traffic.
>
>


-- 
Ruwan Linton
http://www.wso2.org - "Oxygenating the Web Services Platform"

Reply via email to