Hello Everyone,

I have a MessageStyle service  which has the following signatures:

        Document sendData(Document doc) throws RemoteException{}

Everything works fine till I get an exception:

I wrote a method like this where I access the SOAPBody on the server side
and set the faultString and errorCode and return it to the client.

public static RemoteException setSOAPFaultElement(Exception ex) throws
RemoteException{
                try{
                javax.xml.soap.SOAPBody   sb1 =  null;
                sb1 =
MessageContext.getCurrentContext().getResponseMessage().getSOAPPart().getEnv
elope().getBody();
                System.out.println(sb1.getClass());
            javax.xml.soap.SOAPFault fault = sb1.addFault();
            fault.setFaultString("Exception " + ex.toString());
            System.out.println(fault.getFaultString());
            fault.setFaultCode("Server");
            System.out.println("Exception is being set in the fault body");
            return new RemoteException(ex.toString());
                }catch(SOAPException e){
            throw new RemoteException(ex.toString());
                }
        }


But on the client side when I get an exception and in the Exception block I
try to access the exception from the SOAPBody object I get a
NullPointerExcption and the SOAPBody is empty.

Then probing further I turned on the SOAPMonitor and discovered that the
there was no response message in cases where there is exception.

Thus what I cannnot figure out it is how are exception handled in context of
MessageStyle webservices.

Any pointers will really help.

Bhanu Pabreja.


Reply via email to