This class marshals and unmarshals method invocations.
Here is the high-level view of marshalling: SIGNATURE_ARGS ---> Type Enabled Object -----> Element Enabled Object ---> MESSAGE (XML)
The Signature objects are the objects from the SEI method signature. They may be values or holders of values. The values are "type enabled objects" (i.e. String), which means that they cannot be marshalled or unmarshalled.
@see org.apache.axis2.jaxws.util.XMLRootElementUtils for details on Type Enabled and ElementEnabled objects.
The values are enhanced (if necessary) into Element Enabled Objects. These can be marshalled or unmarshalled using JAXB.
@see org.apache.axis2.jaxws.marshaller.impl.alt.PDElement
The element enabled objects are put onto the message.
The high-level view of unmarshalling is the reverse. SIGNATURE_ARGS <---- Type Enabled Object <----- Element Enabled Object <---- MESSAGE (XML)
See the specific MethodMarshaller implementations to see how doc/lit wrapped, doc/lit bare and rpc/lit affect the process of going from SIGNATURE_ARGS to the element enabled objects.
If there are any problems, a WebServiceException is thrown. (Each of the methods is guranteed to catch any unchecked exception and wrap it in a WebServiceException).