I don't seem to have a problem with it.

here's my example which creates a SOAPResponse on the SOAPMonitor. Could it be that your server is configured to override and handle the exception, I remember that I once had that issue, although I am no expert on this.

import javax.xml.soap.SOAPBody;
import javax.xml.soap.SOAPFault;

public Document method2(Document request) throws Exception{
try {
ohno
} catch (Exception e1) {
            logGetUMLS.info(e1.getMessage());
            String errormsg = e1.getMessage();
            logGetUMLS.info( "Error: " + errormsg);
            sb1 = MessageContext.getCurrentContext().getResponseMessage().getSOAPPart().getEnvelope().getBody();
            SOAPFault fault = sb1.addFault();
            fault.setFaultString("Exception: " + errormsg);
            fault.setFaultCode("Server");
            throw e1;         
        }
return doc;
}

HTTP/1.1 500 Internal Server Error?
Content-Type: text/xml; charset=utf-8?
Date: Tue, 15 Jul 2003 16:10:48 GMT?
Server: Apache Coyote HTTP/1.1 Connector [1.0]?
Connection: close?
?
<?xml version="1.0" encoding="UTF-8"?>
   <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <soapenv:Body> 
         <soapenv:Fault>  
            <faultcode>soapenv:Server.userException</faultcode>  
            <faultstring>java.lang.Exception: Test Exception</faultstring>  
            <detail/> 
         </soapenv:Fault>
      </soapenv:Body>
   </soapenv:Envelope>



Bhanu Pabreja wrote:
Posted:
http://nagoya.apache.org/bugzilla/long_list.cgi?buglist=21578

Bhanu

-----Original Message-----
From: Davanum Srinivas [mailto:[EMAIL PROTECTED]]
Sent: Monday, July 14, 2003 12:23 PM
To: Bhanu Pabreja; [EMAIL PROTECTED]
Subject: RE: Message Style Service and Exception Handling


Please open a bug report - http://ws.apache.org/axis/bugs.html

-- dims

--- Bhanu Pabreja <[EMAIL PROTECTED]> wrote:
  
Thanx for the input but this also does not work. Infact no SOAPResponse is
generated on the SOAPMonitor. Looks like in case of message style service
there are no capabilities to generate SOAPFault which is actually a MUST
element by w3c in case of a  exception.

These are my observations but if someone has a working example which is
MessageStyle based and which propgates exception back to the client using
the SOAPFault or AxisFault it will really help me since I am stuck with
    
this
  
grave issue.

Thanx in advance.

dumdum420

-----Original Message-----
From: Davanum Srinivas [mailto:[EMAIL PROTECTED]]
Sent: Monday, July 14, 2003 7:42 AM
To: [EMAIL PROTECTED]
Subject: Re: Message Style Service and Exception Handling


Try this...

   AxisFault af = AxisFault.makeFault(ex);
   // Do whatever you want with AxisFault
   ....
   throw af;

-- dims

--- Bhanu Pabreja <[EMAIL PROTECTED]> wrote:
    
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.


      
=====
Davanum Srinivas - http://webservices.apache.org/~dims/

__________________________________
Do you Yahoo!?
SBC Yahoo! DSL - Now only $29.95 per month!
http://sbc.yahoo.com


    


=====
Davanum Srinivas - http://webservices.apache.org/~dims/

__________________________________
Do you Yahoo!?
SBC Yahoo! DSL - Now only $29.95 per month!
http://sbc.yahoo.com




  

Reply via email to