A WSIFMessage is a an interface representing a WSDL Message.
In WSDL, a Message describes the abstract type of the input or output to an operation. This is the corresponding WSIF class which represents in memory the actual input or output of an operation.
A WSIFMessage is a container for a set of named parts. The WSIFMessage interface separates the actual representation of the data from the abstract type defined by WSDL.
WSIFMessage implementations are free to represent the actual part data in any way that is convenient to them. This could be a simple HashMap as in the WSIFDefaultMessage implementation, or it could be something more complex, such as a stream or tree representation.
In addition to the containing parts, a WSIFMessage also has a message name. This can be used to distinguish between messages.
WSIFMessages are cloneable and serializable. If the parts set are not cloneable, the implementation should try to clone them using serialization. If the parts are not serializable either, then a CloneNotSupportedException will be thrown if cloning is attempted.
A WSIFMessage should be not created by directly instantiating a WSIFMessage, but should be created by calling one of the {@link WSIFOperation#createInputMessage()}, {@link WSIFOperation#createOutputMessage()}, or {@link WSIFOperation#createFaultMessage()} methods.
An instance of a WSIFMessage should only be used for the purpose it was created for, for example, a WSIFMessage created by the {@link WSIFOperation#createInputMessage(String)} should not be used as an output message. A WSIFMessage should only be used once, it should not be reused in any subsequent WSIFOperation requests.
@author Paul Fremantle
@author Alekander Slominski
@author Matthew J. Duftler
@author Sanjiva Weerawarana
@author Nirmal Mukhi
@author Owen Burroughs
@author Ant Elder
@author Jeremy Hughes
@author Mark Whitlock