Class BisWrapperPipe
- 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
Example request in case of bis provider:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<bis:MessageHeader xmlns:bis="http://www.ing.com/CSP/XSD/General/Message_2">
<bis:From>
<bis:Id>PolicyConversion_01_ServiceAgents_01</bis:Id>
</bis:From>
<bis:HeaderFields>
<bis:ConversationId>1790257_10000050_04</bis:ConversationId>
<bis:MessageId>1790257</bis:MessageId>
<bis:Timestamp>2011-03-02T10:26:31.464+01:00</bis:Timestamp>
</bis:HeaderFields>
</bis:MessageHeader>
</soap:Header>
<soap:Body>
<pcr:GetRequest xmlns:pcr="http://www.ing.com/nl/pcretail/ts/migrationauditdata_01">
<pcr:PolicyDetails>
<pcr:RVS_PARTY_ID>1790257</pcr:RVS_PARTY_ID>
<pcr:RVS_POLICY_NUMBER>10000050</pcr:RVS_POLICY_NUMBER>
<pcr:RVS_BRANCH_CODE>04</pcr:RVS_BRANCH_CODE>
</pcr:PolicyDetails>
</pcr:GetRequest>
</soap:Body>
</soap:Envelope>
The element MessageHeader in the soap header is mandatory.
Example response in case of bis requester:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<bis:MessageHeader xmlns:bis="http://www.ing.com/CSP/XSD/General/Message_2">
<bis:From>
<bis:Id>IJA_DB4CONV</bis:Id>
</bis:From>
<bis:HeaderFields>
<bis:ConversationId>1790257_10000050_04</bis:ConversationId>
<bis:MessageId>rn09ce_0a3b8d2d--33192359_12e588118c1_-612f</bis:MessageId>
<bis:ExternalRefToMessageId>1790257</bis:ExternalRefToMessageId>
<bis:Timestamp>2011-03-02T10:26:31</bis:Timestamp>
</bis:HeaderFields>
</bis:MessageHeader>
</soap:Header>
<soap:Body>
<GetResponse xmlns="http://www.ing.com/nl/pcretail/ts/migrationcasedata_01">
<CaseData>...</CaseData>
<bis:Result xmlns:bis="http://www.ing.com/CSP/XSD/General/Message_2">
<bis:Status>OK</bis:Status>
</bis:Result>
</GetResponse>
</soap:Body>
</soap:Envelope>
The elements MessageHeader in the soap header and Result in the soap body are mandatory.
Example element Result in case of an error response:
<bis:Result xmlns:bis="http://www.ing.com/CSP/XSD/General/Message_2">
<bis:Status>ERROR</bis:Status>
<bis:ErrorList>
<bis:Error>
<bis:Code>ERR6003</bis:Code>
<bis:Reason>Invalid Request Message</bis:Reason>
<bis:Service>
<bis:Name>migrationauditdata_01</bis:Name>
<bis:Context>1</bis:Context>
<bis:Action>
<bis:Name>SetPolicyDetails_Action</bis:Name>
<bis:Version>1</bis:Version>
</bis:Action>
</bis:Service>
<bis:DetailList>
<bis:Detail>
<bis:Code/>
<bis:Text>Pipe [Validate tibco request] msgId [Test Tool correlation id] got invalid xml according to schema [....</bis:Text>
</bis:Detail>
</bis:DetailList>
</bis:Error>
</bis:ErrorList>
</bis:Result>
If direction=unwrap and one of the following conditions is true a PipeRunException is thrown:
- Result/Status in the response soap body equals 'ERROR'
- faultcode in the response soap fault is not empty
Configuration:
attributes | description | default | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
name | name of the Pipe | |||||||||||||
direction | either wrap or unwrap | wrap | ||||||||||||
inputXPath | (only used when direction=unwrap) xpath expression to extract the message which is returned. The initial message is the content of the soap body. If empty, the content of the soap body is passed (without the root body) | |||||||||||||
inputNamespaceDefs | (only used when direction=unwrap) namespace defintions for xpathExpression. Must be in the form of a comma or space separated list of prefix=namespaceuri -definitions | |||||||||||||
bisMessageHeaderInSoapBody | when true , the bis message header is put in the SOAP body instead of in the SOAP header (first one is the old bis standard) | false | ||||||||||||
bisMessageHeaderSessionKey |
| bisMessageHeader | ||||||||||||
bisResultInPayload | when true , the bis result is put in the payload (as last child in root tag) instead of in the SOAP body as sibling of the payload (last one is the old bis standard) | true | ||||||||||||
bisConversationIdSessionKey | (only used when direction=wrap and the original bis message header from the request doesn't exist) key of session variable to retrieve ConversationId for the bis message header from | bisConversationId | ||||||||||||
bisExternalRefToMessageIdSessionKey | (only used when direction=wrap and the original bis message header from the request doesn't exist) key of session variable to retrieve ExternalRefToMessageId for the bis message header from | bisExternalRefToMessageId | ||||||||||||
bisErrorCodeSessionKey | (only used when direction=wrap) key of session variable to store bis error code in (if an error occurs) | bisErrorCode | ||||||||||||
bisErrorTextSessionKey | (only used when direction=wrap) key of session variable to store bis error text in (if an error occurs). If not specified or no value retrieved, the following error text is derived from the error code:
| bisErrorText | ||||||||||||
bisErrorReasonSessionKey | (only used when direction=wrap and an error occurs) key of session variable to store bis error reason in | bisErrorReason | ||||||||||||
outputRoot | (only used when direction=wrap and an error occurs) name of output root element in the SOAP body. If empty, the input message is used in the response | |||||||||||||
outputNamespace | (only used when direction=wrap and an error occurs) namespace of the output root element in the SOAP body | |||||||||||||
bisServiceName | (only used when direction=wrap) name of the bis service; used in the bis error response | |||||||||||||
bisActionName | (only used when direction=wrap) name of the bis operation; used in the bis error response |
The following attributes are created for the purpose of the migration from IFSA to TIBCO (and will be removed afterwards):
attributes | description | default |
---|---|---|
removeOutputNamespaces | (only used when direction=unwrap) when set true namespaces (and prefixes) in the output are removed | false |
omitResult | (only used when direction=wrap) when true , the Result is omitted and instead of Result/Status 'ERROR' a PipeRunException is thrown | false |
addOutputNamespace | (only used when direction=unwrap) when set true the outputNamespace is added to the output root element in the SOAP body | false |
- Author:
- Peter Leeuwenburgh
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.frankframework.core.IWrapperPipe
IWrapperPipe.Direction
-
Field Summary
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
Deprecated.Checks for correct configuration of forward.doPipe
(Message message, PipeLineSession session) Deprecated.This is where the action takes place.Deprecated.Deprecated.Deprecated.Deprecated.Deprecated.Deprecated.Deprecated.Deprecated.Deprecated.Deprecated.Deprecated.Deprecated.boolean
Deprecated.boolean
Deprecated.boolean
Deprecated.boolean
Deprecated.boolean
Deprecated.void
setAddOutputNamespace
(boolean b) Deprecated.void
setBisActionName
(String bisActionName) Deprecated.void
setBisConversationIdSessionKey
(String bisConversationIdSessionKey) Deprecated.void
setBisErrorCodeSessionKey
(String bisErrorCodeSessionKey) Deprecated.void
setBisErrorReasonSessionKey
(String bisErrorReasonSessionKey) Deprecated.void
setBisErrorTextSessionKey
(String bisErrorTextSessionKey) Deprecated.void
setBisExternalRefToMessageIdSessionKey
(String bisExternalRefToMessageIdSessionKey) Deprecated.void
setBisMessageHeaderInSoapBody
(boolean b) Deprecated.void
setBisMessageHeaderSessionKey
(String bisMessageHeaderSessionKey) Deprecated.void
setBisResultInPayload
(boolean b) Deprecated.void
setBisServiceName
(String bisServiceName) Deprecated.void
setInputNamespaceDefs
(String inputNamespaceDefs) Deprecated.void
setInputXPath
(String inputXPath) Deprecated.void
setOmitResult
(boolean b) Deprecated.void
setOutputNamespace
(String outputNamespace) Deprecated.(only used when direction=wrap
) If not empty, this namespace is added to the root element in the soap bodyvoid
setOutputRoot
(String outputRoot) Deprecated.void
setRemoveOutputNamespaces
(boolean b) Deprecated.(only used when direction=unwrap
) Iftrue
, namespaces (and prefixes) in the content of the soap body are removedMethods inherited from class org.frankframework.soap.SoapWrapperPipe
setAllowPlainXml, setDirection, setEncodingStyle, setIgnoreSoapFault, setOmitXmlDeclaration, setRemoveUnusedOutputNamespaces, setRoot, setServiceNamespace, setSoapBodyStyleSheet, setSoapHeaderSessionKey, setSoapHeaderStyleSheet, setSoapNamespace, setSoapNamespaceSessionKey, setSoapVersion, setWssAuthAlias, setWssPassword, setWssPasswordDigest, setWssUserName, start, stop, 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
-
BisWrapperPipe
public BisWrapperPipe()Deprecated.
-
-
Method Details
-
configure
Deprecated.Description copied from class:FixedForwardPipe
Checks for correct configuration of forward.- Specified by:
configure
in interfaceIConfigurable
- Overrides:
configure
in classSoapWrapperPipe
- Throws:
ConfigurationException
- in case it was not able to configure the component.
-
doPipe
Deprecated.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
-
setInputXPath
Deprecated. -
getInputXPath
Deprecated. -
setInputNamespaceDefs
Deprecated. -
getInputNamespaceDefs
Deprecated. -
setOutputRoot
Deprecated. -
getOutputRoot
Deprecated. -
setOutputNamespace
Deprecated.Description copied from class:SoapWrapperPipe
(only used when direction=wrap
) If not empty, this namespace is added to the root element in the soap body- Overrides:
setOutputNamespace
in classSoapWrapperPipe
-
getOutputNamespace
Deprecated. -
setBisMessageHeaderInSoapBody
public void setBisMessageHeaderInSoapBody(boolean b) Deprecated. -
isBisMessageHeaderInSoapBody
public boolean isBisMessageHeaderInSoapBody()Deprecated. -
setBisMessageHeaderSessionKey
Deprecated. -
getBisMessageHeaderSessionKey
Deprecated. -
setBisResultInPayload
public void setBisResultInPayload(boolean b) Deprecated. -
isBisResultInPayload
public boolean isBisResultInPayload()Deprecated. -
setBisConversationIdSessionKey
Deprecated. -
getBisConversationIdSessionKey
Deprecated. -
setBisExternalRefToMessageIdSessionKey
Deprecated. -
getBisExternalRefToMessageIdSessionKey
Deprecated. -
setBisErrorCodeSessionKey
Deprecated. -
getBisErrorCodeSessionKey
Deprecated. -
setBisErrorTextSessionKey
Deprecated. -
getBisErrorTextSessionKey
Deprecated. -
setBisErrorReasonSessionKey
Deprecated. -
getBisErrorReasonSessionKey
Deprecated. -
setBisServiceName
Deprecated. -
getBisServiceName
Deprecated. -
setBisActionName
Deprecated. -
getBisActionName
Deprecated. -
setRemoveOutputNamespaces
public void setRemoveOutputNamespaces(boolean b) Deprecated.Description copied from class:SoapWrapperPipe
(only used when direction=unwrap
) Iftrue
, namespaces (and prefixes) in the content of the soap body are removed- Overrides:
setRemoveOutputNamespaces
in classSoapWrapperPipe
-
isRemoveOutputNamespaces
public boolean isRemoveOutputNamespaces()Deprecated. -
setOmitResult
public void setOmitResult(boolean b) Deprecated. -
isOmitResult
public boolean isOmitResult()Deprecated. -
setAddOutputNamespace
public void setAddOutputNamespace(boolean b) Deprecated. -
isAddOutputNamespace
public boolean isAddOutputNamespace()Deprecated.
-