Hi,
I'm trying to generate SOAP11 faults from my  servlet extending 
AxisServlet.
I'm using the following constructor:
AxisFault(QName faultCode, String faultReason, String faultNode, String
 faultRole, org.apache.axiom.om.OMElement faultDetail) 

like this:
AxisFault(theCode, theMessage, theActor, "discarded in SOAPFault 1.1", 
theDetails));

Reading the documentation, I understand that Axis is doing a mapping 
depending on the version of SOAPFault the user wants:
As SOAP1.2 faults are a superset of SOAP1.1 faults, this type holds 
soap1.2 fault information. When a SOAP1.1 fault is created, spurious 
information can be discarded. Mapping 
                                                             SOAP1.2   
SOAP1.1
                                                             node  
faultactor
 reason(0).text       faultstring
 faultcode.value      faultcode
 faultcode.subcode    (discarded)
                                                             detail  
detail
                                                             role  
(discarded)
 
 My client correctly receives the error but the faultactor tag is never 
present:
<?xml version='1.0' encoding='utf-8'?>
<soapenv:Envelope 
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";>
<soapenv:Body>
        <soapenv:Fault>
                <faultcode>soapenv:Client.Header</faultcode>
                <faultstring>Header couldn't be validated against the 
xsd</faultstring>
                <detail>
 <Exception>com.almerys.medline.fsa.shared.ws.exception.ClientException: 
Header couldn't be validated against the xsd&#xd;
                        </Exception>
                </detail>
        </soapenv:Fault>
</soapenv:Body>
</soapenv:Envelope>


Why is the actor always missing? Is there specific code to mimplement?


Thanks in advance

Pierre

Reply via email to