Well, looking at the specs I see that both SOAP 1.1 and SOAP 1.2 allow
multiple child elements for detail and call them as detailentry. Even
WSI-BP says this:

R1002   A RECEIVER MUST accept faults that have any number of elements,
including zero, appearing as children of the detail element. Such
children can be qualified or unqualified.

So, even the second soap message should be correct even according to
WSI-BP I think.

Ashutosh

-----Original Message-----
From: Anne Thomas Manes [mailto:[EMAIL PROTECTED] 
Sent: Saturday, March 19, 2005 10:50 AM
To: [email protected]; [EMAIL PROTECTED]
Subject: Re: [Axis2]Doubt on Detail Element in SOAPFault

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
> > >
> > >
> 
>

Reply via email to