Package org.frankframework.soap
Class SoapWrapperPipe
java.lang.Object
org.frankframework.core.TransactionAttributes
org.frankframework.pipes.AbstractPipe
org.frankframework.pipes.FixedForwardPipe
org.frankframework.soap.SoapWrapperPipe
- All Implemented Interfaces:
FrankElement,HasApplicationContext,HasName,HasTransactionAttribute,IConfigurable,IForwardTarget,IPipe,IScopeProvider,IWithParameters,IWrapperPipe,NameAware,EventThrowing,org.springframework.beans.factory.Aware,org.springframework.context.ApplicationContextAware,org.springframework.context.Lifecycle
- Direct Known Subclasses:
ApiSoapWrapperPipe,BisWrapperPipe,EsbSoapWrapperPipe
Pipe to wrap or unwrap a message from/into a SOAP Envelope.
- Author:
- Peter Leeuwenburgh
- Parameters
- Any parameters defined on the pipe will be applied to the created transformer.
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.frankframework.core.IWrapperPipe
IWrapperPipe.Direction -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final Stringprotected static final Stringprotected static final SoapVersionFields inherited from class org.frankframework.pipes.AbstractPipe
parameterNamesMustBeUniqueFields inherited from class org.frankframework.core.TransactionAttributes
logFields inherited from interface org.frankframework.core.IPipe
LONG_DURATION_MONITORING_EVENT, MESSAGE_SIZE_MONITORING_EVENT, PIPE_EXCEPTION_MONITORING_EVENT -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidChecks for correct configuration of forward.doPipe(Message message, PipeLineSession session) This is where the action takes place.voidsetAllowPlainXml(boolean allowPlainXml) For direction=unwraponly: if true, allow unwrapped xml toovoidvoidsetEncodingStyle(String string) The encodingStyle to be set in the soap headervoidsetIgnoreSoapFault(boolean b) (only used when direction=unwrap) Iffalseand the soap body contains a soap fault, a PipeRunException is thrownvoidsetOmitXmlDeclaration(boolean b) For direction=wraponly: When false, adds an XML declaration to the output message.voidsetOutputNamespace(String string) (only used when direction=wrap) If not empty, this namespace is added to the root element in the soap bodyvoidsetRemoveOutputNamespaces(boolean b) (only used when direction=unwrap) Iftrue, namespaces (and prefixes) in the content of the soap body are removedvoidsetRemoveUnusedOutputNamespaces(boolean b) (only used when direction=unwrapandremoveoutputnamespaces=false) Iftrue, unused namespaces in the content of the soap body are removedvoidIf not empty, the root element in the soap body is changed to this valuevoidsetServiceNamespace(String string) The default for the namespace of the message sent.voidsetSoapBodyStyleSheet(String string) (only used when direction=wrap) Stylesheet to apply to the input message.voidsetSoapHeaderSessionKey(String string) Key of session variable to store soap headervoidsetSoapHeaderStyleSheet(String string) (only used when direction=wrap) Stylesheet to create the content of the soap header.voidsetSoapNamespace(String soapNamespace) (only used when direction=wrap) Namespace of the soap envelopevoidsetSoapNamespaceSessionKey(String string) Key of session variable to store auto-detected soapNamespacevoidsetSoapVersion(SoapVersion value) Soap version to usevoidsetWssAuthAlias(String string) alias used to obtain credentials for authentication to WebServiceSecurityvoidsetWssPassword(String string) Default password for WebServiceSecurityvoidsetWssPasswordDigest(boolean b) If true, the password is sent digested; Otherwise it is sent in clear textvoidsetWssUserName(String string) Default username for WebServiceSecurityvoidstart()Perform necessary action to start the pipe.voidstop()Perform necessary actions to stop thePipe.
For instance, closing JMS connections, DBMS connections etc.protected MessageunwrapMessage(Message message, PipeLineSession session) protected MessagewrapMessage(Message message, String soapHeader, PipeLineSession session) Methods inherited from class org.frankframework.pipes.FixedForwardPipe
getParameterValue, setIfParam, setIfValue, setOnlyIfSessionKey, setOnlyIfValue, setSkipOnEmptyInput, setUnlessSessionKey, setUnlessValue, skipPipeMethods inherited from class org.frankframework.pipes.AbstractPipe
addForward, addParameter, consumesSessionVariable, createBean, findForward, getAdapter, getEventSourceName, getForwards, getParameterList, hasRegisteredForward, isRunning, registerEvent, setApplicationContext, setChompCharSize, setDurationThreshold, setElementToMove, setElementToMoveChain, setElementToMoveSessionKey, setEmptyInputReplacement, setGetInputFromFixedValue, setGetInputFromSessionKey, setHideRegex, setLocker, setLogIntermediaryResults, setMaxThreads, setName, setPreserveInput, setRemoveCompactMsgNamespaces, setRestoreMovedElements, setSecLogSessionKeys, setSizeStatistics, setStoreResultInSessionKey, setWriteToSecLog, sizeStatisticsEnabled, throwEventMethods inherited from class org.frankframework.core.TransactionAttributes
configureTransactionAttributes, isTransacted, isTransacted, setTransacted, setTransactionTimeoutMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.springframework.context.ApplicationContextAware
setApplicationContextMethods inherited from interface org.frankframework.core.FrankElement
addConfigWarningMethods inherited from interface org.frankframework.core.HasApplicationContext
getApplicationContext, getConfigurationClassLoaderMethods inherited from interface org.frankframework.core.HasTransactionAttribute
getTransactionAttribute, getTransactionTimeout, getTxDef, setTransactionAttributeMethods inherited from interface org.frankframework.core.IForwardTarget
getNameMethods inherited from interface org.frankframework.core.IPipe
addForward, consumesSessionVariable, getChompCharSize, getDurationThreshold, getElementToMove, getElementToMoveChain, getElementToMoveSessionKey, getEmptyInputReplacement, getForwards, getGetInputFromFixedValue, getGetInputFromSessionKey, getHideRegex, getLocker, getLogIntermediaryResults, getMaxThreads, getSecLogSessionKeys, getStoreResultInSessionKey, isPreserveInput, isRemoveCompactMsgNamespaces, isRestoreMovedElements, isWriteToSecLog, registerEvent, setChompCharSize, setDurationThreshold, setElementToMove, setElementToMoveChain, setElementToMoveSessionKey, setEmptyInputReplacement, setGetInputFromFixedValue, setGetInputFromSessionKey, setHideRegex, setLocker, setLogIntermediaryResults, setPipeLine, setPreserveInput, setRemoveCompactMsgNamespaces, setRestoreMovedElements, setSecLogSessionKeys, setStoreResultInSessionKey, setWriteToSecLog, sizeStatisticsEnabled, throwEvent, throwEventMethods inherited from interface org.frankframework.core.IWrapperPipe
setNameMethods inherited from interface org.springframework.context.Lifecycle
isRunning
-
Field Details
-
DEFAULT_SOAP_HEADER_SESSION_KEY
- See Also:
-
DEFAULT_SOAP_NAMESPACE_SESSION_KEY
- See Also:
-
DEFAULT_SOAP_VERSION_FOR_WRAPPING
-
-
Constructor Details
-
SoapWrapperPipe
public SoapWrapperPipe()
-
-
Method Details
-
configure
Description copied from class:FixedForwardPipeChecks for correct configuration of forward.- Specified by:
configurein interfaceIConfigurable- Overrides:
configurein classFixedForwardPipe- Throws:
ConfigurationException- in case it was not able to configure the component.
-
start
public void start()Description copied from interface:IPipePerform necessary action to start the pipe. This method is executed after theIConfigurable.configure()method, for each start and stop command of the adapter.- Specified by:
startin interfaceIPipe- Specified by:
startin interfaceorg.springframework.context.Lifecycle- Overrides:
startin classAbstractPipe
-
stop
public void stop()Description copied from interface:IPipePerform necessary actions to stop thePipe.
For instance, closing JMS connections, DBMS connections etc.- Specified by:
stopin interfaceIPipe- Specified by:
stopin interfaceorg.springframework.context.Lifecycle- Overrides:
stopin classAbstractPipe
-
doPipe
Description copied from interface:IPipeThis is where the action takes place. Pipes may only throw a PipeRunException, to be handled by the caller of this object. Implementations must either consume the message, or pass it on to the next Pipe in the PipeRunResult.- Specified by:
doPipein interfaceIPipe- Throws:
PipeRunException
-
unwrapMessage
protected Message unwrapMessage(Message message, PipeLineSession session) throws IOException, TransformerException, SAXException -
wrapMessage
protected Message wrapMessage(Message message, String soapHeader, PipeLineSession session) throws IOException - Throws:
IOException
-
setDirection
-
setSoapVersion
Soap version to use- Default value
- auto
-
setSoapNamespace
(only used when direction=wrap) Namespace of the soap envelope- Default value
- auto determined from soapVersion
-
setSoapNamespaceSessionKey
Key of session variable to store auto-detected soapNamespace- Default value
- If configured as Pipeline Input Wrapper or PipeLine Output Wrapper: "soapNamespace"
-
setSoapHeaderSessionKey
Key of session variable to store soap header- Default value
- If configured as Pipeline Input Wrapper and direction=
unwrap: "soapHeader"
-
setEncodingStyle
The encodingStyle to be set in the soap header -
setServiceNamespace
The default for the namespace of the message sent. Identifies the service to be called. May be overriden by an actual namespace setting in the message to be sent -
setSoapHeaderStyleSheet
(only used when direction=wrap) Stylesheet to create the content of the soap header. As input for this stylesheet a dummy xml string is used. Note: outputType=xmland xsltVersion= -
setSoapBodyStyleSheet
(only used when direction=wrap) Stylesheet to apply to the input message. Note: outputType=xmland xsltVersion=2 -
setRemoveOutputNamespaces
public void setRemoveOutputNamespaces(boolean b) (only used when direction=unwrap) Iftrue, namespaces (and prefixes) in the content of the soap body are removed- Default value
- false
-
setRemoveUnusedOutputNamespaces
public void setRemoveUnusedOutputNamespaces(boolean b) (only used when direction=unwrapandremoveoutputnamespaces=false) Iftrue, unused namespaces in the content of the soap body are removed- Default value
- true
-
setOutputNamespace
(only used when direction=wrap) If not empty, this namespace is added to the root element in the soap body -
setRoot
If not empty, the root element in the soap body is changed to this value -
setIgnoreSoapFault
public void setIgnoreSoapFault(boolean b) (only used when direction=unwrap) Iffalseand the soap body contains a soap fault, a PipeRunException is thrown- Default value
- false
-
setAllowPlainXml
public void setAllowPlainXml(boolean allowPlainXml) For direction=unwraponly: if true, allow unwrapped xml too- Default value
- false
-
setWssAuthAlias
alias used to obtain credentials for authentication to WebServiceSecurity -
setWssUserName
Default username for WebServiceSecurity- Default value
-
setWssPassword
Default password for WebServiceSecurity- Default value
-
setWssPasswordDigest
public void setWssPasswordDigest(boolean b) If true, the password is sent digested; Otherwise it is sent in clear text- Default value
- true
-
setOmitXmlDeclaration
public void setOmitXmlDeclaration(boolean b) For direction=wraponly: When false, adds an XML declaration to the output message.- Default value
- true
-