I'm talking about SOAP 1.1.
And no. The detail element may not have more than one child element.
Faults do not have parameters. They must follow the rules of
document/literal. Therefore the detail element may contain only one
child element. That child element may have any number of attributes
and/or child elements.
So this is correct:
<soap:Body xmlns:ns="urn:myFault">
<soap:Fault>
<faultcode>soap:Client</faultcode>
<faultstring>Something went wrong</faultstring>
<detail>
<ns:myFault>
<ns:reasonCode>123<ns:reasonCode>
<ns:moreInfo>blah blah<ns:moreInfo>
</ns:myFault>
</detail>
</soap:Fault>
</soapBody>
But this is not:
<soap:Body xmlns:ns="urn:myFault">
<soap:Fault>
<faultcode>soap:Client</faultcode>
<faultstring>Something went wrong</faultstring>
<detail>
<ns:reasonCode>123<ns:reasonCode>
<ns:moreInfo>blah blah<ns:moreInfo>
</detail>
</soap:Fault>
</soapBody>
On Sat, 19 Mar 2005 10:02:51 +0600, Eran Chinthaka
<[EMAIL PROTECTED]> wrote:
> Ok. Is this what SOAPFault detail should be. (Remember current impl is still
> SOAP 1.1 compliant only, not SOAP 1.2).
>
> SOAPFault MAY have only on detail element. That detail element can have any
> number of children.
>
> Is that ok ?
>
> If that's the case, I just will have to provide a method to add detail
> entries to detail element and change if (detailElement != null) block to
> return detail element.
>
>
> -- Eran Chinthaka
>
> > -----Original Message-----
> > From: Anne Thomas Manes [mailto:[EMAIL PROTECTED]
> > Sent: Saturday, March 19, 2005 2:02 AM
> > To: [email protected]
> > Subject: Re: [Axis2]Doubt on Detail Element in SOAPFault
> >
> > The <detail> element should have one child element.(That element may
> > have as many attributes and child elements as you like.) When you
> > specify the fault message, it should have at most one part, and it
> > should reference an element defined in your types section. Faults must
> > be encoded using document/literal.
> >
> > - Anne
> >
> >
> > On Thu, 17 Mar 2005 15:47:47 +0530, Shahi, Ashutosh
> > <[EMAIL PROTECTED]> wrote:
> > >
> > >
> > >
> > >
> > >
> > > Hi Guys,
> > >
> > > Looking at the SOAPFaultImpl class of the OM implementation
> > > gives me the feeling that the fault can have only one detail entry kind
> > of
> > > information. In the setDetailInformation method I see that each time we
> > > create a new detailElement and add the passed detail node as child to
> > it.
> > > Also getDetailInformation assumes that detailElement has only one child
> > as I
> > > see it returning a single node instead of an iterator.
> > >
> > >
> > >
> > > The general structure in Axis 1.2 is that we have a Detail Node which
> > can
> > > have > 1 detail entry element. The SOAP spec says the same. Is it that
> > we
> > > are restricting the user to create only one detail entry element in OM
> > or am
> > > I missing something?
> > >
> > >
> > >
> > > Ashutosh
> > >
> > >
>
>