Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations

The ebMS specification only defines an abstract P-Mode model, the actual P-Mode definition is left up to implementations. This schema defines the XML structure for the representation of a P-Mode as used by the default implementation for maintaining the P-Mode set. In this implementation the P-Mode set consists of all XML documents in a directory. Each XML document represents one P-Mode and must conform to this schema. See the package org.holodeckb2b.pmode.xml for more info on the default implementation of P-Modes.

In version 2.1.0 of the schema the EventHandler and AddActorOrRoleAttribute elements were added. As these are optional elements P-Mode documents constructed using the old version are still valid and result in unchanged processing. Therefore the same namespace is used and only the version has been increased

Properties
attribute form default unqualified
element form default qualified
version 3.0.0
[ top ]
Element tns:PMode
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations

The P-Mode as defined in this schema is based on the structure described in appendix D of the Core Specification. As described in section D.2 one leg may involve two sets of P-Mode parameters if pulling is used as the pull request signal has its own set of parameters. This is reflected in this model by the flow concept. When a leg uses the pull binding it has two flows, one for the pull request and one for the user message.

The P-Mode parameters are used to set values in the ebMS message header and determine how and where to send messages. All parameter values must be known when the message is sent, but it is not necessary to include them all in the P-Mode. This would require a P-Mode for each exchanged message while some messages only differ on specific configuration parameters. Therefor Holodeck B2B allows the P-Mode to define only the common parameters and supply the message specific ones when the message is submitted. It is RECOMMENDED to include at least the initiator or responder of the exchange and information about the user message.

Security settings however can only be specified in the P-Mode. So if security must be applied to the messages governed by this P-Mode the configuration must be included in the Initiator and or Responder elements.

Diagram
Diagram pmode.tmp#http___holodeck-b2b.org_schemas_2014_10_pmode_PMode_id pmode.tmp#http___holodeck-b2b.org_schemas_2014_10_pmode_PMode_mep pmode.tmp#http___holodeck-b2b.org_schemas_2014_10_pmode_PMode_mepBinding pmode.tmp#http___holodeck-b2b.org_schemas_2014_10_pmode_PMode_Initiator pmode.tmp#http___holodeck-b2b.org_schemas_2014_10_pmode_PMode_Responder pmode.tmp#http___holodeck-b2b.org_schemas_2014_10_pmode_PMode_Agreement pmode.tmp#http___holodeck-b2b.org_schemas_2014_10_pmode_PMode_Leg pmode.tmp#http___holodeck-b2b.org_schemas_2014_10_pmode_PMode
Type tns:PMode
Properties
content complex
[ top ]
Element tns:PMode / tns:id
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations

The REQUIRED identifier of this P-Mode. The P-Mode identifier is defined as optional in the ebMS v3 Core Specification and including it in the message header may cause problems in the receiving MSH if it uses no or another id for this P-Mode. Therefor the inclusion of the id in the message header is optional and can be set using the include attribute. When this attribute has value "false" (default value) the P-Mode id will not be included in the message header or used to find the P-Mode when a message is received.

NOTE 1: As the P-Mode id is included in the message as part of the agreement reference, including the P-Mode id requires the specification of an agreement reference either in the P-Mode or when the message is submitted.

NOTE 2: If set to "false" the P-Mode id included in a received message will not be used to determine the P-Mode that handles the message. This is to prevent an unintended match on the identifier set by a sender.

Diagram
Diagram pmode.tmp#non-empty-string pmode.tmp#http___holodeck-b2b.org_schemas_2014_10_pmode_PMode_http___holodeck-b2b.org_schemas_2014_10_pmode_PMode_id_include
Type extension of tns:non-empty-string
Properties
content complex
Attributes
QName Type Default Use
include xs:boolean false optional
[ top ]
Element tns:PMode / tns:mep
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations
This element describes the message exchange pattern (MEP) this P-Mode uses. These are specified in section 2.2 of the ebMS V3 Core Specification. The MEP must be specified using the URI values given in the specification, see enumeration for allowed values.
NOTE: The current version of Holodeck B2B only allows One-Way MEPs so there is just one value. Because there is only one user message in a One-Way MEP the user message shall not contain a refToMessageId. Holodeck B2B however does allow for a refToMessageId to be included. So using two One-Way P-Modes a Two-Way MEP can be configured in Holodeck B2B.
Diagram
Diagram
Type restriction of tns:non-empty-string
Properties
content simple
Facets
minLength 1
enumeration http://docs.oasis-open.org/ebxml-msg/ebms/v3.0/ns/core/200704/oneWay
[ top ]
Element tns:PMode / tns:mepBinding
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations
Describes the transport channel binding for the specified MEP as defined in section 2.2 of the ebMS V3 Core Specification. The enumeration specifies the allowed values. Based on this elements value Holodeck B2B decides how to handle a submitted user message, i.e. actively send it to the receiver (push binding) or wait for the receiver to retrieve the message (pull binding).
NOTE: The current version of Holodeck B2B only allows One-Way MEPs so there is just two values for Push and Pull binding.
Diagram
Diagram
Type restriction of tns:non-empty-string
Properties
content simple
Facets
minLength 1
enumeration http://docs.oasis-open.org/ebxml-msg/ebms/v3.0/ns/core/200704/push
enumeration http://docs.oasis-open.org/ebxml-msg/ebms/v3.0/ns/core/200704/pull
[ top ]
Element tns:PMode / tns:Initiator
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations

This element includes the information on the Initiator of the MEP, i.e. the partner that sends the first ebMS message. Note that this is not always the Sender of the first user message because in the pull scenario the first ebMS message (the pull request) is sent by the partner that will receive the user message. See the Holodeck website and chapter 2 of the ebMS V3 Core Specification for more info.

NOTE: This element is optional in the P-Mode. When not specified the information must be specified when a user message is submitted to Holodeck B2B. Attention should be paid to the fact that the meta-data on submission is expressed in Sender ("From") and Receiver ("To") roles which, as explained above, may not be equal to Initiator and Responder.

Diagram
Diagram pmode.tmp#TradingPartner_PartyId pmode.tmp#TradingPartner_Role pmode.tmp#TradingPartner_SecurityConfiguration pmode.tmp#TradingPartner
Type tns:TradingPartner
Properties
content complex
minOccurs 0
[ top ]
Element tns:TradingPartner / tns:PartyId
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations

Identification of the trading partner. The identification of the partner can consist of the id itself and the identification of the naming scheme to which the id belongs. This naming scheme or domain is specified in the @type attribute.

The ebMS specification requires that the PartyId value MUST be an URI when no @type attribute is specified (see section 5.2.2.4 of ebMS Core Specification).

Note that for one partner multiple PartyIds can be specified. All given PartyIds MUST however identify the same organisation (see also section 5.2.2.3 of ebMS Core Specification).

Diagram
Diagram pmode.tmp#non-empty-string pmode.tmp#PartyId_type pmode.tmp#PartyId
Type tns:PartyId
Properties
content complex
minOccurs 0
maxOccurs unbounded
Attributes
QName Type Use
type tns:non-empty-string optional
[ top ]
Element tns:TradingPartner / tns:Role
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations

The business role the partner is acting in.

Note that this is probably different then the role the MSH is playing in the MEP.

Diagram
Diagram pmode.tmp#non-empty-string
Type tns:non-empty-string
Properties
content simple
minOccurs 0
Facets
minLength 1
[ top ]
Element tns:TradingPartner / tns:SecurityConfiguration
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations

The security configuration specific to this trading partner.

Diagram
Diagram pmode.tmp#SecurityConfiguration_UsernameToken pmode.tmp#SecurityConfiguration_Signing pmode.tmp#SecurityConfiguration_Encryption pmode.tmp#SecurityConfiguration
Type tns:SecurityConfiguration
Properties
content complex
minOccurs 0
[ top ]
Element tns:SecurityConfiguration / tns:UsernameToken
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations

This element contains the settings used to create the WS-Security UsernameToken element in messages sent by this trading partner.

This element can occur twice as their can be two WS-Security headers that can contain a UsernameToken element. The target attribute defines in which WS-Security header the username token most be added

Diagram
Diagram pmode.tmp#UsernameToken_target pmode.tmp#UsernameToken_username pmode.tmp#UsernameToken_password pmode.tmp#UsernameToken_includeNonce pmode.tmp#UsernameToken_includeCreated pmode.tmp#UsernameToken
Type tns:UsernameToken
Properties
content complex
minOccurs 0
maxOccurs 2
Attributes
QName Type Use Annotation
target restriction of xs:string optional

The target attribute specifies the header in which this username token should be added. When not specified the username token is added to the default header.

[ top ]
Element tns:UsernameToken / tns:username
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations

This REQUIRED element specified the username to be included in the username token.

Diagram
Diagram
Type xs:string
Properties
content simple
[ top ]
Element tns:UsernameToken / tns:password
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations

This REQUIRED element specified the password to be included in the username token.

NOTE: When the password contains special characters they may need to be encoded to get a well formed XML document!

Diagram
Diagram pmode.tmp#UsernameToken_UsernameToken_password_type
Type extension of xs:string
Properties
content complex
Attributes
QName Type Default Use Annotation
type restriction of xs:string Digest optional

This OPTIONAL attribute is used for specifying the password type that should be used, i.e. clear text (value="Text") or digest (value="Digest"). When not specified "digest" will be used as the default because it is more secure.

[ top ]
Element tns:UsernameToken / tns:includeNonce
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations

This OPTIONAL element specifies whether a wsse:Nonce element must be included in the username token.

Diagram
Diagram
Type xs:boolean
Properties
content simple
minOccurs 0
default true
[ top ]
Element tns:UsernameToken / tns:includeCreated
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations

This OPTIONAL element specifies whether a wsu:Created element must be included in the username token.

Diagram
Diagram
Type xs:boolean
Properties
content simple
minOccurs 0
default true
[ top ]
Element tns:SecurityConfiguration / tns:Signing
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations

This element contains the settings used to create the WS-Security Signature element in messages sent by this trading partner. The settings in this element correspond with the P-Mode parameter group PMode[1].Security.X509.Sign.

NOTE: Signature validation is always performed by Holodeck B2B regardless whether a Signing configuration is given.

Diagram
Diagram pmode.tmp#SignatureConfiguration_KeystoreAlias pmode.tmp#SignatureConfiguration_enableRevocationCheck pmode.tmp#SignatureConfiguration_KeyReferenceMethod pmode.tmp#SignatureConfiguration_IncludeCertificatePath pmode.tmp#SignatureConfiguration_Algorithm pmode.tmp#SignatureConfiguration_HashFunction pmode.tmp#SignatureConfiguration
Type tns:SignatureConfiguration
Properties
content complex
minOccurs 0
[ top ]
Element tns:SignatureConfiguration / tns:KeystoreAlias
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations

This REQUIRED element contains the reference to the certificate in the Java keystore. It MUST contain the alias name that is used to store the certificate in the keystore. The OPTIONAL password attribute is used for accessing the private key in a certificate. This is only required when Holodeck B2B has to create the signature.

NOTE: When the password contains special characters they may need to be encoded to get a well formed XML document!

Diagram
Diagram pmode.tmp#KeystoreAliasType_password pmode.tmp#KeystoreAliasType
Type tns:KeystoreAliasType
Properties
content complex
Attributes
QName Type Use
password xs:token optional
[ top ]
Element tns:SignatureConfiguration / tns:enableRevocationCheck
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations
At the moment Holodeck B2B does not support certificate revocation checks! This element will be enabled when support is completed. Indicate whether Holodeck B2B must check whether the certificate used for signing a message is revoked. Applies only to received messages. NOTE 1: When an error occurs during the revocation check the certificate will be treated as invalid resulting in rejection of the complete ebMS message and all message units contained in it. Therefor the revocation check should only be enabled if the PKI infrastructure works correctly. NOTE 2: Setting the revocation check is OPTIONAL. If not set the global setting will be used.
Diagram
Diagram
Type xs:boolean
Properties
content simple
minOccurs 0
maxOccurs 0
[ top ]
Element tns:SignatureConfiguration / tns:KeyReferenceMethod
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations

This OPTIONAL element indicates how the certificate must be referenced in the WS-Security header. The options are specified in section 3.2 of the WS-Security X.509 Certificate Token Profile Version 1.1.1 specification.

If not specified Issuer and Serial number method will be used.

Diagram
Diagram pmode.tmp#KeyReferenceMethods
Type tns:KeyReferenceMethods
Properties
content simple
minOccurs 0
default IssuerSerial
Facets
enumeration BSTReference
enumeration IssuerSerial
enumeration KeyIdentifier
[ top ]
Element tns:SignatureConfiguration / tns:IncludeCertificatePath
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations

This OPTIONAL element indicates whether the complete certificate path must be included in the binary security token that contains the certificate used for signing the message. This setting only applies when Holodeck B2B creates the signature, i.e. is the sender of the signed message. See section 3.1 of the WS-Security X.509 Certificate Token Profile Version 1.1.1 specification for more information on the binary security token types.

By including the certificate path or chain in the binary security token the receiver of message does not need to know the end entity's certificate but can rely on the trust from a certificate authority. This makes certificate management much simpler as only the CA certificates need to be known on the receiving MSH.

Because the certificate path can only be included in a binary security token, this option can only be used when the KeyReferenceMethod is set to BSTReference.

Note that the receiving MSH must also be configured to accept and use a certificate path for validation of the signature. Therefore the default is to only include the end-entity certificate in the WS-Security header.

NOTE: The certificate loaded in the keystore MUST and referenced in KeystoreAlias already contain the complete certificate path, Holodeck B2B will not try to construct the path based on the end-entity certificate!

Diagram
Diagram
Type xs:boolean
Properties
content simple
minOccurs 0
default false
[ top ]
Element tns:SignatureConfiguration / tns:Algorithm
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations

This OPTIONAL element contains the identifier of the algorithm that should be used for creating the signature. The identifiers are specified in section 6.1 of the XML Signature Syntax and Processing specification version 1.1 (XML-dsig). To ensure interoperability is RECOMMENDED to use an algoritm for which support is required by the XML-dsig specification.

If not specified the RSAwithSHA256 algorithm will be used for creating the signature.

Diagram
Diagram
Type xs:anyURI
Properties
content simple
minOccurs 0
default http://www.w3.org/2001/04/xmldsig-more#rsa-sha256
[ top ]
Element tns:SignatureConfiguration / tns:HashFunction
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations

This OPTIONAL element contains the identifier of the algorithm that should be used for creating the message digest. The identifiers are specified in section 6.1 of the XML Signature Syntax and Processing specification version 1.1 (XML-dsig). It is RECOMMENDED to use an algoritm for which support is required by the XML-dsig specification.

If not specified in the P-Mode the SHA256 algorithm will be used for creating the message digest.

Diagram
Diagram
Type xs:anyURI
Properties
content simple
minOccurs 0
default http://www.w3.org/2001/04/xmlenc#sha256
[ top ]
Element tns:SecurityConfiguration / tns:Encryption
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations

This element contains the settings used to create the WS-Security elements for encryption in messages sent to this trading partner. The settings in this element correspond with the P-Mode parameter group PMode[1].Security.X509.Encryption.

Diagram
Diagram pmode.tmp#EncryptionConfiguration_KeystoreAlias pmode.tmp#EncryptionConfiguration_Algorithm pmode.tmp#EncryptionConfiguration_KeyTransport pmode.tmp#EncryptionConfiguration
Type tns:EncryptionConfiguration
Properties
content complex
minOccurs 0
[ top ]
Element tns:EncryptionConfiguration / tns:KeystoreAlias
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations

This REQUIRED element contains the reference to the certificate in the Java keystore. It MUST contain the alias name that is used to store the certificate in the keystore. The OPTIONAL password attribute is used for accessing the private key in a certificate. This is only required when Holodeck B2B has to decrypt the message.

NOTE: When the password contains special characters they may need to be encoded to get a well formed XML document!

Diagram
Diagram pmode.tmp#KeystoreAliasType_password pmode.tmp#KeystoreAliasType
Type tns:KeystoreAliasType
Properties
content complex
Attributes
QName Type Use
password xs:token optional
[ top ]
Element tns:EncryptionConfiguration / tns:Algorithm
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations

This OPTIONAL element contains the identifier of the algorithm that should be used to encrypt the message content. The identifiers are specified in section 5.1 of theXML Encryption Syntax and Processing Version 1.1 (XML-enc). It is RECOMMENDED to use an algoritm for which support is required by the XML-enc specification.

If not specified the AES128-GCM block encryption algorithm is used for encryption. Note that support for this algorithm is only required in XML-enc version 1.1 and up. Because ebMS V3 and AS4 currently reference only XML-enc version 1 this may cause interoperability issues when an MSH does not support for the newer version.

Diagram
Diagram
Type xs:anyURI
Properties
content simple
minOccurs 0
default http://www.w3.org/2009/xmlenc11#aes128-gcm
[ top ]
Element tns:EncryptionConfiguration / tns:KeyTransport
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations

This OPTIONAL element contains the settings to add the key transport information to the WS-Security header, i.e. to construct the xenc:EncryptedKey element.

NOTE: If this element is included in the P-Mode it SHOULD contain at least one child element.

If not included in the configuration the follwoing defaults will be used for key transport:

  • Key Transport Algorithm = RSA-OAEP (including MGF1 with SHA1)
  • Message Digest Algorithm = SHA256
  • Key Reference Method = Issuer and Serial number

Diagram
Diagram pmode.tmp#KeyTransport_Algorithm pmode.tmp#KeyTransport_MGFAlgorithm pmode.tmp#KeyTransport_DigestAlgorithm pmode.tmp#KeyTransport_KeyReferenceMethod pmode.tmp#KeyTransport
Type tns:KeyTransport
Properties
content complex
minOccurs 0
[ top ]
Element tns:KeyTransport / tns:Algorithm
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations

This OPTIONAL element contains the identifier of the algorithm that should be used for key transport. The identifiers are specified in section 5.1 of the XML Encryption Syntax and Processing Version 1.1 (XML-enc). It is RECOMMENDED to use an algoritm for which support is required by the XML-enc specification.

When the RSA-OAEP (including MGF1 with SHA1) algorithm is specified the MGFAlgorithm element MUST NOT be used (as the MGF function is already specified by the transport algorithm).

If not specified (because the parent KeyTransport element is ommitted) the RSA-OAEP (including MGF1 with SHA1) algorithm is used for key transport.

Diagram
Diagram
Type xs:anyURI
Properties
content simple
minOccurs 0
default http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p
[ top ]
Element tns:KeyTransport / tns:MGFAlgorithm
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations

This OPTIONAL element contains the identifier of the mask generaton function algorithm that should be used for key transport. The identifiers are specified in section 5.1 of the XML Encryption Syntax and Processing Version 1.1 (XML-enc). It is RECOMMENDED to use an algoritm for which support is required by the XML-enc specification.

This element is REQUIRED when the key transport algorithm is set to RSA-OAEP algorithm is used for key transport.

Diagram
Diagram
Type xs:anyURI
Properties
content simple
minOccurs 0
[ top ]
Element tns:KeyTransport / tns:DigestAlgorithm
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations

This OPTIONAL element contains the identifier of the digest algorithm that should be used for key transport. The identifiers are specified in section 5.1 of theXML Encryption Syntax and Processing Version 1.1 (XML-enc). It is RECOMMENDED to use an algoritm for which support is required by the XML-enc specification.

If not specified the SHA256 digest algorithm is used for key transport.

Diagram
Diagram
Type xs:anyURI
Properties
content simple
minOccurs 0
default http://www.w3.org/2001/04/xmlenc#sha256
[ top ]
Element tns:KeyTransport / tns:KeyReferenceMethod
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations

This OPTIONAL element indicates how the certificate must be referenced in the WS-Security header. The options are specified in section 3.2 of the WS-Security X.509 Certificate Token Profile Version 1.1.1 specification.

If not specified Issuer and Serial number method will be used.

Diagram
Diagram pmode.tmp#KeyReferenceMethods
Type tns:KeyReferenceMethods
Properties
content simple
minOccurs 0
default IssuerSerial
Facets
enumeration BSTReference
enumeration IssuerSerial
enumeration KeyIdentifier
[ top ]
Element tns:PMode / tns:Responder
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations

This element includes the information on the Responder of the MEP. The information is the same as for Initiator.

Diagram
Diagram pmode.tmp#TradingPartner_PartyId pmode.tmp#TradingPartner_Role pmode.tmp#TradingPartner_SecurityConfiguration pmode.tmp#TradingPartner
Type tns:TradingPartner
Properties
content complex
minOccurs 0
[ top ]
Element tns:PMode / tns:Agreement
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations

This element contains the identification of the business level agreement between the trading partners. This agreement does not define how message should be processed and is therefor optional.

However the P-Mode id is included in the message header as part of the agreement reference and therefor the information is required when the P-Mode id should be included. It is therefor RECOMMENDED to include the agreement info when the include attribute has value "true". If not included in the P-Mode the submission of a user message must contain the agreement info.

Diagram
Diagram pmode.tmp#Agreement_type pmode.tmp#Agreement_name pmode.tmp#Agreement
Type tns:Agreement
Properties
content complex
minOccurs 0
maxOccurs 1
[ top ]
Element tns:Agreement / tns:type
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Diagram
Diagram
Type xs:string
Properties
content simple
minOccurs 0
[ top ]
Element tns:Agreement / tns:name
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Diagram
Diagram
Type xs:string
Properties
content simple
[ top ]
Element tns:PMode / tns:Leg
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations

The Leg element contains the configuration settings for one leg of the P-Mode, i.e. the exchange of one user message. See section 2 of the ebMS Core Specification for more information on the messaging model and concept of legs.

In the P-Mode model described in the ebMS specification a leg can be identified by number (1 or 2) or label ( request or reply). In this implementation the label primarily defines the order of the legs, but if no labels are specified the order of the elements also defines the order of the legs.

.

All child elements are optional because it is not known upfront which information is needed for a specific P-Mode and which information will be provided when a message is submitted. It is however RECOMMENDED to provide the UserMessageFlow element to define which user messages can be exchanged over this leg.

NOTE: As Holodeck B2B currently only supports One-Way MEPs there can be just one Leg element.

In version 2.1.0 the optional EventHandlers child element is added that can be used to configure how so called "message processing events" for message units of this leg should be handled.

Diagram
Diagram pmode.tmp#Leg_label pmode.tmp#Leg_Protocol pmode.tmp#Leg_Receipt pmode.tmp#Leg_ReceptionAwareness pmode.tmp#Leg_DefaultDelivery pmode.tmp#Leg_PullRequestFlow pmode.tmp#Leg_UserMessageFlow pmode.tmp#Leg_EventHandlers pmode.tmp#Leg
Type tns:Leg
Properties
content complex
maxOccurs 1
Attributes
QName Type Use Annotation
label restriction of xs:string optional

This attribute contains the label of the leg as defined in appendix D of the ebMS V3 Core Specification. Labelling legs is only usefull for a Two-Way MEP, so this element is defined as optional.

NOTE: As Holodeck B2B currently only supports One-Way MEPs the value for this attribute is ignored.

[ top ]
Element tns:Leg / tns:Protocol
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations

The Protocol element contains the configuration for the underlying transport protocol. When Holodeck B2B sends the first message of the leg, the Address element MUST appear and contain the URL of the partner MSH. The other elements are all optional and the specified default values will be used when ommitted.

Diagram
Diagram pmode.tmp#Protocol_Address pmode.tmp#Protocol_AddActorOrRoleAttribute pmode.tmp#Protocol_SoapVersion pmode.tmp#Protocol_UseChunking pmode.tmp#Protocol_UseHTTPCompression pmode.tmp#Protocol
Type tns:Protocol
Properties
content complex
minOccurs 0
[ top ]
Element tns:Protocol / tns:Address
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations

This element contains the URL where messages must be delivered to.

Diagram
Diagram
Type xs:anyURI
Properties
content simple
minOccurs 0
[ top ]
Element tns:Protocol / tns:AddActorOrRoleAttribute
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations

This element indicates whether the AS4 multi-hop feature as defined in section 4 of the AS4 standard is to be used for message exchanges on this leg. When multi-hop is used the ebMS header of a User Message is targeted to a specific role and response signals will have a specific WS-Addressing header containing routing information.

By default multi-hop is not used and the value for this element is false

Diagram
Diagram
Type xs:boolean
Properties
content simple
minOccurs 0
default false
[ top ]
Element tns:Protocol / tns:SoapVersion
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations

This element defines the SOAP version to use when sending messages. The default value is to use SOAP 1.2. It is RECOMMENDED not to change this because this is the required version to use in AS4.

Diagram
Diagram
Type restriction of xs:string
Properties
content simple
minOccurs 0
default 1.2
Facets
enumeration 1.1
enumeration 1.2
[ top ]
Element tns:Protocol / tns:UseChunking
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations

Indicates whether the HTTP "chunked" transfer encoding should be used. See section 3.6 of the HTTP/1.1 protocol [RFC2616] for more details.

When using HTTP compression with the gzip content encoding chunked transfer encoding must be used. Therefore Holodeck B2B will first check whether compression content encoding must be used an ignore the "chunked" setting.

Diagram
Diagram
Type xs:boolean
Properties
content simple
minOccurs 0
default false
[ top ]
Element tns:Protocol / tns:UseHTTPCompression
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations

Indicates whether the HTTP "gzip" compression content encoding should be used. See section 3.5 of the HTTP/1.1 protocol [RFC2616] for more details.

As using http compression requires the use of the chunked encoding as well, this element overrides the chunked setting in UseChunking element.

NOTE: Because of a problem in Holodeck B2B with the gzip encoding for HTTP responses this setting should only be used for requests!

Diagram
Diagram
Type xs:boolean
Properties
content simple
minOccurs 0
default false
[ top ]
Element tns:Leg / tns:Receipt
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations

This element indicates whether Receipts are used on this leg and contains the configuration for Receipt processing.

The ebMS V3 Core Specification does not specify in detail when and how receipt signals should be used. It only specifies P-Mode parameters for whether the receipt should be send, the reply pattern to use and the address where to sent the receipts to if not sent as a response. The content of the signal are not strictly defined and are left open for further specification in profiles (like AS4). Currently Holodeck B2B will always generate a receipt signal as specified in the AS4 profile (see section 5.1.8 of the profile).

The parameters for Receipt are defined in appendix D of the Core Specification as part of the P-Mode parameter group Security. As they are not directly related to security settings we moved them to a separate "Receipt" group and this element.

The ebMS specification defines the PMode[1].Security.SendReceipt parameter that indicate whether a Receipt should be sent for a user message. This parameter is not directly implemented in this schema but its value derived from the existence of the Receipt element for a leg, i.e. PMode[1].Security.Receipt := boolean(./Receipt).

Diagram
Diagram pmode.tmp#ReceiptType_ReplyPattern pmode.tmp#ReceiptType_To pmode.tmp#ReceiptType_NotifyReceiptToBusinessApplication pmode.tmp#ReceiptType_ReceiptDelivery pmode.tmp#ReceiptType
Type tns:ReceiptType
Properties
content complex
minOccurs 0
[ top ]
Element tns:ReceiptType / tns:ReplyPattern
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations

This element represents the PMode.Security.SendReceipt.ReplyPattern parameter and indicates whether the Receipt signal is to be sent as a callback (value "CALLBACK"), or synchronously in the transport back-channel response (value "RESPONSE"). When set to "CALLBACK" also the sibling To MUST be set if this leg uses Push. When this leg uses Pull the To element MAY be ommitted in which case the Receipt will be piggybacked with the next Pull Request.

Diagram
Diagram pmode.tmp#ReplyPatternType
Type tns:ReplyPatternType
Properties
content simple
Facets
enumeration RESPONSE
enumeration CALLBACK
[ top ]
Element tns:ReceiptType / tns:To
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations

This element contains the URL where the Receipt signals should be sent to in case the reply pattern is set to "CALLBACK".

NOTE: This P-Mode parameter is not defined in the ebMS V3 Core Specification but defined in Part 2 (see issue 33 in OASIS TC issue tracker).

Diagram
Diagram
Type xs:string
Properties
content simple
minOccurs 0
[ top ]
Element tns:ReceiptType / tns:NotifyReceiptToBusinessApplication
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations

This element indicates whether the Producer, i.e. the business application that submitted the user message, should be notified about the reception of the Receipt signal.

Note that the ebMS specifications do not specify a specific parameter for the receipt notification. There is only the parameter PMode[1].ErrorHandling.Report.MissingReceiptNotifyProducer defined in the AS4 Profile to indicate whether the business application should be notified about a missing receipt, but not about receiving one. The NotifyReceiptToBusinessApplication element applies to both situations, receiving or missing an expected receipt. It is not possible to configure these situations separately.

Also note that for detecting a missing receipt an interval to wait for a Receipt has to be specified. This is however part of the AS4 Reception Awareness feature and therefore also part of its configuration.

Diagram
Diagram
Type xs:boolean
Properties
content simple
[ top ]
Element tns:ReceiptType / tns:ReceiptDelivery
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations

Like the delivery of user message the notification to the business application is done by a "message deliverer". With this element a specific delivery method can be configured for the notification of Receipts. If this element is absent the default delivery method of the leg will be used for the delivery of the Receipt.

Diagram
Diagram pmode.tmp#DeliverySpecification_DeliveryMethod pmode.tmp#DeliverySpecification_Parameter pmode.tmp#DeliverySpecification
Type tns:DeliverySpecification
Properties
content complex
minOccurs 0
[ top ]
Element tns:DeliverySpecification / tns:DeliveryMethod
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations

Delivery of messages in Holodeck B2B is done by a message deliver, which is a class implementing the org.holodeckb2b.common.delivery.IMessageDeliverer interface. Because it may not be efficient to create a new instance each time a message must be delivered Holodeck B2B uses a factory class to get a deliverer (see the org.holodeckb2b.common.delivery.IMessageDelivererFactory interface). In this element the name factory class must be specified. To correctly deliver messages to the business application probably the deliverer should be configured. This can be done by specifying the required parameters in the sibling Parameter elements.

Diagram
Diagram pmode.tmp#non-empty-string
Type tns:non-empty-string
Properties
content simple
Facets
minLength 1
[ top ]
Element tns:DeliverySpecification / tns:Parameter
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations

This element can be used to configure the message deliverer factory to create a correctly configured message deliver.

Diagram
Diagram pmode.tmp#ParameterType_name pmode.tmp#ParameterType_value pmode.tmp#ParameterType
Type tns:ParameterType
Properties
content complex
minOccurs 0
maxOccurs unbounded
[ top ]
Element tns:ParameterType / tns:name
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Diagram
Diagram pmode.tmp#non-empty-string
Type tns:non-empty-string
Properties
content simple
Facets
minLength 1
[ top ]
Element tns:ParameterType / tns:value
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Diagram
Diagram pmode.tmp#non-empty-string
Type tns:non-empty-string
Properties
content simple
Facets
minLength 1
[ top ]
Element tns:Leg / tns:ReceptionAwareness
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations

The ReceptionAwareness element is used for configuration of the Reception Awareness Feature specified in section 3.2 of the AS4 profile. As this feature depends on the use of Receipts the Receipt element MUST also be included in the P-Mode document when this element is included.

The AS4 profile defines five additional P-Mode parameters for the reception awareness feature. Holodeck B2B uses only three parameters as some of the P-Mode parameters from the spec are combined.

Diagram
Diagram pmode.tmp#ReceptionAwareness_MaxRetries pmode.tmp#ReceptionAwareness_RetryInterval pmode.tmp#ReceptionAwareness_UseDuplicateElimination pmode.tmp#ReceptionAwareness
Type tns:ReceptionAwareness
Properties
content complex
minOccurs 0
[ top ]
Element tns:ReceptionAwareness / tns:MaxRetries
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations

This element sets the maximum of times a message should be resende if no Receipt is received. Setting this value to zero disables the retry functionality.

When no Receipt is received before the last wait interval expires a MissingReceipt error is generated. This error is always logged by Holodeck B2B but whether the business application will be notified depends on the NotifyReceiptToBusinessApplication setting.

Diagram
Diagram
Type xs:int
Properties
content simple
[ top ]
Element tns:ReceptionAwareness / tns:RetryInterval
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations

This element contains the time interval, in seconds, before a message is resend, i.e. the time to wait for a Receipt.

Diagram
Diagram
Type xs:long
Properties
content simple
[ top ]
Element tns:ReceptionAwareness / tns:UseDuplicateElimination
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations

Part of the reception awareness feature is duplicate detection and elimination. With this element the detection and elimination of duplicates can be enabled. If set to "true" Holodeck B2B will search all received messages in database to check if the message was received (and delivered) before and stop processing the duplicate if it is. There is no further parameterization.

Diagram
Diagram
Type xs:boolean
Properties
content simple
minOccurs 1
default true
[ top ]
Element tns:Leg / tns:DefaultDelivery
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations

With this element the delivery of received messages is configured. This element MUST be included when Holodeck B2B is the receiver of user messages on this leg.

If Holodeck B2B only sends messages on this leg the element may be ommited. If however the business application should be notified on errors or receipts it may be usefull to define one default delivery method instead of specifying it for errors and receipts separately.

Diagram
Diagram pmode.tmp#DeliverySpecification_DeliveryMethod pmode.tmp#DeliverySpecification_Parameter pmode.tmp#DeliverySpecification
Type tns:DeliverySpecification
Properties
content complex
minOccurs 0
[ top ]
Element tns:Leg / tns:PullRequestFlow
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations

This element configures the processing of the PullRequest and MUST be included at least once when the leg uses pulling.

There should be at most one PullRequestFlow element when Holodeck B2B is the sender of the PullRequest, but when Holodeck B2B acts as the responder to the pull requests the element can be included multiple times to configure the sub-channels that can be pulled. Each instance represents one sub-channel that MUST be identified by the Mpc element. For more information on sub channnels see section 3.5 of the AS4 profile.

The error handling configuration is currently limited to indication whether errors should be reported to the business application as the other settings are not useful in case of a pull request. As a result the error handling configuration only applies to the sender of the PullRequest message.

Diagram
Diagram pmode.tmp#PullRequestFlowType_Mpc pmode.tmp#PullRequestFlowType_ErrorHandling pmode.tmp#PullRequestFlowType_SecurityConfiguration pmode.tmp#PullRequestFlowType
Type tns:PullRequestFlowType
Properties
content complex
minOccurs 0
maxOccurs unbounded
[ top ]
Element tns:PullRequestFlowType / tns:Mpc
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations

This REQUIRED element contains the MPC that must be included in the pull request. This can be a sub-channel MPC specific for this pull request. In that case this sub-channel MPC must start with the MPC provided in/for the (to be) pulled user message.

Diagram
Diagram
Type xs:anyURI
Properties
content simple
[ top ]
Element tns:PullRequestFlowType / tns:ErrorHandling
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations

This element defines how errors related to the pull request message exchange should be handled. Currently the configuration for pull request is limited to notifying of errors to the business application as error reporting is fixed to a synchronous response

Diagram
Diagram pmode.tmp#ErrorHandling_ReplyPattern pmode.tmp#ErrorHandling_ReceiverErrorsTo pmode.tmp#ErrorHandling_AddSOAPFault pmode.tmp#ErrorHandling_ReportErrorOnError pmode.tmp#ErrorHandling_ReportErrorOnReceipt pmode.tmp#ErrorHandling_NotifyErrorToBusinessApplication pmode.tmp#ErrorHandling_ErrorDelivery pmode.tmp#ErrorHandling pmode.tmp#PullErrorHandling_ReplyPattern pmode.tmp#PullErrorHandling_NotifyErrorToBusinessApplication pmode.tmp#PullErrorHandling_ErrorDelivery pmode.tmp#PullErrorHandling
Type tns:PullErrorHandling
Properties
content complex
minOccurs 0
[ top ]
Element tns:ErrorHandling / tns:ReplyPattern
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations
Defines how the error should be reported to sender of the message in error. The default is to sent the error directly as a response to the received message or when the message in error is pulled to push the error to the sender (using the URL specified in the Protocol/Address element of this leg). When the error should be reported to a specific URL the reply pattern must be set to "CALLBACK" and the URL must be supplied in the ReceiverErrorsTo element. Note that this setting is generally only used when Holodeck B2B acts as in the receiving role.
Diagram
Diagram pmode.tmp#ReplyPatternType
Type tns:ReplyPatternType
Properties
content simple
minOccurs 0
default RESPONSE
Facets
enumeration RESPONSE
enumeration CALLBACK
[ top ]
Element tns:ErrorHandling / tns:ReceiverErrorsTo
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations
This element should contain the URL where generated errors for received messages should be sent to in case the reply pattern is CALLBACK. Note that this setting is generally only used when Holodeck B2B acts as in the receiving role.
Diagram
Diagram pmode.tmp#non-empty-string
Type tns:non-empty-string
Properties
content simple
minOccurs 0
Facets
minLength 1
[ top ]
Element tns:ErrorHandling / tns:AddSOAPFault
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations
This element indicates whether a SOAP Fault should be added to ebMS error messages that contain an error with severity FAILURE. By default Holodeck B2B will not add the SOAP Fault, therefor the default value is set to false. NOTE: Even if this element has value true the SOAP Fault may not be added to the message if it contains other message units beside the error signal.
Diagram
Diagram
Type xs:boolean
Properties
content simple
minOccurs 0
default false
[ top ]
Element tns:ErrorHandling / tns:ReportErrorOnError
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations
This element indicates whether errors that are generated for error messages should be reported back to the sender of the erroneous error message. Overwrites the global setting configured in the Holodeck B2B Core module.xml. Note that this setting can only be applied when the P-Mode can be detected for the erroneous error.
Diagram
Diagram
Type xs:boolean
Properties
content simple
minOccurs 0
[ top ]
Element tns:ErrorHandling / tns:ReportErrorOnReceipt
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations
This element indicates whether errors that are generated for receipt messages should be reported back to the sender of the erroneous receipt message. Overwrites the global setting configured in the Holodeck B2B Core module.xml. Note that this setting can only be applied when the P-Mode can be detected for the erroneous receipt.
Diagram
Diagram
Type xs:boolean
Properties
content simple
minOccurs 0
[ top ]
Element tns:ErrorHandling / tns:NotifyErrorToBusinessApplication
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations
This element configures whether errors on user messages exchanged on this leg should be notified to the producer business application. The notification of errors uses the same delivery mechanism as user messages with a message deliver. If the business application should be notified on errors a specific delivery can be specified in the ErrorDelivery element.
Diagram
Diagram
Type xs:boolean
Properties
content simple
minOccurs 0
default false
[ top ]
Element tns:ErrorHandling / tns:ErrorDelivery
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations

The notification of errors uses the same delivery mechanism as user messages with a message deliver. If the business application should be notified on errors for pull request a specific delivery can be specified in this element.

If no specific delivery method is specified the delivery method defined here, the leg's default delivery will be used.

Diagram
Diagram pmode.tmp#DeliverySpecification_DeliveryMethod pmode.tmp#DeliverySpecification_Parameter pmode.tmp#DeliverySpecification
Type tns:DeliverySpecification
Properties
content complex
minOccurs 0
[ top ]
Element tns:PullErrorHandling / tns:ReplyPattern
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations

This element specifies how errors on a PullRequest must be reported to the sender of the request. In the current version only direct synchronous reporting is supported so the value of this element is fixed to RESPONSE.

Diagram
Diagram pmode.tmp#ReplyPatternType
Type tns:ReplyPatternType
Properties
content simple
minOccurs 0
fixed RESPONSE
Facets
enumeration RESPONSE
enumeration CALLBACK
[ top ]
Element tns:PullErrorHandling / tns:NotifyErrorToBusinessApplication
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations

This element configures whether errors on pull request messages exchanged on this leg should be notified to the producer business application. If errors should be delivered to the business applicatio a delivery method shoud be specified either specifically for these errors or more generic on the leg.

Diagram
Diagram
Type xs:boolean
Properties
content simple
minOccurs 0
default false
[ top ]
Element tns:PullErrorHandling / tns:ErrorDelivery
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations

The notification of errors uses the same delivery mechanism as user messages with a message deliver. If the business application should be notified on errors for pull request a specific delivery can be specified in this element.

If no specific delivery method is specified the delivery method defined in the ErrorHandling element of the UserMessageFlow will be used, and if that element is not specified as well the leg's default delivery will be used.

Diagram
Diagram pmode.tmp#DeliverySpecification_DeliveryMethod pmode.tmp#DeliverySpecification_Parameter pmode.tmp#DeliverySpecification
Type tns:DeliverySpecification
Properties
content complex
minOccurs 0
[ top ]
Element tns:PullRequestFlowType / tns:SecurityConfiguration
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations

This element the security configuration that should be used to authenticate and authorize the pull request message.

Diagram
Diagram pmode.tmp#SecurityConfiguration_UsernameToken pmode.tmp#SecurityConfiguration_Signing pmode.tmp#SecurityConfiguration_Encryption pmode.tmp#SecurityConfiguration pmode.tmp#PullSecurityConfiguration_UsernameToken pmode.tmp#PullSecurityConfiguration_Signing pmode.tmp#PullSecurityConfiguration
Type tns:PullSecurityConfiguration
Properties
content complex
minOccurs 0
[ top ]
Element tns:PullSecurityConfiguration / tns:UsernameToken
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations

This element contains the configuration for the UsernameToken element to include in the WS-Security header targeted at the "ebms" role/actor.

Diagram
Diagram pmode.tmp#UsernameToken_target pmode.tmp#UsernameToken_username pmode.tmp#UsernameToken_password pmode.tmp#UsernameToken_includeNonce pmode.tmp#UsernameToken_includeCreated pmode.tmp#UsernameToken
Type tns:UsernameToken
Properties
content complex
minOccurs 0
maxOccurs 1
Attributes
QName Type Use Annotation
target restriction of xs:string optional

The target attribute specifies the header in which this username token should be added. When not specified the username token is added to the default header.

[ top ]
Element tns:PullSecurityConfiguration / tns:Signing
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations

This element contains the configuration for the Signature element to include in the "default" WS-Security header.

Diagram
Diagram pmode.tmp#SignatureConfiguration_KeystoreAlias pmode.tmp#SignatureConfiguration_enableRevocationCheck pmode.tmp#SignatureConfiguration_KeyReferenceMethod pmode.tmp#SignatureConfiguration_IncludeCertificatePath pmode.tmp#SignatureConfiguration_Algorithm pmode.tmp#SignatureConfiguration_HashFunction pmode.tmp#SignatureConfiguration
Type tns:SignatureConfiguration
Properties
content complex
minOccurs 0
[ top ]
Element tns:Leg / tns:UserMessageFlow
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations

This element configures the processing of user messages exchanged on this leg.

Again all child elements are optional as default values can be used or information can be provided when a user message is submitted.

Diagram
Diagram pmode.tmp#UsermessageFlow_BusinessInfo pmode.tmp#UsermessageFlow_ErrorHandling pmode.tmp#UsermessageFlow_PayloadProfile pmode.tmp#UsermessageFlow
Type tns:UsermessageFlow
Properties
content complex
minOccurs 0
[ top ]
Element tns:UsermessageFlow / tns:BusinessInfo
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations
Contains the business meta data to use in the ebMS header. When acting in the Sending role, the information is used to construct the header. As the information may also be supplied when the message is submitted there are no required elements in the P-Mode. When acting in the Receiving role the information provided here can be used to determine the P-Mode that defines how the message should be processed.
NOTE: Current Holodeck B2B only uses the P-Mode id in the message header to determine the P-Mode.
Diagram
Diagram pmode.tmp#BusinessInfo_Action pmode.tmp#BusinessInfo_Mpc pmode.tmp#BusinessInfo_Service pmode.tmp#BusinessInfo_Property pmode.tmp#BusinessInfo
Type tns:BusinessInfo
Properties
content complex
minOccurs 0
maxOccurs 1
[ top ]
Element tns:BusinessInfo / tns:Action
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations
This element contains the business level operation/activity requested to be executed. It is represented by the eb:Action element in the ebMS header.
Diagram
Diagram pmode.tmp#non-empty-string
Type tns:non-empty-string
Properties
content simple
minOccurs 0
maxOccurs 1
Facets
minLength 1
[ top ]
Element tns:BusinessInfo / tns:Mpc
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations
This element contains the MPC the user message is exchanged over. It is contained in the mpc attribute of the eb:UserMessage element in the ebMS header.
Diagram
Diagram
Type xs:anyURI
Properties
content simple
minOccurs 0
[ top ]
Element tns:BusinessInfo / tns:Service
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations
This element contains the meta-data on the business service that is [supposed] to handle the user message and consist of a service name and optionally type. The information from this element will be used in the eb:Service element in the ebMS header.
Diagram
Diagram pmode.tmp#Service_name pmode.tmp#Service_type pmode.tmp#Service
Type tns:Service
Properties
content complex
minOccurs 0
[ top ]
Element tns:Service / tns:name
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Diagram
Diagram pmode.tmp#non-empty-string
Type tns:non-empty-string
Properties
content simple
Facets
minLength 1
[ top ]
Element tns:Service / tns:type
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Diagram
Diagram pmode.tmp#non-empty-string
Type tns:non-empty-string
Properties
content simple
minOccurs 0
Facets
minLength 1
[ top ]
Element tns:BusinessInfo / tns:Property
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations
This element defines a property to include in the set of MessageProperties.
Diagram
Diagram pmode.tmp#Property_name pmode.tmp#Property_value pmode.tmp#Property
Type tns:Property
Properties
content complex
minOccurs 0
maxOccurs unbounded
[ top ]
Element tns:Property / tns:name
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Diagram
Diagram pmode.tmp#non-empty-string
Type tns:non-empty-string
Properties
content simple
Facets
minLength 1
[ top ]
Element tns:Property / tns:value
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Diagram
Diagram
Type xs:string
Properties
content simple
[ top ]
Element tns:UsermessageFlow / tns:ErrorHandling
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations
This element defines how errors related to the user message exchange should be handled.
Diagram
Diagram pmode.tmp#ErrorHandling_ReplyPattern pmode.tmp#ErrorHandling_ReceiverErrorsTo pmode.tmp#ErrorHandling_AddSOAPFault pmode.tmp#ErrorHandling_ReportErrorOnError pmode.tmp#ErrorHandling_ReportErrorOnReceipt pmode.tmp#ErrorHandling_NotifyErrorToBusinessApplication pmode.tmp#ErrorHandling_ErrorDelivery pmode.tmp#ErrorHandling
Type tns:ErrorHandling
Properties
content complex
minOccurs 0
[ top ]
Element tns:UsermessageFlow / tns:PayloadProfile
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Diagram
Diagram pmode.tmp#PayloadProfile_UseAS4Compression pmode.tmp#PayloadProfile
Type tns:PayloadProfile
Properties
content complex
minOccurs 0
[ top ]
Element tns:PayloadProfile / tns:UseAS4Compression
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations
This element specifies whether the AS4 Compression Feature should be used. If enabled all payloads contained as attachment to the SOAP message will be compressed using gzip. The compression is not applied to paylaods contained in the SOAP body or on an external location. Although the specification allows implementations not to compress payloads using a file type that is already compressed Holodeck B2B will always compress all attached payloads.
Diagram
Diagram
Type xs:boolean
Properties
content simple
minOccurs 0
default false
[ top ]
Element tns:Leg / tns:EventHandlers
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations

This element contains one or more EventHandler element that contain the configuration for handling "events" that can occur during the processing of message units on this leg. These message processing events are used to provide additional information to the business application about the processing of a message unit in addition to the formally specified Submit, Deliver and Notify operations. An example of an event is that a message unit has been (re)sent.

Diagram
Diagram pmode.tmp#Leg_Leg_EventHandlers_EventHandler
Properties
content complex
minOccurs 0
maxOccurs 1
[ top ]
Element tns:Leg / tns:EventHandlers / tns:EventHandler
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations

This element contains the configuration of one event handler and consists of a sequence with four child elements. The first and REQUIRED child is HandlerFactoryClass which contains the class name of the factory class that creates the actual handlers.

The second and third elements in the sequence configure which events are handled by this handler by restricting the event types that are handled and for which message units. Both elements are optional and when not provided the handler will handle all events / message units. The HandledEvent element contains the class name of the handled event. The ForMesssgeUnit uses an enumeration to indicate the message unit type.

The last child element is the Parameter element that can occur zero or more times and contains the settings to initialize the handler.

Diagram
Diagram pmode.tmp#EventHandlerConfiguration_HandlerFactoryClass pmode.tmp#EventHandlerConfiguration_HandledEvent pmode.tmp#EventHandlerConfiguration_ForMessageUnit pmode.tmp#EventHandlerConfiguration_Parameter pmode.tmp#EventHandlerConfiguration
Type tns:EventHandlerConfiguration
Properties
content complex
maxOccurs unbounded
[ top ]
Element tns:EventHandlerConfiguration / tns:HandlerFactoryClass
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Diagram
Diagram pmode.tmp#non-empty-string
Type tns:non-empty-string
Properties
content simple
Facets
minLength 1
[ top ]
Element tns:EventHandlerConfiguration / tns:HandledEvent
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Diagram
Diagram pmode.tmp#non-empty-string
Type tns:non-empty-string
Properties
content simple
minOccurs 0
maxOccurs unbounded
Facets
minLength 1
[ top ]
Element tns:EventHandlerConfiguration / tns:ForMessageUnit
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Diagram
Diagram
Type restriction of xs:string
Properties
content simple
minOccurs 0
maxOccurs unbounded
Facets
enumeration UserMessage
enumeration SignalMessage
enumeration Receipt
enumeration Error
enumeration PullRequest
[ top ]
Element tns:EventHandlerConfiguration / tns:Parameter
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Diagram
Diagram pmode.tmp#ParameterType_name pmode.tmp#ParameterType_value pmode.tmp#ParameterType
Type tns:ParameterType
Properties
content complex
minOccurs 0
maxOccurs unbounded
[ top ]
Element tns:PullBusinessInfo / tns:Mpc
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations
The MPC on which the pull operation takes place.
Diagram
Diagram
Type xs:anyURI
Properties
content simple
minOccurs 1
[ top ]
Complex Type tns:PMode
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Diagram
Diagram pmode.tmp#http___holodeck-b2b.org_schemas_2014_10_pmode_PMode_id pmode.tmp#http___holodeck-b2b.org_schemas_2014_10_pmode_PMode_mep pmode.tmp#http___holodeck-b2b.org_schemas_2014_10_pmode_PMode_mepBinding pmode.tmp#http___holodeck-b2b.org_schemas_2014_10_pmode_PMode_Initiator pmode.tmp#http___holodeck-b2b.org_schemas_2014_10_pmode_PMode_Responder pmode.tmp#http___holodeck-b2b.org_schemas_2014_10_pmode_PMode_Agreement pmode.tmp#http___holodeck-b2b.org_schemas_2014_10_pmode_PMode_Leg
[ top ]
Simple Type tns:non-empty-string
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Diagram
Diagram
Type restriction of xs:string
Facets
minLength 1
[ top ]
Complex Type tns:TradingPartner
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations

The trading partner configuration MUST contain at least the identification of the trading partner or the security settings to use. If only the security configuration is set, the PartyId(s) to use in the message MUST be specified when a User Message is submitted.

If multiple PartyId elements are included all party ids will be included in the message and used to find the P-Mode. The business role the trading partner is acting in is OPTIONAL and can be provided when the message is submitted.

The settings for signing, encryption and/or usernametokens can be specified in the SecurityConfiguration child element. This is different from the ebMS specification where the security parameters are defined on the leg level (or maybe even finer grained per message, but that is not really clear). Within Holodeck B2B we assume however that security settings are determined by the trading partners involved in the message exchange. Therefor the security configuration is part of the trading partner configuration in the P-Mode.

The security configuration contains the settings that are specific to this trading partner; the settings related to signing define how this trading partner will sign it messages, and the encryption settings define how messages to this trading partner must be encrypted.

This means that the security configuration of trading partner for which Holodeck B2B is the MSH contains the private keys and that the security configuration for the other partner contains the public keys.

NOTE: Specifying security configuration implies that also a party id must be specified (as PartyId is a required child element). Because the security configuration applies to a certain organisation we assume that a party id will be known as well.

Diagram
Diagram pmode.tmp#TradingPartner_PartyId pmode.tmp#TradingPartner_Role pmode.tmp#TradingPartner_SecurityConfiguration
[ top ]
Complex Type tns:PartyId
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Diagram
Diagram pmode.tmp#non-empty-string pmode.tmp#PartyId_type
Type extension of tns:non-empty-string
Attributes
QName Type Use
type tns:non-empty-string optional
[ top ]
Complex Type tns:SecurityConfiguration
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations

This type defines the configuration settings that define the content of the WS-Security headers in the message. As described in section 7 of the ebMS V3 Core Specification there can be two WS-Security headers in an ebMS message, one targeted at the default role/actor and one at the "ebms" role/actor. The latter is used for authentication/authorization of the ebMS message units, for example check whether the PullRequest is allowed and may only contain a WS-Security UsernameToken element. The default WS-Security header is used for signing and encryption of the message, but can also contain an UsernameToken.

The settings in the child elements correspond to the P-Mode parameter group PMode[1].Security and for the username token in the "ebms" targeted header P-Mode parameter group PMode.Intiator.Authorization or PMode.Responder.Authorization depending on the parent element.

Diagram
Diagram pmode.tmp#SecurityConfiguration_UsernameToken pmode.tmp#SecurityConfiguration_Signing pmode.tmp#SecurityConfiguration_Encryption
[ top ]
Complex Type tns:UsernameToken
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations

This type specifies the configuration settings for a WS-Security UsernameToken element to include in a WS-Security header. See the Web Services Security Username Token Profile Version 1.1.1 for more information.

It contains two REQUIRED elements for specifying the username and password to include in the token and two OPTIONAL elements to indicate whether a nonce and created timestamp should be included in the username token. Default the most secure settings are used, i.e. digested password and inclusion of both nonce and created timestamp.

Diagram
Diagram pmode.tmp#UsernameToken_target pmode.tmp#UsernameToken_username pmode.tmp#UsernameToken_password pmode.tmp#UsernameToken_includeNonce pmode.tmp#UsernameToken_includeCreated
Attributes
QName Type Use Annotation
target restriction of xs:string optional

The target attribute specifies the header in which this username token should be added. When not specified the username token is added to the default header.

[ top ]
Complex Type tns:SignatureConfiguration
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations

This type specifies the configuration settings for the Signature in included in the WS-Security header. The settings in this element correspond with the P-Mode parameter group PMode[1].Security.X509.Sign.

The configuration contained in this element is only required when creating the signature, i.e. when Holodeck B2B is the sender of the message. For incoming message Holodeck B2B validation of the signature is based on the information provided in the message itself.

Diagram
Diagram pmode.tmp#SignatureConfiguration_KeystoreAlias pmode.tmp#SignatureConfiguration_enableRevocationCheck pmode.tmp#SignatureConfiguration_KeyReferenceMethod pmode.tmp#SignatureConfiguration_IncludeCertificatePath pmode.tmp#SignatureConfiguration_Algorithm pmode.tmp#SignatureConfiguration_HashFunction
[ top ]
Complex Type tns:KeystoreAliasType
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Diagram
Diagram pmode.tmp#KeystoreAliasType_password
Type extension of xs:token
Attributes
QName Type Use
password xs:token optional
[ top ]
Simple Type tns:KeyReferenceMethods
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations
Enumeration of the methods to refer to an X.509 certificate in the WS-Security header. These methods are specified in section 3.2 of the WS-Security X.509 Certificate Token Profile Version 1.1.1 specification.
Diagram
Diagram
Type restriction of xs:string
Facets
enumeration BSTReference
enumeration IssuerSerial
enumeration KeyIdentifier
[ top ]
Complex Type tns:EncryptionConfiguration
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations

This type specifies the configuration settings for encrypting the message as specified in WS-Security. The settings in this element correspond with the P-Mode parameter group PMode[1].Security.X509.Encryption.

Most of the configuration contained in this element is only required when encrypting the message, i.e. when Holodeck B2B is the sender of the message. For incoming message the keystore alias and password MUST be provided to give Holodeck B2B access to the private key required for decryption. Further information to decrypt the message is retrieved from security header in the message itself.

Diagram
Diagram pmode.tmp#EncryptionConfiguration_KeystoreAlias pmode.tmp#EncryptionConfiguration_Algorithm pmode.tmp#EncryptionConfiguration_KeyTransport
[ top ]
Complex Type tns:KeyTransport
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Diagram
Diagram pmode.tmp#KeyTransport_Algorithm pmode.tmp#KeyTransport_MGFAlgorithm pmode.tmp#KeyTransport_DigestAlgorithm pmode.tmp#KeyTransport_KeyReferenceMethod
[ top ]
Complex Type tns:Agreement
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Diagram
Diagram pmode.tmp#Agreement_type pmode.tmp#Agreement_name
[ top ]
Complex Type tns:Leg
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Diagram
Diagram pmode.tmp#Leg_label pmode.tmp#Leg_Protocol pmode.tmp#Leg_Receipt pmode.tmp#Leg_ReceptionAwareness pmode.tmp#Leg_DefaultDelivery pmode.tmp#Leg_PullRequestFlow pmode.tmp#Leg_UserMessageFlow pmode.tmp#Leg_EventHandlers
Attributes
QName Type Use Annotation
label restriction of xs:string optional

This attribute contains the label of the leg as defined in appendix D of the ebMS V3 Core Specification. Labelling legs is only usefull for a Two-Way MEP, so this element is defined as optional.

NOTE: As Holodeck B2B currently only supports One-Way MEPs the value for this attribute is ignored.

[ top ]
Complex Type tns:Protocol
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Diagram
Diagram pmode.tmp#Protocol_Address pmode.tmp#Protocol_AddActorOrRoleAttribute pmode.tmp#Protocol_SoapVersion pmode.tmp#Protocol_UseChunking pmode.tmp#Protocol_UseHTTPCompression
[ top ]
Complex Type tns:ReceiptType
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations

This type defines the configuration settings for Receipts. The configuration depends on whether Holodeck B2B is acting in the sending or receiving role:

  • When acting as the receiver the ReplyPattern and To child elements define how a Receipt signal must be sent back to the sender of the user message.
  • When acting as the sender the NotifyReceiptToBusinessApplication and ReceiptDelivery elements define whether and how received Receipts should be notified to the producing business application.

Diagram
Diagram pmode.tmp#ReceiptType_ReplyPattern pmode.tmp#ReceiptType_To pmode.tmp#ReceiptType_NotifyReceiptToBusinessApplication pmode.tmp#ReceiptType_ReceiptDelivery
[ top ]
Simple Type tns:ReplyPatternType
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Diagram
Diagram
Type restriction of xs:string
Facets
enumeration RESPONSE
enumeration CALLBACK
[ top ]
Complex Type tns:DeliverySpecification
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Diagram
Diagram pmode.tmp#DeliverySpecification_DeliveryMethod pmode.tmp#DeliverySpecification_Parameter
[ top ]
Complex Type tns:ParameterType
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Diagram
Diagram pmode.tmp#ParameterType_name pmode.tmp#ParameterType_value
[ top ]
Complex Type tns:ReceptionAwareness
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Diagram
Diagram pmode.tmp#ReceptionAwareness_MaxRetries pmode.tmp#ReceptionAwareness_RetryInterval pmode.tmp#ReceptionAwareness_UseDuplicateElimination
[ top ]
Complex Type tns:PullRequestFlowType
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Diagram
Diagram pmode.tmp#PullRequestFlowType_Mpc pmode.tmp#PullRequestFlowType_ErrorHandling pmode.tmp#PullRequestFlowType_SecurityConfiguration
[ top ]
Complex Type tns:PullErrorHandling
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Diagram
Diagram pmode.tmp#ErrorHandling_ReplyPattern pmode.tmp#ErrorHandling_ReceiverErrorsTo pmode.tmp#ErrorHandling_AddSOAPFault pmode.tmp#ErrorHandling_ReportErrorOnError pmode.tmp#ErrorHandling_ReportErrorOnReceipt pmode.tmp#ErrorHandling_NotifyErrorToBusinessApplication pmode.tmp#ErrorHandling_ErrorDelivery pmode.tmp#ErrorHandling pmode.tmp#PullErrorHandling_ReplyPattern pmode.tmp#PullErrorHandling_NotifyErrorToBusinessApplication pmode.tmp#PullErrorHandling_ErrorDelivery
Type restriction of tns:ErrorHandling
[ top ]
Complex Type tns:ErrorHandling
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Diagram
Diagram pmode.tmp#ErrorHandling_ReplyPattern pmode.tmp#ErrorHandling_ReceiverErrorsTo pmode.tmp#ErrorHandling_AddSOAPFault pmode.tmp#ErrorHandling_ReportErrorOnError pmode.tmp#ErrorHandling_ReportErrorOnReceipt pmode.tmp#ErrorHandling_NotifyErrorToBusinessApplication pmode.tmp#ErrorHandling_ErrorDelivery
[ top ]
Complex Type tns:PullSecurityConfiguration
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Annotations

This type defines the security configuration that can be used to authenticate and authorize a PullRequest message. Holodeck B2B supports the authentication and authorization methods required by the AS4 profile, i.e. a UsernameToken in the WS-Security header targeted at the "ebms" role/actor or a Signature in the default WS-Security header.

As this authorization is also based on WS-Security headers this type uses the general SecurityConfiguration type as its base and restricts the options to one username token and a signature.

Diagram
Diagram pmode.tmp#SecurityConfiguration_UsernameToken pmode.tmp#SecurityConfiguration_Signing pmode.tmp#SecurityConfiguration_Encryption pmode.tmp#SecurityConfiguration pmode.tmp#PullSecurityConfiguration_UsernameToken pmode.tmp#PullSecurityConfiguration_Signing
Type restriction of tns:SecurityConfiguration
[ top ]
Complex Type tns:UsermessageFlow
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Diagram
Diagram pmode.tmp#UsermessageFlow_BusinessInfo pmode.tmp#UsermessageFlow_ErrorHandling pmode.tmp#UsermessageFlow_PayloadProfile
[ top ]
Complex Type tns:BusinessInfo
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Diagram
Diagram pmode.tmp#BusinessInfo_Action pmode.tmp#BusinessInfo_Mpc pmode.tmp#BusinessInfo_Service pmode.tmp#BusinessInfo_Property
[ top ]
Complex Type tns:Service
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Diagram
Diagram pmode.tmp#Service_name pmode.tmp#Service_type
[ top ]
Complex Type tns:Property
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Diagram
Diagram pmode.tmp#Property_name pmode.tmp#Property_value
[ top ]
Complex Type tns:PayloadProfile
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Diagram
Diagram pmode.tmp#PayloadProfile_UseAS4Compression
[ top ]
Complex Type tns:EventHandlerConfiguration
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Diagram
Diagram pmode.tmp#EventHandlerConfiguration_HandlerFactoryClass pmode.tmp#EventHandlerConfiguration_HandledEvent pmode.tmp#EventHandlerConfiguration_ForMessageUnit pmode.tmp#EventHandlerConfiguration_Parameter
[ top ]
Complex Type tns:PullBusinessInfo
Namespace http://holodeck-b2b.org/schemas/2014/10/pmode
Diagram
Diagram pmode.tmp#BusinessInfo_Action pmode.tmp#BusinessInfo_Mpc pmode.tmp#BusinessInfo_Service pmode.tmp#BusinessInfo_Property pmode.tmp#BusinessInfo pmode.tmp#PullBusinessInfo_Mpc
Type restriction of tns:BusinessInfo
[ top ]
Attribute tns:PMode / tns:id / @include
Namespace No namespace
Type xs:boolean
Properties
default false
[ top ]
Attribute tns:PartyId / @type
Namespace No namespace
Type tns:non-empty-string
Properties
content simple
Facets
minLength 1
[ top ]
Attribute tns:UsernameToken / tns:password / @type
Namespace No namespace
Annotations

This OPTIONAL attribute is used for specifying the password type that should be used, i.e. clear text (value="Text") or digest (value="Digest"). When not specified "digest" will be used as the default because it is more secure.

Type restriction of xs:string
Properties
default Digest
Facets
enumeration Text
enumeration Digest
[ top ]
Attribute tns:UsernameToken / @target
Namespace No namespace
Annotations

The target attribute specifies the header in which this username token should be added. When not specified the username token is added to the default header.

Type restriction of xs:string
Properties
default
Facets
enumeration
enumeration ebms
[ top ]
Attribute tns:KeystoreAliasType / @password
Namespace No namespace
Type xs:token
Properties
content simple
[ top ]
Attribute tns:Leg / @label
Namespace No namespace
Annotations

This attribute contains the label of the leg as defined in appendix D of the ebMS V3 Core Specification. Labelling legs is only usefull for a Two-Way MEP, so this element is defined as optional.

NOTE: As Holodeck B2B currently only supports One-Way MEPs the value for this attribute is ignored.

Type restriction of xs:string
Properties
use optional
Facets
enumeration REQUEST
enumeration REPLY
[ top ]