users@jax-rpc.java.net

RE: How is a SOAPFAULT recieved on the client side ?????

From: Kevin Jones <kevinj_at_develop.com>
Date: Wed, 24 Dec 2003 10:26:10 -0000

This is expected behaviour. The SOAPFaultException will contain details
of the SOAPFault. If you want to manage the SOAPFault as a SOAP message
you will need to install a handler on the client side,

Kevin Jones
http://kevinj.develop.com

> -----Original Message-----
> From: Purbhoo, Hansika [mailto:PurbhooH_at_scmb.co.za]
> Sent: 24 December 2003 08:20
> To: users_at_jax-rpc.dev.java.net
> Subject: How is a SOAPFAULT recieved on the client side ?????
>
>
> Hi All
> I am using a handler to intercept my soap message.
> In the handleRequest method, I extract out the username +
> password. These are then validated against an existing legacy
> system. Suppose the password is incorrect, I then set a SOAP
> fault on the message .
>
> On the client side, I would expect the client to recieve a
> SOAP message containg the SOAP fault, however the client is
> getting a SOAPFault exception
>
> On my test client , I get the following exception
>
> javax.xml.rpc.soap.SOAPFaultException: Invalid password
> at
> com.sun.xml.rpc.client.StreamingSender._raiseFault(StreamingSe
> nder.java:395)
> at
> com.sun.xml.rpc.client.StreamingSender._send(StreamingSenderjava:234)
>
> Why does the client get an exception instead of a normal SOAP
> Message ? Is this the expected behaviour , or am I doing
> something incorrectly?
>
> Here is the code in my handler
> public boolean handleRequest(MessageContext msgContext) {
>
> try {
> //try to authenticate user here, if there is an error
> an exception is thrown
> } catch (SOAPFaultException sfe) {
> try {
> SOAPMessageContext smc = (SOAPMessageContext) msgContext;
> MessageFactory messageFactory = MessageFactory.newInstance();
> SOAPFactory soapFactory = SOAPFactory.newInstance();
> SOAPMessage message = messageFactory.createMessage();
> SOAPBody body = message.getSOAPBody();
> SOAPFault fault = body.addFault();
> Name faultName = soapFactory.createName("Client",
> "", SOAPConstants.URI_NS_SOAP_ENVELOPE);
> fault.setFaultCode(faultName);
> fault.setFaultString("Invalid password");
> message.saveChanges();
> System.out.println("Here is what the XML message
> looks like:");
> message.writeTo(System.out);
>
> smc.setMessage(message);
>
> } catch (SoapFaultException se){
> //do something here
> //System.out.println("Caught an exception");
> }
> return false;
> }
>
>
> return true;
> }
>
>
>
>
> Any help would be much appreciated
> Thanks
> Hansika
>
> ______________________________________________________________
> ____________________________________________________________________
>
> For information about the Standard Bank group visit our web
> site <www.standardbank.co.za>
> ______________________________________________________________
> ____________________________________________________________________
>
> Disclaimer and confidentiality note
> Everything in this e-mail and any attachments relating to the
> official business of Standard Bank Group Limited is
> proprietary to the group.
> It is confidential, legally privileged and protected by law.
> Standard Bank does not own and endorse any other content.
> Views and opinions are those of the sender unless clearly
> stated as being that of the group.
> The person addressed in the e-mail is the sole authorised
> recipient. Please notify the sender immediately if it has
> unintentionally reached you and do not read,
> disclose or use the content in any way.
> Standard Bank can not assure that the integrity of this
> communication has been maintained nor that it is free of
> errors, virus, interception or interference.
> ______________________________________________________________
> _____________________________________________________________________
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe_at_jax-rpc.dev.java.net
> For additional commands, e-mail: users-help_at_jax-rpc.dev.java.net
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe_at_jax-rpc.dev.java.net
For additional commands, e-mail: users-help_at_jax-rpc.dev.java.net