@Category(value="NN-Special") public class EsbSoapWrapperPipe extends SoapWrapperPipe
Configuration (where deviating from SoapWrapperPipe):
attributes | description | default |
---|---|---|
mode | either i2t (ifsa2tibco), reg (regular) or bis (Business Integration Services) | reg |
cmhVersion | (only used when mode=reg ) Common Message Header version (1 or 2) | 1 when mode=reg , 0 otherwise |
soapHeaderSessionKey | if direction=unwrap : | soapHeader |
soapHeaderStyleSheet | if direction=wrap and mode=i2t : | /xml/xsl/esb/soapHeader.xsl |
if direction=wrap and mode=reg : | TODO (for now identical to the "i2t " SOAP Header) | |
if direction=wrap and mode=bis : | /xml/xsl/esb/bisSoapHeader.xsl | |
soapBodyStyleSheet | if direction=wrap and mode=reg : | /xml/xsl/esb/soapBody.xsl |
if direction=wrap and mode=bis : | /xml/xsl/esb/bisSoapBody.xsl | |
addOutputNamespace | (only used when direction=wrap ) when true , outputNamespace is automatically set using the parameters (if $messagingLayer='P2P' then 'http://nn.nl/XSD/$businessDomain/$applicationName/$applicationFunction' else is serviceContext is not empty 'http://nn.nl/XSD/$businessDomain/$serviceName/$serviceContext/$serviceContextVersion/$operationName/$operationVersion' else 'http://nn.nl/XSD/$businessDomain/$serviceName/$serviceVersion/$operationName/$operationVersion') | false |
retrievePhysicalDestination | (only used when direction=wrap ) when true , the physical destination is retrieved from the queue instead of using the parameter destination | true |
useFixedValues | If true , the fields CorrelationId, MessageId and Timestamp will have a fixed value (for testing purposes only) | false |
fixResultNamespace | (only used when direction=wrap ) when true and the Result tag already exists, the namespace is changed | false |
p2pAlias | When the messagingLayer part of the destination has this value interpret it as P2P |
|
esbAlias | When the messagingLayer part of the destination has this value interpret it as ESB |
|
/xml/xsl/esb/soapHeader.xsl:
element | level | value |
---|---|---|
MessageHeader | 0 | |
xmlns=$namespace | ||
From | 1 | |
Id | 2 | $fromId |
To | 1 | |
Location | 2 | if $messagingLayer='P2P' then $messagingLayer.$businessDomain.$applicationName.$applicationFunction.$paradigm else if $serviceContext is not empty then $messagingLayer.$businessDomain.$serviceLayer.$serviceName.$serviceContext.$serviceContextVersion.$operationName.$operationVersion.$paradigm else $messagingLayer.$businessDomain.$serviceLayer.$serviceName.$serviceVersion.$operationName.$operationVersion.$paradigm |
HeaderFields | 1 | |
CPAId | 2 | $cpaId |
ConversationId | 2 | $conversationId |
CorrelationId | 2 | $correlationId (if empty then skip this element) |
MessageId | 2 | $messageId |
ExternalRefToMessageId | 2 | $externalRefToMessageId (if empty then skip this element) |
Timestamp | 2 | $timestamp |
TransactionId | 2 | $transactionId (only used when $mode=reg and $cmhVersion=2; if empty then skip this element) |
Service | 1 | |
Name | 2 | $serviceName |
Context | 2 | $serviceContext |
Action | 2 | |
Paradigm | 3 | $paradigm |
Name | 3 | $operationName |
Version | 3 | $operationVersion |
name | default |
---|---|
mode | copied from mode |
cmhVersion | copied from cmhVersion |
namespace | "http://nn.nl/XSD/Generic/MessageHeader/2" (only when $mode=reg and $cmhVersion=2) "http://nn.nl/XSD/Generic/MessageHeader/1" (otherwise) |
businessDomain | |
serviceName | |
serviceContext | |
service(Context)Version | 1 |
operationName | |
operationVersion | 1 |
paradigm | |
applicationName | |
applicationFunction | |
messagingLayer | ESB |
serviceLayer | |
destination | if not empty this parameter contains the preceding parameters as described in 'Location' in the table above |
fromId | property 'instance.name' |
cpaId | if applicable, copied from the original (received) SOAP Header, else 'n/a' |
conversationId | if applicable, copied from the original (received) SOAP Header, else parameter pattern '{hostname}_{uid}' |
messageId | parameter pattern '{hostname}_{uid}' |
correlationId | if $paradigm equals 'Response' then copied from MessageId in the original (received) SOAP Header |
externalRefToMessageId | if applicable, copied from the original (received) SOAP Header |
timestamp | parameter pattern '{now,date,yyyy-MM-dd'T'HH:mm:ss}' |
transactionId | if applicable, copied from the original (received) SOAP Header |
/xml/xsl/esb/bisSoapHeader.xsl:
element | level | value |
---|---|---|
MessageHeader | 0 | |
xmlns=$namespace | ||
From | 1 | |
Id | 2 | $fromId |
HeaderFields | 1 | |
ConversationId | 2 | $conversationId |
MessageId | 2 | $messageId |
ExternalRefToMessageId | 2 | $externalRefToMessageId (if empty then skip this element) |
Timestamp | 2 | $timestamp |
name | default |
---|---|
namespace | "http://www.ing.com/CSP/XSD/General/Message_2" |
fromId | property 'instance.name' |
conversationId | if applicable, copied from the original (received) SOAP Header, else parameter pattern '{hostname}_{uid}' |
messageId | parameter pattern '{hostname}_{uid}' |
externalRefToMessageId | if applicable, copied from MessageId in the original (received) SOAP Header |
timestamp | parameter pattern '{now,date,yyyy-MM-dd'T'HH:mm:ss}' |
/xml/xsl/esb/soapBody.xsl:
element | level | value | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
[Payload] | 0 | if $errorCode is empty then the complete payload will be copied and if not already existing a Result tag will be added else only the root tag will be copied | ||||||||||||
Result | 1 | this element will be the last child in the copied root tag (only applicable for $paradigm 'Response'); if $errorCode is empty and a Result tag already exists then skip this element including its child elements | ||||||||||||
xmlns=$namespace | ||||||||||||||
Status | 2 | if $errorCode is empty then 'OK' else 'ERROR' | ||||||||||||
ErrorList | 2 | if $errorCode is empty then skip this element including its child elements | ||||||||||||
Error | 3 | |||||||||||||
Code | 4 | $errorCode | ||||||||||||
Reason | 4 | if $errorReason is not empty then $errorReason else it will be derived from $errorCode:
| ||||||||||||
Service | 4 | |||||||||||||
Name | 5 | $serviceName | ||||||||||||
Context | 5 | $serviceContext | ||||||||||||
Action | 5 | |||||||||||||
Paradigm | 6 | $paradigm | ||||||||||||
Name | 6 | $operationName | ||||||||||||
Version | 6 | $operationVersion | ||||||||||||
DetailList | 4 | if $errorDetailCode is empty then skip this element including its child elements | ||||||||||||
Detail | 5 | |||||||||||||
Code | 6 | $errorDetailCode | ||||||||||||
Text | 6 | $errorDetailText (if empty then skip this element) |
name | default |
---|---|
mode | copied from mode |
cmhVersion | copied from cmhVersion |
namespace | "http://nn.nl/XSD/Generic/MessageHeader/2" (only when $mode=reg and $cmhVersion=2) "http://nn.nl/XSD/Generic/MessageHeader/1" (otherwise) |
errorCode | |
errorReason | |
errorDetailCode | |
errorDetailText | |
serviceName | |
serviceContext | |
operationName | |
operationVersion | 1 |
paradigm | |
fixResultNamespace | false |
/xml/xsl/esb/bisSoapBody.xsl:
element | level | value | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
[Payload] | 0 | if $errorCode is empty then the complete payload will be copied and if not already existing a Result tag will be added else only the root tag will be copied | ||||||||||||
Result | 1 | this element will be the last child in the copied root tag (only applicable for $paradigm 'Response' and 'Reply'); if $errorCode is empty and a Result tag already exists then skip this element including its child elements | ||||||||||||
xmlns=$namespace | ||||||||||||||
Status | 2 | if $errorCode is empty then 'OK' else 'ERROR' | ||||||||||||
ErrorList | 2 | if $errorCode is empty then skip this element including its child elements | ||||||||||||
Error | 3 | |||||||||||||
Code | 4 | $errorCode | ||||||||||||
Reason | 4 | if $errorReason is not empty then $errorReason else it will be derived from $errorCode:
| ||||||||||||
Service | 4 | |||||||||||||
Name | 5 | $serviceName | ||||||||||||
Context | 5 | $serviceContext | ||||||||||||
Action | 5 | |||||||||||||
Name | 6 | $operationName | ||||||||||||
Version | 6 | $operationVersion | ||||||||||||
DetailList | 4 | if $errorDetailCode is empty then skip this element including its child elements | ||||||||||||
Detail | 5 | |||||||||||||
Code | 6 | $errorDetailCode | ||||||||||||
Text | 6 | $errorDetailText (if empty then skip this element) |
name | default |
---|---|
namespace | "http://www.ing.com/CSP/XSD/General/Message_2" |
errorCode | |
errorReason | |
errorDetailCode | |
errorDetailText | |
serviceName | |
serviceContext | |
operationName | |
operationVersion | 1 |
paradigm |
Modifier and Type | Class and Description |
---|---|
protected static class |
EsbSoapWrapperPipe.Mode |
IWrapperPipe.Direction
Modifier and Type | Field and Description |
---|---|
protected static String |
APPLICATIONFUNCTION |
protected static String |
APPLICATIONNAME |
protected static String |
BUSINESSDOMAIN |
protected static String |
CMHVERSION |
protected static String |
CONVERSATIONID |
protected static String |
CORRELATIONID |
protected static String |
CPAID |
protected static String |
DESTINATION |
protected static String |
EXTERNALREFTOMESSAGEID |
protected static String |
FIXRESULTNAMESPACE |
protected static String |
FROMID |
protected static String |
MESSAGEID |
protected static String |
MESSAGINGLAYER |
protected static String |
MODE |
protected static String |
OPERATIONNAME |
protected static String |
OPERATIONVERSION |
protected static String |
OUTPUTNAMESPACEBASEURI |
protected static String |
PARADIGM |
protected static String |
PHYSICALDESTINATION |
protected static String |
SERVICECONTEXT |
protected static String |
SERVICECONTEXTVERSION |
protected static String |
SERVICELAYER |
protected static String |
SERVICENAME |
protected static String |
TIMESTAMP |
protected static String |
TRANSACTIONID |
DEFAULT_SOAP_HEADER_SESSION_KEY, DEFAULT_SOAP_NAMESPACE_SESSION_KEY, DEFAULT_SOAP_VERSION_FOR_WRAPPING
parameterNamesMustBeUnique
log
LONG_DURATION_MONITORING_EVENT, MESSAGE_SIZE_MONITORING_EVENT, PIPE_EXCEPTION_MONITORING_EVENT
Constructor and Description |
---|
EsbSoapWrapperPipe() |
Modifier and Type | Method and Description |
---|---|
void |
configure()
checks for correct configuration of forward
|
String |
getApplicationFunction() |
String |
getApplicationName() |
String |
getBusinessDomain() |
String |
getDestination() |
String |
getMessagingLayer() |
String |
getOperationName() |
String |
getOperationVersion() |
static String |
getOutputNamespaceBaseUri() |
String |
getParadigm() |
String |
getServiceContext() |
String |
getServiceContextVersion() |
String |
getServiceLayer() |
String |
getServiceName() |
static boolean |
isEsbDestinationWithoutServiceContext(String destination) |
static boolean |
isEsbNamespaceWithoutServiceContext(String namespace) |
static boolean |
isValidNamespace(String namespace) |
boolean |
retrievePhysicalDestinationFromListener(IListener listener) |
boolean |
retrievePhysicalDestinationFromSender(ISender sender) |
void |
setAddOutputNamespace(boolean b)
(only used when
direction=wrap ) when true , outputNamespace is automatically set using the parameters (if $messagingLayer='P2P' then 'http://nn.nl/XSD/$businessDomain/$applicationName/$applicationFunction' else is serviceContext is not empty 'http://nn.nl/XSD/$businessDomain/$serviceName/$serviceContext/$serviceContextVersion/$operationName/$operationVersion' else 'http://nn.nl/XSD/$businessDomain/$serviceName/$serviceVersion/$operationName/$operationVersion') |
void |
setCmhVersion(int i)
Only used when
mode=reg ! Sets the Common Message Header version. |
void |
setEsbAlias(String esbAlias)
When the messagingLayer part of the destination has this value interpret it as ESB
|
void |
setFixResultNamespace(boolean b)
(only used when
direction=wrap ) when true and the Result tag already exists, the namespace is changed |
void |
setMode(EsbSoapWrapperPipe.Mode mode) |
void |
setP2pAlias(String p2pAlias)
When the messagingLayer part of the destination has this value interpret it as P2P
|
void |
setRetrievePhysicalDestination(boolean b)
(only used when
direction=wrap ) when true , the physical destination is retrieved from the queue instead of using the parameter destination |
void |
setUseFixedValues(boolean b)
If
true , the fields CorrelationId, MessageId and Timestamp will have a fixed value (for testing purposes only) |
doPipe, setAllowPlainXml, setDirection, setEncodingStyle, setIgnoreSoapFault, setOutputNamespace, setRemoveOutputNamespaces, setRemoveUnusedOutputNamespaces, setRoot, setServiceNamespace, setSoapBodyStyleSheet, setSoapHeaderSessionKey, setSoapHeaderStyleSheet, setSoapNamespace, setSoapNamespaceSessionKey, setSoapVersion, setWssAuthAlias, setWssPassword, setWssPasswordDigest, setWssUserName, start, stop, unwrapMessage, wrapMessage
getParameterValue, setIfParam, setIfValue, setOnlyIfSessionKey, setOnlyIfValue, setSkipOnEmptyInput, setUnlessSessionKey, setUnlessValue, skipPipe
addParameter, consumesSessionVariable, createBean, findForward, getAdapter, getEventSourceName, getForwards, getInSizeStatDummyObject, getOutSizeStatDummyObject, getParameterList, getParameterOverriddenAttributeValue, getParameterValueList, hasSizeStatistics, registerEvent, registerForward, setApplicationContext, setChompCharSize, setDurationThreshold, setElementToMove, setElementToMoveChain, setElementToMoveSessionKey, setEmptyInputReplacement, setGetInputFromFixedValue, setGetInputFromSessionKey, setHideRegex, setLocker, setLogIntermediaryResults, setMaxThreads, setName, setPreserveInput, setRemoveCompactMsgNamespaces, setRestoreMovedElements, setSecLogSessionKeys, setSizeStatistics, setStoreResultInSessionKey, setWriteToSecLog, throwEvent
configureTransactionAttributes, isTransacted, isTransacted, setTransacted, setTransactionTimeout
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
setName
consumesSessionVariable, getForwards, getMaxThreads, registerForward
getName
getApplicationContext, getName
getConfigurationClassLoader
setApplicationContext
getName
getChompCharSize, getDurationThreshold, getElementToMove, getElementToMoveChain, getElementToMoveSessionKey, getEmptyInputReplacement, getGetInputFromFixedValue, getGetInputFromSessionKey, getLocker, getSecLogSessionKeys, getStoreResultInSessionKey, isPreserveInput, isRemoveCompactMsgNamespaces, isRestoreMovedElements, isWriteToSecLog, setPipeLine
getTransactionAttribute, getTransactionTimeout, getTxDef, setTransactionAttribute
protected static final String OUTPUTNAMESPACEBASEURI
protected static final String BUSINESSDOMAIN
protected static final String SERVICENAME
protected static final String SERVICECONTEXT
protected static final String SERVICECONTEXTVERSION
protected static final String OPERATIONNAME
protected static final String OPERATIONVERSION
protected static final String PARADIGM
protected static final String APPLICATIONNAME
protected static final String APPLICATIONFUNCTION
protected static final String MESSAGINGLAYER
protected static final String SERVICELAYER
protected static final String DESTINATION
protected static final String PHYSICALDESTINATION
protected static final String FROMID
protected static final String CPAID
protected static final String CONVERSATIONID
protected static final String MESSAGEID
protected static final String CORRELATIONID
protected static final String EXTERNALREFTOMESSAGEID
protected static final String TIMESTAMP
protected static final String FIXRESULTNAMESPACE
protected static final String TRANSACTIONID
protected static final String MODE
protected static final String CMHVERSION
public void configure() throws ConfigurationException
FixedForwardPipe
configure
in interface IConfigurable
configure
in interface IPipe
configure
in class SoapWrapperPipe
ConfigurationException
public static String getOutputNamespaceBaseUri()
public String getBusinessDomain()
public String getServiceName()
public String getServiceContext()
public String getServiceContextVersion()
public String getOperationName()
public String getOperationVersion()
public String getDestination()
public String getMessagingLayer()
public String getServiceLayer()
public String getParadigm()
public String getApplicationName()
public String getApplicationFunction()
public static boolean isValidNamespace(String namespace)
public boolean retrievePhysicalDestinationFromSender(ISender sender)
public boolean retrievePhysicalDestinationFromListener(IListener listener) throws JmsException
JmsException
public static boolean isEsbDestinationWithoutServiceContext(String destination)
public static boolean isEsbNamespaceWithoutServiceContext(String namespace)
public void setMode(EsbSoapWrapperPipe.Mode mode)
public void setCmhVersion(int i)
mode=reg
! Sets the Common Message Header version. 1 or 2public void setAddOutputNamespace(boolean b)
direction=wrap
) when true
, outputNamespace
is automatically set using the parameters (if $messagingLayer='P2P' then 'http://nn.nl/XSD/$businessDomain/$applicationName/$applicationFunction' else is serviceContext is not empty 'http://nn.nl/XSD/$businessDomain/$serviceName/$serviceContext/$serviceContextVersion/$operationName/$operationVersion' else 'http://nn.nl/XSD/$businessDomain/$serviceName/$serviceVersion/$operationName/$operationVersion')public void setRetrievePhysicalDestination(boolean b)
direction=wrap
) when true
, the physical destination is retrieved from the queue instead of using the parameter destination
public void setUseFixedValues(boolean b)
true
, the fields CorrelationId, MessageId and Timestamp will have a fixed value (for testing purposes only)public void setFixResultNamespace(boolean b)
direction=wrap
) when true
and the Result tag already exists, the namespace is changedpublic void setP2pAlias(String p2pAlias)
public void setEsbAlias(String esbAlias)
Copyright © 2023 Frank!Framework. All rights reserved.