Class SaajSoapMessageFactory

java.lang.Object
org.springframework.ws.soap.saaj.SaajSoapMessageFactory
All Implemented Interfaces:
org.springframework.beans.factory.InitializingBean, SoapMessageFactory, WebServiceMessageFactory

public class SaajSoapMessageFactory extends Object implements SoapMessageFactory, org.springframework.beans.factory.InitializingBean
SAAJ-specific implementation of the WebServiceMessageFactory. Wraps a SAAJ MessageFactory. This factory will use SAAJ 1.3 when found, or fall back to SAAJ 1.2 or even 1.1.

A SAAJ MessageFactory can be injected to the constructor, or by the setMessageFactory(jakarta.xml.soap.MessageFactory) property. When a SAAJ message factory is injected, the setSoapVersion(org.springframework.ws.soap.SoapVersion) property is ignored.

Since:
1.0.0
Author:
Arjen Poutsma, Greg Turnquist
See Also:
  • Constructor Details

    • SaajSoapMessageFactory

      public SaajSoapMessageFactory()
      Default, empty constructor.
    • SaajSoapMessageFactory

      public SaajSoapMessageFactory(jakarta.xml.soap.MessageFactory messageFactory)
      Constructor that takes a message factory as an argument.
  • Method Details

    • getMessageFactory

      public jakarta.xml.soap.MessageFactory getMessageFactory()
      Returns the SAAJ MessageFactory used.
    • setMessageFactory

      public void setMessageFactory(jakarta.xml.soap.MessageFactory messageFactory)
      Sets the SAAJ MessageFactory.
    • setMessageProperties

      public void setMessageProperties(Map<String,?> messageProperties)
      Sets the SAAJ message properties. These properties will be set on created messages.
      See Also:
      • SOAPMessage.setProperty(String, Object)
    • setLangAttributeOnSoap11FaultString

      public void setLangAttributeOnSoap11FaultString(boolean langAttributeOnSoap11FaultString)
      Defines whether a xml:lang attribute should be set on SOAP 1.1 <faultstring> elements.

      The default is true, to comply with WS-I, but this flag can be set to false to the older W3C SOAP 1.1 specification.

      See Also:
    • setSoapVersion

      public void setSoapVersion(SoapVersion version)
      Description copied from interface: SoapMessageFactory
      Sets the SOAP Version used by this factory.
      Specified by:
      setSoapVersion in interface SoapMessageFactory
      Parameters:
      version - the version constant
      See Also:
    • afterPropertiesSet

      public void afterPropertiesSet()
      Specified by:
      afterPropertiesSet in interface org.springframework.beans.factory.InitializingBean
    • createWebServiceMessage

      public SaajSoapMessage createWebServiceMessage()
      Description copied from interface: SoapMessageFactory
      Creates a new, empty SoapMessage.
      Specified by:
      createWebServiceMessage in interface SoapMessageFactory
      Specified by:
      createWebServiceMessage in interface WebServiceMessageFactory
      Returns:
      the empty message
    • createWebServiceMessage

      public SaajSoapMessage createWebServiceMessage(InputStream inputStream) throws IOException
      Description copied from interface: SoapMessageFactory
      Reads a SoapMessage from the given input stream.

      If the given stream is an instance of TransportInputStream, the headers will be read from the request.

      Specified by:
      createWebServiceMessage in interface SoapMessageFactory
      Specified by:
      createWebServiceMessage in interface WebServiceMessageFactory
      Parameters:
      inputStream - the input stream to read the message from
      Returns:
      the created message
      Throws:
      IOException - if an I/O exception occurs
    • postProcess

      protected void postProcess(jakarta.xml.soap.SOAPMessage soapMessage) throws jakarta.xml.soap.SOAPException
      Template method that allows for post-processing of the given SOAPMessage.

      Default implementation sets message properties, if any.

      Parameters:
      soapMessage - the message to post process
      Throws:
      jakarta.xml.soap.SOAPException
      See Also:
    • toString

      public String toString()
      Overrides:
      toString in class Object