Class FxfWrapperPipe
- All Implemented Interfaces:
DestinationValidator
,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
FxF wrapper to be used with FxF3. When receiving files (direction=unwrap)
the message handed to the pipeline is the local filename extracted from an
ESB SOAP message. When sending files (direction=wrap) input should be a local
filename which will be wrapped into an ESB SOAP message. Please note: When
writing files which need to be send through FxF they should be written to
${fxf.dir}/NNX00000/out. The property ${fxf.dir} will automatically be
available on the DTAP environment (define it in StageSpecifics_LOC.properties
only). Replace NNX00000 with the specific flowId and generate a unique
filename (files will automatically be cleaned after 30 days or any other
value specified by ${fxf.retention}).
- Author:
- Jaco de Groot
-
Nested Class Summary
Nested classes/interfaces inherited from class org.frankframework.extensions.esb.EsbSoapWrapperPipe
EsbSoapWrapperPipe.Mode
Nested classes/interfaces inherited from interface org.frankframework.core.IWrapperPipe
IWrapperPipe.Direction
-
Field Summary
Fields inherited from class org.frankframework.extensions.esb.EsbSoapWrapperPipe
APPLICATIONFUNCTION_PARAMETER_NAME, APPLICATIONNAME_PARAMETER_NAME, BUSINESSDOMAIN_PARAMETER_NAME, CMHVERSION_PARAMETER_NAME, CONVERSATIONID_PARAMETER_NAME, CORRELATIONID_PARAMETER_NAME, CPAID_PARAMETER_NAME, DESTINATION_PARAMETER_NAME, EXTERNALREFTOMESSAGEID_PARAMETER_NAME, FIXRESULTNAMESPACE_PARAMETER_NAME, FROMID_PARAMETER_NAME, MESSAGEID_PARAMETER_NAME, MESSAGINGLAYER_PARAMETER_NAME, MODE_PARAMETER_NAME, OPERATIONNAME_PARAMETER_NAME, OPERATIONVERSION_PARAMETER_NAME, OUTPUTNAMESPACEBASEURI, PARADIGM_PARAMETER_NAME, PHYSICALDESTINATION_PARAMETER_NAME, SERVICECONTEXT_PARAMETER_NAME, SERVICECONTEXTVERSION_PARAMETER_NAME, SERVICELAYER_PARAMETER_NAME, SERVICENAME_PARAMETER_NAME, TIMESTAMP_PARAMETER_NAME, TRANSACTIONID_PARAMETER_NAME
Fields inherited from class org.frankframework.soap.SoapWrapperPipe
DEFAULT_SOAP_HEADER_SESSION_KEY, DEFAULT_SOAP_NAMESPACE_SESSION_KEY, DEFAULT_SOAP_VERSION_FOR_WRAPPING
Fields inherited from class org.frankframework.pipes.AbstractPipe
parameterNamesMustBeUnique
Fields inherited from class org.frankframework.core.TransactionAttributes
log
Fields 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 TypeMethodDescriptionvoid
Checks for correct configuration of forward.doPipe
(Message message, PipeLineSession session) This is where the action takes place.void
setClientFilenameSessionKey
(String clientFilenameSessionKey) void
setCreateFolder
(boolean createFolder) when set totrue
, the folder corresponding fxf.dir property will be created in case it does not existvoid
The flowId of the file transfer when direction=wrap.void
setFlowIdSessionKey
(String flowIdSessionKey) void
setFlowOutFolder
(String flowOutFolder) specifies the output folder if transformFilename=false
and direction=wrapvoid
setFxfDirSessionKey
(String fxfDirSessionKey) void
setFxfFileSessionKey
(String fxfFileSessionKey) void
setFxfVersion
(String fxfVersion) either 3.1 or 3.2void
setSoapBodySessionKey
(String soapBodySessionKey) void
setTransferFlowIdSessionKey
(String transferFlowIdSessionKey) void
setTransformFilename
(boolean transformFilename) whentrue
and direction=wrap, the input which is expected to be a local filename will be transformed to the filename as known on the IUF State machine.void
setUseServerFilename
(boolean useServerFilename) when set totrue
, ServerFileName from the input will be used as the filenamevoid
start()
Perform necessary action to start the pipe.void
stop()
Perform necessary actions to stop thePipe
.
For instance, closing JMS connections, DBMS connections etc.Methods inherited from class org.frankframework.extensions.esb.EsbSoapWrapperPipe
getApplicationFunction, getApplicationName, getBusinessDomain, getDestination, getMessagingLayer, getOperationName, getOperationVersion, getOutputNamespaceBaseUri, getParadigm, getServiceContext, getServiceContextVersion, getServiceLayer, getServiceName, isEsbDestinationWithoutServiceContext, isEsbNamespaceWithoutServiceContext, isValidNamespace, retrievePhysicalDestinationFromListener, retrievePhysicalDestinationFromSender, setAddOutputNamespace, setCmhVersion, setEsbAlias, setFixResultNamespace, setMode, setP2pAlias, setRetrievePhysicalDestination, setUseFixedValues, validateListenerDestinations, validateSenderDestination
Methods inherited from class org.frankframework.soap.SoapWrapperPipe
setAllowPlainXml, setDirection, setEncodingStyle, setIgnoreSoapFault, setOmitXmlDeclaration, setOutputNamespace, setRemoveOutputNamespaces, setRemoveUnusedOutputNamespaces, setRoot, setServiceNamespace, setSoapBodyStyleSheet, setSoapHeaderSessionKey, setSoapHeaderStyleSheet, setSoapNamespace, setSoapNamespaceSessionKey, setSoapVersion, setWssAuthAlias, setWssPassword, setWssPasswordDigest, setWssUserName, unwrapMessage, wrapMessage
Methods inherited from class org.frankframework.pipes.FixedForwardPipe
getParameterValue, setIfParam, setIfValue, setOnlyIfSessionKey, setOnlyIfValue, setSkipOnEmptyInput, setUnlessSessionKey, setUnlessValue, skipPipe
Methods 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, throwEvent
Methods inherited from class org.frankframework.core.TransactionAttributes
configureTransactionAttributes, isTransacted, isTransacted, setTransacted, setTransactionTimeout
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.springframework.context.ApplicationContextAware
setApplicationContext
Methods inherited from interface org.frankframework.core.HasApplicationContext
getApplicationContext, getConfigurationClassLoader
Methods inherited from interface org.frankframework.core.HasTransactionAttribute
getTransactionAttribute, getTransactionTimeout, getTxDef, setTransactionAttribute
Methods inherited from interface org.frankframework.core.IForwardTarget
getName
Methods 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, throwEvent
Methods inherited from interface org.frankframework.core.IWrapperPipe
setName
Methods inherited from interface org.springframework.context.Lifecycle
isRunning
-
Constructor Details
-
FxfWrapperPipe
public FxfWrapperPipe()
-
-
Method Details
-
configure
Description copied from class:FixedForwardPipe
Checks for correct configuration of forward.- Specified by:
configure
in interfaceIConfigurable
- Overrides:
configure
in classEsbSoapWrapperPipe
- Throws:
ConfigurationException
- in case it was not able to configure the component.
-
start
public void start()Description copied from interface:IPipe
Perform 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:
start
in interfaceIPipe
- Specified by:
start
in interfaceorg.springframework.context.Lifecycle
- Overrides:
start
in classSoapWrapperPipe
-
stop
public void stop()Description copied from interface:IPipe
Perform necessary actions to stop thePipe
.
For instance, closing JMS connections, DBMS connections etc.- Specified by:
stop
in interfaceIPipe
- Specified by:
stop
in interfaceorg.springframework.context.Lifecycle
- Overrides:
stop
in classSoapWrapperPipe
-
doPipe
Description copied from interface:IPipe
This 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. If the result of the Pipe does not depend on the input, like for theFixedResultPipe
, the Pipe can schedule the input to be closed at session exit, by callingMessage.closeOnCloseOf(PipeLineSession)
This allows the previous Pipe to release any resources (e.g. connections) that it might have kept open until the message was consumed. Doing so avoids connections leaking from pools, while it enables efficient streaming processing of data while it is being read from a stream.- Specified by:
doPipe
in interfaceIPipe
- Overrides:
doPipe
in classSoapWrapperPipe
- Throws:
PipeRunException
-
setFlowId
The flowId of the file transfer when direction=wrap. When direction=unwrap the flowId will be extracted from the incoming message and added as a sessionKey to the pipeline. -
setFlowOutFolder
specifies the output folder if transformFilename=false
and direction=wrap -
setTransformFilename
public void setTransformFilename(boolean transformFilename) whentrue
and direction=wrap, the input which is expected to be a local filename will be transformed to the filename as known on the IUF State machine.- Default value
- true
-
setSoapBodySessionKey
-
setTransferFlowIdSessionKey
-
setClientFilenameSessionKey
-
setFlowIdSessionKey
-
setFxfDirSessionKey
-
setFxfFileSessionKey
-
setFxfVersion
either 3.1 or 3.2- Default value
- 3.1
-
setCreateFolder
public void setCreateFolder(boolean createFolder) when set totrue
, the folder corresponding fxf.dir property will be created in case it does not exist- Default value
- false
-
setUseServerFilename
public void setUseServerFilename(boolean useServerFilename) when set totrue
, ServerFileName from the input will be used as the filename- Default value
- false
-