The SOAP processing rules in v1.2 are pretty clear that all headers *and body* that are targeted for this Node must be understood before *any* processing can begin (we'll leave out the notion of 'undo' for the moment). In a typical Axis deployment where something like the URL mapper is used, Axis "assumes" that if there's a mapping from the URL to a service that it "understands" the Body. This technically isn't true. If the URL has .../services/StockQuote but the Body has a QName of .../PurchaseOrder then there's an error but the error will not be noticed until *after* processing has begun (and after the Handlers have been invoked) which violates the SOAP rules. It seems like Axis needs to have a QName associated with each service so that the AxisServer can verify that the QName of the Body is "understood" before _any_ processing begins.
-Dug