But I also get some trouble to use Fault class.
I would appreciate if you would comment the following code snippet.

                        
Envelope respEnv = new Envelope();
Body respBody = new Body();
Vector bodyVector = new Vector();
bodyVector.addElement(jbdb.getDoc().getDocumentElement());
respBody.setBodyEntries(bodyVector);
respEnv.setBody(respBody);
org.apache.soap.util.xml.XMLJavaMappingRegistry xjmr = new
org.apache.soap.util.xml.XMLJavaMappingRegistry();
StringWriter sw = new StringWriter();
respEnv.marshall(sw, xjmr);

Thanks - Jakob


-----Oprindelig meddelelse-----
Fra: Scott Nichol [mailto:[EMAIL PROTECTED] 
Sendt: 1. december 2003 19:57
Til: [EMAIL PROTECTED]
Emne: Re: SOAPException


The Fault would not be transmitted correctly: the HTTP status would be 200
instead of 500.  Some SOAP clients may still handle this as a SOAP fault,
but it is not conformant with SOAP 1.1.

Scott Nichol

Do not send e-mail directly to this e-mail address,
because it is filtered to accept only mail from
specific mail lists.
----- Original Message ----- 
From: "Hans Jakob Skovenborg" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Monday, December 01, 2003 1:54 PM
Subject: SV: SOAPException


> Hi Scott
> It seems to be quite complicated!!
> Could I use the Fault class instead, to return a Fault message in the
> soap-body. And if I can, then how?
> Thanks - Jakob
> 
> 
> -----Oprindelig meddelelse-----
> Fra: Scott Nichol [mailto:[EMAIL PROTECTED]
> Sendt: 1. december 2003 18:26
> Til: [EMAIL PROTECTED]
> Emne: Re: SOAPException
> 
> 
> Unfortunately, the current code does not allow you to set those
> things. They are handled in the Fault class instead of SOAPException.  
> You may be able to write a Fault handler that would do what you 
> desire.  The DOMFaultListener is one such handler that comes with 
> Apache SOAP.  You would have to do some trick, such as
> 
> 1. Implement an addFaultInfo(String id, String detail, String actor)
> class method in your handler that would put the detail and actor info 
> in a Hashtable with id as the key.  You would call this from your 
> service.
> 
> 2. Embed the id in the message of your SOAPException.
> 
> 3. Parse out the id from the message in the fault() method of your
> handler, look up the info in your Hashtable, change values in the 
> Fault to what you desire, then remove the entry from your Hashtable.
> 
> This is not pretty, but I think it would work if you really need this
> info in your Faults.
> 
> Scott Nichol
> 
> Do not send e-mail directly to this e-mail address,
> because it is filtered to accept only mail from
> specific mail lists.
> ----- Original Message -----
> From: "Hans Jakob Skovenborg" <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> Sent: Monday, December 01, 2003 10:47 AM
> Subject: SOAPException
> 
> 
> > Hi Everybody
> > How do I throw an SOAPException containing actor and/or details 
> > Regards Jakob
> > 
> 

Reply via email to