Spring Web Services Framework

org.springframework.ws.soap.saaj
Class SaajSoapMessageFactory

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

public class SaajSoapMessageFactory
extends Object
implements SoapMessageFactory, 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(javax.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
See Also:
SaajSoapMessage

Constructor Summary
SaajSoapMessageFactory()
          Default, empty constructor.
SaajSoapMessageFactory(MessageFactory messageFactory)
          Constructor that takes a message factory as an argument.
 
Method Summary
 void afterPropertiesSet()
           
 SaajSoapMessage createWebServiceMessage()
          Creates a new, empty SoapMessage.
 SaajSoapMessage createWebServiceMessage(InputStream inputStream)
          Reads a SoapMessage from the given input stream.
 MessageFactory getMessageFactory()
          Returns the SAAJ MessageFactory used.
protected  void postProcess(SOAPMessage soapMessage)
          Template method that allows for post-processing of the given SOAPMessage.
 void setLangAttributeOnSoap11FaultString(boolean langAttributeOnSoap11FaultString)
          Defines whether a xml:lang attribute should be set on SOAP 1.1 <faultstring> elements.
 void setMessageFactory(MessageFactory messageFactory)
          Sets the SAAJ MessageFactory.
 void setMessageProperties(Map<String,?> messageProperties)
          Sets the SAAJ message properties.
 void setSoapVersion(SoapVersion version)
          Sets the SOAP Version used by this factory.
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

SaajSoapMessageFactory

public SaajSoapMessageFactory()
Default, empty constructor.


SaajSoapMessageFactory

public SaajSoapMessageFactory(MessageFactory messageFactory)
Constructor that takes a message factory as an argument.

Method Detail

getMessageFactory

public MessageFactory getMessageFactory()
Returns the SAAJ MessageFactory used.


setMessageFactory

public void setMessageFactory(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:
WS-I Basic Profile 1.1

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:
SoapVersion.SOAP_11, SoapVersion.SOAP_12

afterPropertiesSet

public void afterPropertiesSet()
Specified by:
afterPropertiesSet in interface 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(SOAPMessage soapMessage)
                    throws 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:
SOAPException
See Also:
setMessageProperties(java.util.Map)

toString

public String toString()
Overrides:
toString in class Object

Spring Web Services Framework

Copyright © 2005-2013 The Spring Web Services Framework. All Rights Reserved.