StAX based builder that produces a SOAP infoset model. It builds SOAP specific objects such as {@link SOAPEnvelope}, {@link SOAPHeader}, {@link org.apache.axiom.soap.SOAPHeaderBlock} and {@link SOAPBody}.
This builder offers two different ways to handle SOAP versions:
- Either the SOAP version is specified when the builder is constructed. If the specified version doesn't match the envelope namespace of the actual message, an exception is triggered. This approach should be used when the SOAP version is known from information other than the content of the message. For example, in the HTTP case it is possible to identify the SOAP version based on the Content-Type header.
- If no SOAP version is specified, the builder will automatically detect it from the envelope namespace. It will then build the object model using the {@link SOAPFactory} implementation corresponding to that SOAP version.
In both cases, the {@link SOAPFactory} is retrieved either from the {@link OMMetaFactory}specified when the builder is constructed, or if none is specified, from the default meta factory returned by {@link OMAbstractFactory#getMetaFactory()}.