DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=18050>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=18050

SOAPBody and SOAPHeader should enforce child element types

           Summary: SOAPBody and SOAPHeader should enforce child element
                    types
           Product: Axis
           Version: current (nightly)
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: Normal
          Priority: Other
         Component: Basic Architecture
        AssignedTo: [EMAIL PROTECTED]
        ReportedBy: [EMAIL PROTECTED]


The SAAJ API states that the children of SOAPBody and SOAPHeader have to be 
SOAPBodyElement and SOAPHeaderElement respectively, but this goes completely 
unenforced in the Axis implementation.  

If it is unenforced, one conceivable scenario (i.e. it happened to me) is that a 
developer not having read the API carefully enough manually constructs a SOAP message 
via the MessageFactory.  The SOAP message is created uneventfully, but when we try to 
do anything useful with it (invoking a call), Axis throws mysterious 
ClassCastExceptions, because parts of the code rightfully assume that child elements 
are of SOAPBodyElement/SOAPHeaderElement and cast accordingly.

A proposed patch follows.

Reply via email to