AS4 Profile of ebMS V3 Version 1.0

Committee Draft 02 / Public Review 02

7 October 2009

Specification URIs:

This Version:

http://docs.oasis-open.org/ebxml-msg/ebms/v3.0/profiles/200707/AS4-profile-cd-02.pdf  (Authoritative)

http://docs.oasis-open.org/ebxml-msg/ebms/v3.0/profiles/200707/AS4-profile-cd-02.html

http://docs.oasis-open.org/ebxml-msg/ebms/v3.0/profiles/200707/AS4-profile-cd-02.odt

Previous Version:

http://docs.oasis-open.org/ebxml-msg/ebms/v3.0/profiles/200707/AS4-profile-cd-01.pdf

http://docs.oasis-open.org/ebxml-msg/ebms/v3.0/profiles/200707/AS4-profile-cd-01.html

http://docs.oasis-open.org/ebxml-msg/ebms/v3.0/profiles/200707/AS4-profile-cd-01.odt

Latest Version:

http://docs.oasis-open.org/ebxml-msg/ebms/v3.0/profiles/200707/AS4-profile.pdf

http://docs.oasis-open.org/ebxml-msg/ebms/v3.0/profiles/200707/AS4-profile.html

http://docs.oasis-open.org/ebxml-msg/ebms/v3.0/profiles/200707/AS4-profile.odt

Technical Committee:

OASIS ebXML Messaging Services TC

Chair:

Ian Jones, British Telecommunications plc <ian.c.jones@bt.com>

Editor:

Jacques Durand, Fujitsu Computer Systems <jdurand@us.fujitsu.com>

Related Work:

This specification is related to:

Declared XML Namespace:

 http://docs.oasis-open.org/ebxml-msg/ns/ebms/v3.0/profiles/200707

 

Abstract:

While ebMS 3.0 represents a leap forward in reducing the complexity of Web Services B2B messaging, the specification still contains numerous options and comprehensive alternatives for addressing a variety of scenarios for exchanging data over a Web Services platform. The AS4 profile of the ebMS 3.0 specification has been developed in order to bring continuity to the principles and simplicity that made AS2 successful, while adding better compliance to Web services standards, and features such as message pulling capability and a built-in Receipt mechanism. Using ebMS 3.0 as a base, a subset of functionality is defined along with implementation guidelines adopted based on the “just-enough” design principles and AS2 functional requirements to trim down ebMS 3.0 into a more simplified and AS2-like specification for Web Services B2B messaging. This document defines the AS4 profile as a combination of a conformance profile that concerns an implementation capability, and of a usage profile that concerns how to use this implementation. A couple of variants are defined for the AS4 conformance profile - the AS4 ebHandler profile and the AS4 Light Client profile -  that reflect different endpoint capabilities.  

Status:

This document was last revised or approved by the ebXML Messaging Services Committee on the above date. The level of approval is also listed above. Check the "Latest Version" or "Latest Approved Version" location noted above for possible later revisions of this document.

Technical Committee members should send comments on this specification to the Technical Committee's email list. Others should send comments to the Technical Committee by using the "Send A Comment" button on the Technical Committee’s web page at
http://www.oasis-open.org/committees/ebxml-msg/

For information on whether any patents have been disclosed that may be essential to implementing this specification, and any offers of patent licensing terms, please refer to the Intellectual Property Rights section of the Technical Committee web page at
http://www.oasis-open.org/committees/ebxml-msg/ipr.php

The non-normative errata page for this specification is located at
http://www.oasis-open.org/committees/ebxml-msg/

Notices

Copyright © OASIS® 2009. All Rights Reserved.

All capitalized terms in the following text have the meanings assigned to them in the OASIS Intellectual Property Rights Policy (the "OASIS IPR Policy"). The full Policy may be found at the OASIS website.

This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published, and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this section are included on all such copies and derivative works. However, this document itself may not be modified in any way, including by removing the copyright notice or references to OASIS, except as needed for the purpose of developing any document or deliverable produced by an OASIS Technical Committee (in which case the rules applicable to copyrights, as set forth in the OASIS IPR Policy, must be followed) or as required to translate it into languages other than English.

The limited permissions granted above are perpetual and will not be revoked by OASIS or its successors or assigns.

This document and the information contained herein is provided on an "AS IS" basis and OASIS DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY OWNERSHIP RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

OASIS requests that any OASIS Party or any other party that believes it has patent claims that would necessarily be infringed by implementations of this OASIS Committee Specification or OASIS Standard, to notify OASIS TC Administrator and provide an indication of its willingness to grant patent licenses to such patent claims in a manner consistent with the IPR Mode of the OASIS Technical Committee that produced this specification.

OASIS invites any party to contact the OASIS TC Administrator if it is aware of a claim of ownership of any patent claims that would necessarily be infringed by implementations of this specification by a patent holder that is not willing to provide a license to such patent claims in a manner consistent with the IPR Mode of the OASIS Technical Committee that produced this specification. OASIS may include such claims on its website, but disclaims any obligation to do so.

OASIS takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on OASIS' procedures with respect to rights in any document or deliverable produced by an OASIS Technical Committee can be found on the OASIS website. Copies of claims of rights made available for publication and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this OASIS Committee Specification or OASIS Standard, can be obtained from the OASIS TC Administrator. OASIS makes no representation that any information or list of intellectual property rights will at any time be complete, or that any claims in such list are, in fact, Essential Claims.

The names "OASIS", ebXML, ebXML Messaging Services, ebMS are trademarks of OASIS, the owner and developer of this specification, and should be used only to refer to the organization and its official outputs. OASIS welcomes reference to, and implementation and use of, specifications, while reserving the right to enforce its marks against misleading uses. Please see http://www.oasis‑open.org/who/trademark.php for above guidance.

 

Table of Contents

1 Introduction5

1.1 Terminology6

1.2 Normative References6

1.3 Non-normative References7

2 AS4 Conformance Profiles for ebMS V38

2.1 The AS4 ebHandler Conformance Profile8

2.1.1 Features Set8

2.1.2 WS-I Conformance Profiles11

2.1.3 Processing Mode Parameters11

2.2 The AS4 Light Client Conformance Profile13

2.2.1 Feature Set14

2.2.2 WS-I Conformance Requirements15

2.3 Conformance Profiles Compatibility16

3 AS4 Additional Features17

3.1 Compression17

3.2 Reception  Awareness features and Duplicate Detection18

3.3 Alternative Pull Authorization19

3.4 Semantics of Receipt in AS420

4 AS4 Usage Profile of ebMS 3.021

4.1 AS4 Usage Rules21

4.1.1 Core Components / Modules to be Used21

4.1.2 Bundling rules22

4.1.3 Security Element23

4.1.4 Signing Messages23

4.1.5 Signing SOAP with Attachments Messages23

4.1.6 Encrypting Messages24

4.1.7 Encrypting SOAP with Attachments Messages24

4.1.8 Generating Receipts25

4.1.9 MIME Header and Filename information26

4.2 AS4 Usage Agreements26

4.2.1 Controlling Content and Sending of Receipts26

4.2.2 Error Handling Options27

4.2.3 Securing the PullRequest28

4.2.4 Reception Awareness Parameters29

4.2.5 Default Values of Some PMode Parameters30

4.2.6 HTTP Confidentiality and Security31

4.2.7 Deployment and Processing requirements for CPAs32

4.2.8 Message Payload and Flow Profile32

4.2.9 Additional Deployment or Operational Requirements33

5 Conformance Clauses34

5.1 AS4 ebHandler Conformance Clause34

5.2 AS4 Light Client Conformance Clause34

 Appendix B  Acknowledgments38

 Appendix C  Revision History39

 

1 Introduction

Historically, the platform for mission-critical business-to-business (B2B) transactions have steadily moved from proprietary networks (VANs) to Internet-based protocols free from the data transfer fees imposed by the VAN operators. This trend has been accelerated by lower costs and product ownership, a maturing of technology, internationalization, widespread interoperability, and marketplace momentum. The exchange of EDI business documents over the Internet has substantially increased along with a growing presence of XML and other document types such as binary and text files.  

The Internet messaging services standards that have emerged provide a variety of options for end users to consider when deciding which standard to adopt. These include pre-Internet protocols, the EDIINT series of AS1/AS2/AS3, simple XML over HTTP, government specific frameworks, ebMS 2.0, and Web Services variants. As Internet messaging services standards have matured, new standards are emerging that leverages prior B2B messaging services knowledge for applicability to Web Services messaging.

The emergence of the ebMS 3.0 specification represents a leap forward in Web Services B2B messaging services by meeting the challenge of composing many Web Services standards into a single comprehensive specification for defining the secure and reliable exchange of documents using Web Services. ebMS 3.0 composes the fundamental Web Services standards like SOAP 1.1/1.2, SOAP with Attachments and MTOM, WS-Security 1.0/1.1, and WS-Reliability 1.1/WS-ReliableMessaging 1.1 together with guidance for the packaging of messages and receipts along with definitions of messaging choreographies for orchestrating document exchanges.

Like AS2, ebMS 3.0 brings together many existing standards that govern the packaging, security, and transport of electronic data under the umbrella of a single specification document. While ebMS 3.0 represents a leap forward in reducing the complexity of Web Services B2B messaging, the specification still contains numerous options and comprehensive alternatives for addressing a variety of scenarios for exchanging data over a Web Services platform.

In order to fully take advantage of the AS2 success story, this profile of the ebMS 3.0 specification has been developed. Using ebMS 3.0 as a base, a subset of functionality has been defined along with implementation guidelines adopted based on the “just-enough” design principles and AS2 functional requirements to trim down ebMS 3.0 into a more simplified and AS2-like specification for Web Services B2B messaging. The main benefits of AS4 compared to its previous version are compatibility with Web services standards, message pulling capability, and a built-in Receipt mechanism.

Profiling ebMS V3 means:

The overall goal of a profile for a standard is to ensure interoperability by:

Two kinds of profiles are usually to be considered when profiling an existing standard:

  1. 1.Conformance Profiles. These define the different ways a product can conform to a standard, based on specific ways to use this standard. A conformance profile is usually associated with a specific conformance clause. Conformance profiles are of prime interest for product managers and developers: they define a precise subset of features to be supported.  

  2. 2.Usage Profiles (also called Deployment Profiles). These define how a standard should be used by a community of users, in order to ensure best compatibility with business practices and interoperability. Usage profiles are of prime interest for IT end-users: they define how to configure the use of a standard (and related product) as well as how to bind this standard to business applications. A usage profile usually points at required or compatible conformance profile(s).  

AS4 is defined as a combination of:

Two AS4 conformance profiles (CP) are defined below:

Compatible existing conformance profiles for ebMS V3 are:

NOTE: Full compliance to AS4 actually requires and/or authorizes a message handler to implement a few additional features beyond the above CPs. These features are described in Section 3.

1.1 Terminology

The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this specification are to be interpreted as described in IETF RFC 2119.

1.2 Normative References

[ebMS2]OASIS Standard, OASIS ebXML Message Service Specification Version 2.0, April 1, 2002. http://www.oasis-open.org/committees/ebxml-msg/documents/ebMS_v2_0.pdf

[ebMS3]OASIS Standard, OASIS ebXML Messaging Services, Version 3.0: Part 1, Core Features, 2007. http://docs.oasis-open.org/ebxml-msg/ebms/v3.0/core/ebms_core-3.0-spec.pdf

[ebMS3-CP]OASIS Committee Draft 03OASIS ebXML Messaging Services, Version 3.0: Conformance Profiles, 2008. http://www.oasis-open.org/committees/document.php?document_id=29854

[GZIP] GNU Gzip Manual, Free Software Foundation, 2006. http://www.gnu.org/software/gzip/manual/index.html

[RFC2119]S. Bradner. Key words for use in RFCs to Indicate Requirement Levels. IETF RFC 2119, March 1997. http://www.ietf.org/rfc/rfc2119.txt

[RFC2045]N Freed, et al, Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies, 1996. http://www.ietf.org/rfc/rfc2119.txt

[SOAPATTACH] J. Barton, et al, SOAP Messages with Attachments, 2000   http://www.w3.org/TR/SOAP-attachments

[WSIAP10]WS-I Attachment Profile V1.0,  Web-Services Interoperability Consortium, 2007. http://www.ws-i.org/deliverables/workinggroup.aspx?wg=basicprofile

[WSIBP20]WS-I Basic Profile V2.0 (draft),  Web-Services Interoperability Consortium, 2009. http://www.ws-i.org/deliverables/workinggroup.aspx?wg=basicprofile

[WSIBSP11]Abbie Barbir, et al, eds, Basic Security Profile Version 1.1, Web-Services Interoperability Consortium, 2006. http://www.wsi.org/Profiles/BasicSecurityProfile-1.1.html

[ebBP-SIG] OASIS ebXML Business Process TC, ebXML Business Signals Schema, 2006.<http://docs.oasis-open.org/ebxml-bp/ebbp-signals-2.0>

[WSS11] Anthony Nadalin, et al, eds., Web Services Security: SOAP Message Security 1.1, 2005.http://docs.oasis-open.org/wss/v1.1/

1.3 Non-normative References

 

[IIC-DP]OASIS Committee Draft 01, ebXML Deployment Profiles Templates, 2006. http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=ebcore

[ebCPPA]OASIS, Collaboration-Protocol Profile and Agreement Specification Version 2.0, http://www.oasis-open.org/committees/ebxml-cppa/documents/ebCPP-2_0.pdf, September 23, 2002.

 [ebDGT]OASIS, ebXML Deployment Guide Template Specification Version 1.0 (ebXML IIC) http://www.oasis-open.org/committees/download.php/1713/ebMS_Deployment_Guide_Template_10.doc, April 7, 2003.

[BPSS]ebXML, ebXML Business Process Specification Schema Version 1.0.1, http://www.ebxml.org/specs/ebBPSS.pdf, May 11, 2001.

2 AS4 Conformance Profiles for ebMS V3

 

NOTE: AS4 is more than a Conformance Profile, in the sense given in [ebMS3-CP]. It is a combination of a Conformance Profile and of an Usage Profile, as explained in the introduction section. Consequently, only this section (section 2) is conforming to the format recommended in [ebMS3-CP] for describing conformance profiles.  The usage profile part (section 4) is following a format based on tables similar to those found in [IIC-DP].

2.1 The AS4 ebHandler Conformance Profile

The AS4 ebHandler  is identified by the URI:

http://docs.oasis-open.org/ebxml-msg/ebms/v3.0/ns/cprofiles/200809/as4ebhandler

2.1.1 Features Set

AS4 CP is defined as follows, using the table template and terminology provided in Appendix F (“Conformance”) of the core ebXML Messaging Services V3.0 specification [ebMS3].

 

Conformance Profile:

AS4 ebHandler

Profile summary: <“Sending+Receiving” / “AS4 eb Handler” /
Level 1 / HTTP1.1 + SOAP 1.2 + WSS1.1 >

Functional Aspects

Profile Feature Set

ebMS MEP

 

Both Sender and Receiver MUST support  all ebMS simple MEPs :

  • ●.One-way / Push, 

  • ●.One-way / Pull, 

Regardless of which MEP is used, the sending of an eb:Receipt message MUST be supported:

  • ●.For the One-way / Push, both “response” and “callback” reply patterns MUST be supported. 

  • ●.For the One-way / Pull, the “callback” pattern is the only viable option, and the User message sender MUST be ready to accept an eb:Receipt either piggybacked on (or bundled with) a PullRequest, or piggybacked on another User Message, or sent separately. In all MEPs, the User message receiver MUST be able to send an eb:Receipt as a separate message (i.e. not piggybacked on  a PullRequest message or on another User message). An MSH conforming to this profile is therefore NOT required to bundle an eb:Receipt with any other ebMS header or message body. 

Use of the ebbpsig:NonRepudiationInformation element (as defined in [ebBP-SIG]) MUST be supported as content for the eb:Receipt message, i.e. when conforming to this profile a Sending MSH must be able to create a Receipt with such a content, and a Receiving MSH must be able to process it.

Reliability

Reception Awareness, defined as the ability for a Sending ebHandler to notify its application (message Producer) of lack of reception of an eb:Receipt related to a sent message, MUST be supported. This implies support for: (a)  correlating eb:Receipts with previously sent User messages, based on the ebMS message ID, (b) detection of a missing eb:Receipt for a sent message, (c) ability to report an error to the message Producer in case no eb:Receipt has been received for a sent message.

The semantics of sending back an eb:Receipt message is: a well-formed  ebMS user message has been received and the MSH is taking responsibility for its processing, (no additional application-level delivery semantics, and no payload validation semantics).

No support for a WS reliable messaging specification is required although that is an option.

 

Security

The following security features MUST be supported:

  • ●.Support for username / password token, digital signatures and encryption. 

  • ●.Support for content-only transforms. 

  • ●.Support for security of attachments. 

  • ●.Support for message authorization at P-Mode level (see 7.10 in [ebMS3]) Authorization of the Pull signal - for a particular MPC - must be supported at minimum.  

Two authorization options MUST be supported by an MSH in the Receiving role, and at least one of them in the Sending role:

 

  • ●.Authorization Option 1: Use of the WSS security header targeted to the “ebms” actor, as specified in section 7.10 of ebMS V3, with the wsse:UsernameToken profile. This header may either come in addition to the regular wsse security header (XMLDsig for authentication), or may be the sole wsse header, if a transport-level secure protocol such as SSL or TLS is used. An example of message is given in Appendix … 

  • ●.Authorization Option 2: Use of a regular wsse security header (XMLDsig for authentication, use of X509), and no additional wsse security header targeted to “ebms”, In that case, the MSH must be able to use the credential present in this security header for Pull authorization, i.e. to associate these with a specific MPC. 

 

NOTE on XMLDsig: XMLDsig allows arbitrary XSLT Transformations when constructing the plaintext over which a signature or reference is created. Conforming applications that allow use of XSLT transformations when verifying either signatures or references are encouraged to maintain lists of “safe” transformations for a given partner, service, action and role combination. Static analysis of XSLT expressions with a human user audit is encouraged for trusting a given expression as “safe” .

 

Error generation and reporting

The following error processing capabilities MUST be supported:

  • ●.Capability of the Receiving MSH to report errors from message processing, either as ebMS error messages or as Faults to the Sending MSH. The following modes of reporting to Sending MSH are supported: (a) sending error as a separate request (ErrorHandling.Report.ReceiverErrorsTo=<URL of Sending MSH>), (b) sending error on the back channel of underlying protocol (ErrorHandling.Report.AsResponse="true"). 

  • ●.Capability to report to a third-party address (ErrorHandling.Report.ReceiverErrorsTo=<other address>). 

  • ●.Capability of Sending MSH to report generated errors as notifications to the message producer (support for Report.ProcessErrorNotifyProducer="true")( e.g. delivery failure). 

  • ●.Generated errors: All specified errors in [ebMS3] are to be generated when applicable, except for EBMS:0010: On Receiving MSH, no requirement to generate error EBMS:0010 for discrepancies between message header and the following P-Mode features: P-Mode.reliability and P-Mode.security, but requirement to generate such error for other discrepancies  

Message Partition Channels

Message partition channels (MPC) MUST be supported in addition to the default channel, so that selective pulling by a partner MSH is possible. This means AS4 handlers MUST be able to use the @mpc attribute and to process it as expected.

 

Message packaging

The following features MUST be supported both on sending and receiving sides:

  • ●.Support for attachments. 

  • ●.Support for MessageProperties. 

  • ●.Support for processing messages that contain both a signal message unit (eb:SignalMessage) and a user message unit (eb:UserMessage). 

 

Interoperability Parameters

The following interoperability parameters values MUST be supported for this conformance profile:

Transport: HTTP 1.1

SOAP version: 1.2

Reliability Specification: none.

Security Specification: WSS 1.1. When using the One-way / Pull MEP, the response message must use by default the same WSS version as the request message. Otherwise, the version to be applied to a message is specified in the P-Mode.security

 

 

 

2.1.2 WS-I Conformance Profiles

The Web-Services Interoperability consortium has defined guidelines for interoperability of  SOAP messaging implementations. In order to ensure maximal interoperability across different SOAP stacks, MIME and HTTP implementations, compliance with the following WS-I profiles is REQUIRED whenever related features are used:

Notes:

This conformance profile may be refined in a future version to require conformance to the following WS-I profiles, once approved and published by WS-I:

 

2.1.3 Processing Mode Parameters

This section contains a summary of P-Mode parameters relevant to AS4 features for this conformance profile. An AS4 handler MUST support and understand those that are mentioned as "required". For each parameter, either:

0. General PMode parameters:

 

1. PMode[1].Protocol:

 

2.PMode[1].BusinessInfo:

 

3. PMode[1].ErrorHandling:

 

4. PMode[1].Reliability:

none.

 

5. PMode[1].Security:

2.2 The AS4 Light Client Conformance Profile

The AS4 light Client  is identified by the URI:

http://docs.oasis-open.org/ebxml-msg/ebms/v3.0/ns/cprofiles/200809/as4lightclient

2.2.1 Feature Set

 

Conformance Profile:

 AS4-LightClient

Profile summary: <“Sending+Receiving” / “ lighthandler-rm” /
Level 1 / HTTP1.1 + SOAP 1.1>

Functional Aspects

Profile Feature Set

ebMS MEP

The following MEPs MUST be supported: One-way / Push (as initiator), and One-way / Pull (as initiator).

Regardless of which MEP is used, the sending of an eb:Receipt message MUST be supported:

  • ●.For the One-way / Push, the “response” reply pattern MUST be supported. 

  • ●.For the One-way / Pull, the “callback” pattern is the only viable option, and the User message sender MUST be ready to accept an eb:Receipt either piggybacked on a PullRequest, or sent separately. The User message receiver MUST be able to send an eb:Receipt separately from the PullRequest. 

In all MEPs, the User message receiver MUST be able to send an eb:Receipt as a separate message (i.e. not piggybacked on  a PullRequest message or on another User message). An MSH conforming to this profile is therefore NOT REQUIRED to bundle an eb:Receipt with any other ebMS header or message body. However, when receiving a Receipt, an MSH conforming to this profile MUST be able to process an eb:Receipt bundled with an other ebMS message header or body.

Use of the ebbpsig:NonRepudiationInformation element (as defined in [ebBP-SIG]) MUST be supported as content for the eb:Receipt message, i.e. when conforming to this profile a Sending MSH must be able to create a Receipt with such a content, and a Receiving MSH must be able to process it. .

 

Reliability

Reception Awareness, defined as the ability for a Sending light Client to notify its application (message Producer) of lack of reception of an eb:Receipt related to a sent message, MUST be supported. This implies support for:

(a)  correlating eb:Receipts with previously sent User messages, based on the ebMS message ID,

(b) detection of a missing eb:Receipt for a sent message,

(c) ability to report an error to the message Producer in case no eb:Receipt has been received for a sent message.

The semantics of sending back an eb:Receipt message is: a well-formed  ebMS user message has been received and the MSH is taking responsibility for its processing, (no additional application-level delivery semantics, and no payload validation semantics).

Support for a WS reliable messaging specification is NOT REQUIRED although that is an option.

 

Security

Both authorization options for message pulling (authorizing PullRequest for a particular MPC) described in the ebHandler conformance profile MUST be supported:

1. Support for username / password token: minimal support for wss:UsernameToken profile in the Pull signal - for authorizing a particular MPC. Support for adding a WSS security header targeted to the “ebms” actor, as specified in section 7.10 of ebMS V3, with the wsse:UsernameToken profile. The use of transport-level secure protocol such as SSL or TLS is recommended.

2. Support for a regular wsse security header (XMLDsig for authentication, use of X509), and no additional wsse security header targeted to “ebms”,

 

 

Error generation and reporting

Error notification to the local message producer MUST be supported (e.g. reported failure to deliver pushed messages).

The reporting of message processing errors for pulled messages to the remote party MUST be supported via Error messages (such an error may be bundled with another pushed message or a Pull signal.).

 

Message Partition Channels

Sending on the default message partition channel is sufficient ( support for additional message partitions is NOT REQUIRED.)

Message packaging

Support for attachments is NOT REQUIRED – i.e. the message payload will use the SOAP body -,  Support for MessageProperties is NOT REQUIRED.

Interoperability Parameters

The following interoperability parameters values MUST be supported for this conformance profile:

Transport: HTTP 1.1

SOAP version: 1.2

Reliability Specification: none.

Security Specification:  WSS 1.1.

 

 

2.2.2 WS-I Conformance Requirements

 

This conformance profile will require compliance with the following WS-I profile, once formally approved by WS-I (currently in Board approval draft status):

Note: the above WS-I profile MUST be complied with within the scope of features exhibited by the AS4 Light Client  ebMS conformance profile.

2.3 Conformance Profiles Compatibility

The AS4 profile is compatible with the following ebMS V3 conformance profiles, defined in [ebMS3-CP]:

AS4 may be deployed on any MSH that conforms to one of the above conformance profiles.

 

3 AS4 Additional Features

 

This section defines features that were not specified in ebMS V3 and therefore out of scope for the previous conformance profiles (ebHandler CP and Light Client CP). These features should be considered as additional capabilities that are either required by or made optional to AS4 implementations as indicated below.

The profiling tables below can be used for adding user-defined profiling requirements to be adopted within a business community. Whenever the feature – or its profiling - is mandatory, the right-side column (Profile Requirement) will specify it.

 

3.1 Compression

 

Application payloads that are built in conformance with the SOAP Messages with Attachments [SOAPATTACH] specification may be compressed. Support for compression MUST then be provided by AS4 implementations. Compression of the SOAP envelope and/or payload containers within the SOAP Body of an ebMS Message is not supported.

To compress the payload(s) of a message build in conformance with the SOAP Messages with Attachments [SOAPATTACH] specification the GZIP [GZIP] compression algorithm MUST be used. Compression MUST be applied before payloads are attached to the SOAP Message.

The eb:PartInfo element in the message header that relates to the compressed message part, MUST have an eb:Property element with @name =“Compressed”:

 <eb:Property name="Compressed"/>

 The content type of the compressed attachment MUST be "application/gzip".

 These are indicators to the receiver that compression has been used on this part.


When compression, signature and encryption are required of the MSH, the message MUST be compressed prior to being signed and/or encrypted.

 

Packaging requirements:

Example:

           <eb:Property name="Compressed"/>
</eb:PartProperties>

<eb:PartInfo>

 

An additional PMode parameter is defined, that MUST be supported:

True: some attached payload(s) may be compressed over this MEP segment.

False (default): no compression is used over this MEP segment.

 

NOTE: the requirement for Compression feature applies to both conformance profiles (AS4 ebHandler and AS4 light Client)

 

3.2 Reception  Awareness features and Duplicate Detection

 

These capabilities are making use of the eb:Receipt as the sole type of acknowledgement. Duplicate detection only relies on the eb:MessageInfo/eb:MessageId.

 

Features

Profile requirements

Reception awareness error handling (REQUIRED support)  

 

Ability for the MSH expecting an eb:Receipt to generate an error in case no eb:Receipt has been received for a sent message. It is RECOMMENDED that this error  be a new error: Code = EBMS:0301, Short Description = MissingReceipt, Severity = Failure, Category = Communication.

Ability for the MSH expecting an eb:Receipt to report a MissingReceipt error to the message Producer

 

Message Retry (OPIONAL support)

 

Ability  for a User message sender that has not received an expected eb:Receipt to resend the User message. If doing so, the eb:MessageInfo/eb:MessageId element of the resend message and of the original User message MUST be same. [removed: However, the eb:MessageInfo/eb:Timestamp MUST be different.] When resending a message for which non-repudiation of receipt is required, the sender MUST ensure that the hash values for the digests to be included in the Receipt (i.e. the content of MessagePartNRInformation elements), do not vary from the original message to the retry(ies), so that non-repudiation of receipt can be asserted based on the original message and the receipt of any of its retries.

 

Duplicate Detection ( REQUIRED support)

Ability for the MSH receiving a User message to detect and/or eliminate duplicates based on eb:MessageInfo/eb:MessageId.  If duplicates are just detected (not eliminated) then at the very least it is REQUIRED that the Receiving MSH notifies its application (message Consumer) of the duplicates. For examples, these could be logged.

Related quantitative parameters (time window for the detection, or maximum message log size) are left for implementors to decide.

 

Others

 

 

NOTE: these requirements apply to both conformance profiles (AS4 ebHandler and AS4 light Client)

The following additional PMode parameters are defined  and MUST be supported:

 

 

3.3 Alternative Pull Authorization

In addition to the two authorization options described in the AS4 Conformance Profile (section 2.1.1), an implementation MAY optionally decide to support a third authorization technique, based on transient security (SSL or TLS).

SSL/TLS can provide certificate-based client authentication.  Once the identity of the Pulling client is established, the Security module may pass this identity to the ebms module, which can then associate it with the right authorization entry, e.g. the set of MPCs this client is allowed to pull from.

This third authorization option – compatible with AS4 although not specified in ebMS Core V3 - relies on the ability of the ebms module to obtain the client credentials. This capability represents an (optional) new feature.

Pull request authentication service, there may be no need for any WS-Security headers in the Pull request at all.

 

3.4 Semantics of Receipt in AS4

 

The notion of Receipt in ebMS V3 is not associated with any particular semantics. However, when combined with security (signing), it is intended to support Non Repudiation of Receipt (NRR).

In AS4, the eb:Receipt message serves both as a business receipt (its content is profiled in Section 2), and as a reception indicator, being a key element of the reception awareness feature. No particular delivery semantics can be assumed however: the sending of  an eb:Receipt only means the following, from a message processing viewpoint:

  1. (a)The related  ebMS user message has been received and is well-formed. 

  2. (b)The Receiving MSH is taking responsibility for processing this user message, However, no guarantee can be made that this user message will be ultimately delivered to its Consumer application (this responsibility lays however now on the Receiver side).   

The meaning of NOT getting an expected Receipt, for the sender of a related user message, is one of the following:

  1. 1.The user message was lost and never received by the Receiving MSH. 

  2. 2.The user message was received, but the eb:Receipt was never generated, e.g. due to a faulty configuration (PMode). 

  3. 3.The user message was received, the eb:Receipt was sent back but was lost on the way. 

See section 4.1.8 for AS4 usage rules about Receipts.

 

 

4 AS4 Usage Profile of ebMS 3.0

 

While the previous sections were describing messaging handler requirements for AS4 compliance (i.e. mostly intended for product developers), this section is about configuration and usage options.

This section is split in two major subsections:

 

 

Both sections are about features that are under responsibility of the user when using an AS4-compliant product.

 

4.1 AS4 Usage Rules

 

4.1.1 Core Components / Modules to be Used

This table summarizes which functional modules in the ebMS V3 specification are required to be implemented by the AS4 profile, and whether or not these modules are actually profiled for AS4.

 

ebMS V3 Component Name and Reference

Profiling status

Messaging Model (section 2)

Usage: Required

Profiled: Yes

Notes: This Profile only supports the One-Way/Push MEP (Sync and Async) and the One-Way/Pull MEP

Message Pulling and Partitioning (section 3)

Usage: Required

Profiled: No

Notes: The profiling of QoS associated with Pulling is defined in another module. The MPC and pulling feature itself are not profiled.

Processing Modes (section 4)

Usage: Required

Profiled: Yes

Message Packaging (section 5)

Usage: Required

Profiled: Yes

Notes: Default business process defines acceptable defaults for Role, Service, and Action. Bundling options for message headers (piggybacking) are restricted.

Error Handling (section 6)

Usage: Required

Profiled: Yes

Notes: Addition of some new Error Codes regarding Reception Awareness

Security Module (section 7)

Usage: Required

Profiled: Yes

Notes: Guidance regarding which part(s) of the message may be encrypted and included in the signature. Further guidance on how to secure the PullRequest Signal and the preventing of replay attacks..

Reliable Messaging Module (section 8)

Usage: Not Required

Profiled: No

Notes: This profile does not require the use of the Reliable Messaging Module using either WS-ReliableMessaging or WS-Reliability.  It relies instead on eb:Receipts for supporting a light reliability feature called “Reception Awareness”.

 

4.1.2 Bundling rules

 

Scope of the Profile Feature

Defines bundling (or “piggybacking”) rules of ebMS MEPs, including Receipts.

Specification Feature

 

Specification Reference

ebMS v3.0, Section 2.2

Profiling Rule (a)

This profile supports the One-Way/Push MEP.  

Both synchronous and asynchronous transport channels for the response (eb:Receipt) are allowed by this profile.

When sending a Receipt for this MEP, a Receiving MSH conforming to this profile SHOULD NOT bundled the Receipt with any other ebMS message header or body.

 

Profiling Rule (b)

This profile supports the One-Way/Pull MEP.  When sending a Receipt for this MEP, a Receiving MSH conforming to this profile SHOULD NOT bundled the Receipt with any other ebMS message header (including a PullRequest signal) or message body,

Test References

 

 

4.1.3 Security Element

 

Specification Feature

Use of WSS features

Specification Reference

ebMS v3.0, Section 7.1

Profiling Rule (a)

When using digital signatures or encryption, an AS4 MSH implementation is REQUIRED to use the Web Services Security X.509 Certificate Token Profile [WSS11-X509].

Alignment

[WSS11] Anthony Nadalin, et al, eds., Web Services Security: SOAP Message Security 1.1,  2005. <http://docs.oasis-open.org/wss/v1.1/>
[WSS11-X509] A. Nadalin, et al, eds., Web Services Security X.509 Certificate Token Profile 1.1, 2006.

Test References

 

Notes

 

 

4.1.4 Signing Messages

 

Specification Feature

Digital Signatures for SOAP message headers and body

Specification Reference

ebMS v3.0, Section 7.2

Profiling Rule (a)

AS4 MSH implementations are REQUIRED to use Detached Signatures as defined by the XML Signature Specification [XMLDSIG] when signing AS4 user or signal messages.  Enveloped Signatures as defined by [XMLDSIG] are not supported by or authorized in this profile.

 

Profiling Rule (b)

AS4 MSH implementations are REQUIRED to include the entire eb:Messaging SOAP header block and the SOAP Body in the signature.

Alignment

 

Test References

 

 

4.1.5 Signing SOAP with Attachments Messages

 

Specification Feature

Signing attachments

Specification Reference

ebMS v3.0, Section 7.3

Profiling Rule (a)

AS4 MSH implementations are REQUIRED to use the Attachment-Content-Only transform when building application payloads using SOAP with Attachments [SOAPATTACH].  The Attachment-Complete transform is not supported by this profile.

 

Profiling Rule (b)

AS4 MSH implementations are REQUIRED to include the entire eb:Messaging header block and all MIME body parts of included payloads in the signature.

Alignment

 

Test References

 

 

4.1.6 Encrypting Messages

 

Specification Feature

 

Specification Reference

ebMS v3.0, Section 7.4

Profiling Rule (a)

AS4 MSH implementations are SHALL NOT encrypt the eb:PartyInfo section of the eb:Messaging header. Other child elements of the eb:Messaging header MAY be encrypted or left unencrypted as defined by trading partner agreements or collaboration profiles.

Profiling Rule (b)

If an AS4 user message is to be encrypted and the user-specified payload data is to be packaged in the SOAP Body, AS4 MSH implementations are REQUIRED to encrypt the SOAP Body.

Alignment

 

Test References

 

 

4.1.7 Encrypting SOAP with Attachments Messages

 

Specification Feature

Encryption of message attachments.

Specification Reference

ebMS v3.0, Section 7.5

Profiling Rule (a)

If an AS4 user message is to be encrypted and the user-specified payload data is to be packaged in conformance with the [SOAPATTACH] specification, AS4 MSH implementations are REQUIRED to encrypt the MIME Body parts of included payloads.

 

Alignment

 

Test References

 

Notes

 

 

4.1.8 Generating Receipts

 

Specification Feature

eb:Receipt signal messages

Specification Reference

ebMS v3.0, Section 7.12..2 (Persistent Signed Receipt)

ebMS v3.0, Section 5.2.3.3, eb:Messaging/eb:SignalMessage/eb:Receipt

 

Profiling Rule (a): Receipts for reception awareness

When a Receipt is to be used solely as a reception indicator (for reception awareness), the sender of the Receipt MAY decide to not insert the ebbpsig:NonRepudiationInformation child element. No other element than ebbpsig:NonRepudiationInformation  is allowed as child of  eb:Receipt. If this element is not used, then eb:Receipt  MUST be empty.

Profiling Rule (b): Receipts for Non Repudiation of Receipt (NRR)

Non Repudiation of Receipt (NRR) requires eb:Receipt signals to be signed, and to contain digests of the original message parts for which NRR is required.

When signed receipts as requested in AS4 that make use of default conventions, the Sending message handler (i.e. sending messages for which signed receipts are expected)  MUST identify message parts using Content-Id values in the MIME headers, and MUST sign the SOAP body and all attachments using the http://docs.oasis-open.org/wss/oasis-wss-SwAProfile-1.1#Attachment-Content-Signature-Transform within the SignedInfo References list.

As a reminder, the Sending message handler MUST not encrypt any signed content before signing (Section 7.6 in ebMS V3). If using compression in an attachment, the Sending message handler MUST sign the data after compression (see section 3.1). Variations from default conventions can be agreed to bilaterally, but conforming implementations are only required to provide receipts using the default conventions described in this section.

 

Profiling Rule (c)

An AS4 message that has been digitally signed MUST be acknowledged with a message containing an eb:Receipt signal that itself is digitally signed.  The eb:Receipt MUST contain the information necessary to provide nonrepudiation of receipt of the original message, as described in profiling rule (b).

NOTE: the digest(s) to be inserted in the ebbp:MessagePartNRInformation element(s) or the Receipt, related to the original message parts for which a receipt is required, may be obtained from the signature information of the original message (ds:SignedInfo element), as only those parts that have been signed are subject to NRR. This means a Receiving message handler may not have to compute digests outside its security module.

 

Alignment

 

Test References

 

 

 

4.1.9 MIME Header and Filename information

 

Specification Feature

Optional presence of a “filename”  value in “Content-disposition” header on MIME body parts:

 

Specification Reference

MIME specification (IETF) [RFC2045]

Profiling Rule (a)

The “Content-disposition” header on MIME body parts, when used, MUST carry filename information. Implementations MUST support the setting (when sending) and reading (when receiving) of “Content-disposition” header,

Profiling Rule (b)

When end users wish to supply filenames and have that information confidential, they SHOULD use TLS/SSL based encryption.

 

Alignment

 

Test References

 

 

 

4.2 AS4 Usage Agreements

 

This section defines the operational aspect of the profile: configuration aspects that users have to agree on, mode of operation, etc. This section is not normative and is provided here only as guidance for users.

All the user agreement options related to a specific type of message exchange instance (e.g. related to a specific type of business transaction) are controlled by the Processing Mode (PMode) parameters defined in the ebMS Core V3 specification. This section only lists the parameters that are particularly relevant to AS4.

 

4.2.1 Controlling Content and Sending of Receipts

 

Scope of the Profile Feature

Choose among options in sending Receipts.

Specification Feature

 

Specification Reference

ebMS v3.0, Section 2.2

Usage Profiling (a)

Must eb:Receipts be used for non-repudiation of receipt (NRR), or just act as reception awareness feature? For non-repudiation, the eb:Receipt element must contain a well-formed ebbp:NonRepudiationInformation element. This is indicated by the new PMode parameter:

Pmode[1].Security.SendReceipt.NonRepudiation : value = ‘true' (to be used for non-repudiation of receipt), value = 'false' (to be used simply for reception awareness).

Usage Profiling (b)

Receipts for One-Way/Push MEP:

Both synchronous and asynchronous transport channels for the response (eb:Receipt) are allowed by this profile. and Callback)

This option is controlled by PMode parameter: ,

  • .Pmode[1].Security.SendReceipt.ReplyPattern: value = ‘Response’ (sending receipts on the HTTP response or back-channel). 

  • .Pmode[1].Security.SendReceipt.ReplyPattern: value = ‘Callback’ (sending receipts using a separate connection.)   

Usage Profiling (c)

Receipts for  the One-Way/Pull MEP: ,

Pmode[1].Security.SendReceipt.ReplyPattern: value = ‘Callback’ (sending receipts using a separate connection, and not bundled with PullRequest.)  

Test References

 

Notes

 

 

4.2.2 Error Handling Options

 

Specification Feature

 

Error Handling options

Specification Reference

 

Usage Profiling (a):

Receiver-side error

All Receiver-side error reporting options are left for users to agree on, including the choice to not report at all:  (reformatting of font below)

PMode[1].ErrorHandling.Report.ReceiverErrorsTo:  recommendation is to report such Receiver-side errors to the Sender. Otherwise: reporting URI that is different from sender URI?  

PMode[1].ErrorHandling.Report.AsResponse : recommendation for one-way messages (except when pulling is in use) is value=”true”:  report errors on the back-channel of erroneous messages. Errors for pulled messages can only be reported on a separate connection.

PMode[1].ErrorHandling.Report.ProcessErrorNotifyConsumer : (true / false) for controling escalating theerror to the application layer.

Usage Profiling (b):

Reception Awareness errors

What is the behavior of a Sender that failed to receive a Receipt (even after message retries)?

  1. (a)No error reporting (in case no reception awareness required). 

  2. (b)Error reporting from the Sender MSH to its message Producer (application-level notification). Error type: EBMS:0301: MissingReceipt (see Section 3.2 in Additional Features.) 

PMode parameter: (reformatting of font below)

PMode[1].ErrorHandling.Report.MissingReceiptNotifyProducer: (new) true if (b), false if (a)

PMode[1].ErrorHandling.Report.SenderErrorsTo: (in case an error should be sent about such failures – e.g. to a third party if not to the original Receiver of the non-acknowledged user message.)

 

 

Usage Profiling (c):

Error about Receipts

How are errors about Receipt messages reported? (reformatting of font below)

PMode[1].ErrorHandling.Report.SenderErrorsTo:  reporting URI that is different from Receiver URI?  

PMode[1].ErrorHandling.Report.AsResponse : (true / false) NOTE: In case of Receipts already sent over the HTTP back-channel, can only be “false” meaning such errors will be sent over separate connection.

PMode[1].ErrorHandling.Report.ProcessErrorNotifyProducer : (true / false) for controling escalating the error to the application layer.

 

Alignment

 

Test References

 

Notes

 

 

4.2.3 Securing the PullRequest

 

Specification Feature

Pulling authorization options

Specification Reference

ebMS v3.0, Section 7.11.x

AS4 Conformance Profile authorization options (section 2.1.1)

Usage Profiling (a)

An AS4 Sending MSH may authenticate a Receiving MSH that sends a PullRequest in two ways:

  1. (a)(Option 1 in 2.1.1) Use of the WSS security header targeted to the “ebms” actor, as specified in section 7.10 of ebMS V3, with the wsse:UsernameToken profile.  

  2. (b)(Option 2 in 2.1.1) by using [WSS11-X509] coupled with the Message Partition Channel that a Pull signal is accessing for pulling messages. 

 

PMode parameters: (reformatting of font below)

PMode.Initiator.Authorization: must be set to true (the initiator of a Pull request must be authorized).

PMode.Initiator.Authorization.username: (for option (a))

PMode.Initiator.Authorization.password: (for option (a))

PMode[1].Security.PModeAuthorize: must be set to true in the PMode leg describing the transfer of  a pulled message.

PMode[1].Security.X509.sign: (for option (b))

PMode[1].Security.X509.SignatureCertificate: (for option (b))

NOTE: in (b), PMode parameters about X509 are controlling both the authentication of PullRequest signals and authentication of other User Messages.

Usage Profiling (b)

PullRequest signals: are they sent using the HTTPS transport protocol with optional Client-side Authentication?

PMode[1].Protocol.Address: The URL scheme will indicate whether HTTPS is used or not.

 

Alignment

 

Test References

 

Notes

 

 

4.2.4 Reception Awareness Parameters

 

Specification Feature

Message Replay and Duplicate Detection options

Specification Reference

N/A

AS4 Profile: additional features (section 3)

Usage Profiling (a):

Sender options

In case Reception Awareness is used: what is the behavior of a Sender that did not receive a Receipt?

  1. (c)No message replay. 

  2. (d)Resend the message. Replay parameters: to agree on: (1) retry number, (2) retry frequency. 

 

PMode parameters (additional to those defined in ebMS Core V3): (reformatting of font below)

PMode[1].ReceptionAwareness: (true / false)

PMode[1].ReceptionAwareness.Replay: (true / false)

PMode[1].ReceptionAwareness.Replay.Parameters: (contains a composite string specifying: (a) maximum number of retries or some timeout, (b) frequency of retries or some retry rule.

 

Usage Profiling (b):

Receiver options

Is duplicate detection enabled?

(a) No. duplicates are not detected.

(b) In addition to (a), a receiver detects and eliminates duplicates based on eb:MessageInfo/eb:MessageId.

 

PMode parameters (additional to those defined in ebMS Core V3): (reformatting of font below)

PMode[1].ReceptionAwareness.DuplicateDetection: (true / false)

PMode[1].ReceptionAwareness.DuplicateDetection.Parameters

Others

 

Notes

 

 

 

4.2.5 Default Values of Some PMode Parameters

 

Specification Feature

Default values and authorized values for main PMode parameters.

Specification Reference

ebMS 3.0, Appendix D.3

Usage Profiling (a)

PMode.MEP parameter will be constrained to the following value:

http://docs..oasis-open.org/ebxml-msg/ebms/v3.0/ns/core/200704/oneWay

Usage Profiling (b)

PMode.MEPbinding parameter will be constrained to the following values:

http://docs..oasis-open.org/ebxml-msg/ebms/v3.0/ns/core/200704/push

http://docs..oasis-open.org/ebxml-msg/ebms/v3.0/ns/core/200704/pull

Usage Profiling (c)

PMode.Initiator.Role parameter will have the following default value:

http://docs..oasis-open.org/ebxml-msg/ebms/v3.0/ns/core/200704/initiator

 

Usage Profiling (d)

PMode.Responder.Role parameter will have the following default value:

http://docs..oasis-open.org/ebxml-msg/ebms/v3.0/ns/core/200704/responder

Usage Profiling (e)

PMode[1].BusinessInfo.Service parameter will have the following default value:

http://docs.oasis-open.org/ebxml-msg/as4/200902/service

NOTE: this default is to be considered a PMode content default: absence of the PMode itself will cause the default value defined in the ebMS V3 specification (section 4.3) to apply. This value is usually enforced by the MSH implementation itself.

Usage Profiling (f)

PMode[1].BusinessInfo.Action parameter will have the following default value:

http://docs.oasis-open.org/ebxml-msg/as4/200902/action

NOTE: this default is to be considered a PMode content default: absence of the PMode itself will cause the default value defined in the ebMS V3 specification (section 4.3) to apply. This value is usually enforced by the MSH implementation itself

Usage Profiling (g)

PMode[1].Reliability parameters are not supported by this profile

Alignment

 

Test References

 

Notes

 

 

4.2.6 HTTP Confidentiality and Security

 

Specification Feature

HTTP Security Management and Options

This table is intended as a guide for users, to specify their own agreements on HTTP confidentiality and security.

Specification Reference

ebMS 3, Section 7, Appendix D.3.6.

Usage Profiling (a)

Is HTTP transport-layer encryption required?

What protocol version(s)?  

Usage Profiling (b)

What encryption algorithm(s) and minimum key lengths are required?

Usage Profiling (c)

What Certificate Authorities are acceptable for server certificate authentication?

Usage Profiling (d)

Are direct-trust (self-signed) server certificates allowed?

Usage Profiling (e)

Is client-side certificate-based authentication allowed or required?

Usage Profiling (f)

What client Certificate Authorities are acceptable?

Usage Profiling (g)

What certificate verification policies and procedures must be followed?

Alignment

 

Test References

 

Notes

 

 

4.2.7 Deployment and Processing requirements for CPAs

 

Usage Profile Feature

CPA Access

Usage Profiling (a)

Is a specific registry for storing CPAs required?  If so, provide details.

Usage Profiling (b)

Is there a set of predefined CPA templates that can be used to create given Parties’ CPAs?

Usage Profiling (c)

Is there a particular format for file names of CPAs, in case that file name is different from CPAId value?

Others

 

 

4.2.8 Message Payload and Flow Profile

 

Usage Profile Feature

Message Quantitative Aspects

Usage Profiling (a)

What are typical and maximum message payload sizes that must be handled? (maximum, average)

Usage Profiling (b)

What are typical communication bandwidth and processing capabilities of an MSH for these Services?

Usage Profiling (c)

Expected Volume of Message flow (throughput): maximum (peak), average?

Usage Profiling (d)

(Section 2.1.4) How many Payload Containers must be present?

Usage Profiling (e)

What is the structure and content of each container?  [List MIME Content-Types and other process-specific requirements.] Are there restrictions on the MIME types allowed for attachments?

Usage Profiling (f)

How is each container distinguished from the others?  [By a fixed ordering of containers, a fixed Manifest ordering, or specific Content-ID values.]. Any expected relative order of attachments of various types?

Usage Profiling (g)

Is there an agreement that message part filenames must be present in MIME Content-Disposition parameter ?

Others

 

 

4.2.9 Additional Deployment or Operational Requirements

 

Usage Profile Feature

Operational or Deployment Conditions

Usage Profiling (a)

Operational or deployment aspects that are object to further requirements or recommendations.

Others

 

 

5 Conformance Clauses

 

5.1 AS4 ebHandler Conformance Clause

In order to conform to the AS4 ebHandler Profile, an implementation must comply with all normative statements and requirements in Section 2.1.

In particular, it must:

- observe all requirements stated as such in the Feature Set table of Section 2.1.1.

- comply with WS-I requirements listed in Section 2.1.2.

- support the PMode parameters as required in Section 2.1.3.

In addition, the implementation must implement the additional features as indicated in Section 3.

Finally,  the implementation must support the Usage Rules defined in Section 4.1.

The Usage Agreements in Section 4.2 are not prescriptive, and implementations are free to support any subset of the features described, that are not already mandated in sections 2.1, 3 or 4.1.  

 

5.2 AS4 Light Client Conformance Clause

In order to conform to the AS4 Light Client Profile, an implementation must comply with all normative statements and requirements in Section 2.2.

In particular, it must:

- observe all requirements stated as such in the Feature Set table of Section 2.2.1.

- comply with WS-I requirements listed in Section 2.2.2.

- support the PMode parameters as required in Section 2.2.3.

In addition, the implementation must implement the additional features as indicated in Section 3.

Finally,  the implementation must support the Usage Rules defined in Section 4.1.

The Usage Agreements in Section 4.2 are not prescriptive, and implementations are free to support any subset of the features described, that are not already mandated in  sections 2.2, 3 or 4.1.  

 

  1. Appendix A Sample Messages 

Receipts Samples

 

When the NonRepudiationInformation element is used in a Receipt, it contains a sequence of MessagePartNRInformation items for each message part for which evidence of non repudiation of receipt is being provided. In the normal default usage, these message parts are those that have been signed in the original message. Each message part is described with information defined by an XML Digital Signature Reference information item. The following example illustrates the ebMS V3 Signal Message header.

 

<eb3:Messaging Soap12:mustUnderstand="true" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id=”ValueOfMessagingHeader”>
<eb3:SignalMessage>
<eb3:MessageInfo>
<eb3:Timestamp>2009-11-06T08:00:09Z</eb3:Timestamp>
<eb3:MessageId>orderreceipt@seller.com</eb3:MessageId>
<eb3:RefToMessageId>orders123@buyer.com</eb3:RefToMessageId>
</eb3:MessageInfo>
<eb3:Receipt>
<ebbp:NonRepudiationInformation>
<ebbp:MessagePartNRInformation>
<dsig:Reference URI="#5cb44655-5720-4cf4-a772-19cd480b0ad4">
<dsig:Transforms>
<dsig:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
<dsig:DigestValue>o9QDCwWSiGVQACEsJH5nqkVE2s0=</dsig:DigestValue>
</dsig:Reference>
</ebbp:MessagePartNRInformation>
<ebbp:MessagePartNRInformation>
<dsig:Reference URI="cid:a1d7fdf5-d67e-403a-ad92-3b9deff25d43@buyer.com">
<dsig:Transforms>
<dsig:Transform Algorithm="http://docs.oasis-open.org/wss/oasis-wss-SwAProfile-1.1#Attachment-Content-Signature-Transform" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
<dsig:DigestValue>iWNSv2W6SxbOYZliPzZDcXAxrwI=</dsig:DigestValue>
</dsig:Reference>
</ebbp:MessagePartNRInformation>
</ebbp:NonRepudiationInformation>
</eb3:Receipt>
</eb3:SignalMessage>
</eb3:Messaging>

 

For a signed receipt, a Web Services Security header signing over (at least) the signal header is required. An example WS-Security header is as follows :

 

<wsse:Security s:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" 
 xmlns:s
="http://www.w3.org/2003/05/soap-envelope">
 <wsu:Timestamp wsu:Id="_1" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<wsu:Created>2009-11-06T08:00:10Z</wsu:Created>
<wsu:Expires>2009-11-06T08:50:00Z</wsu:Expires>
</wsu:Timestamp>
<wsse:BinarySecurityToken EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary"
ValueType
="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" wsu:Id="_2"
xmlns:wsu
="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">MIIFADCCBGmgAwIBAgIEOmitted</wsse:BinarySecurityToken>
<ds:Signature Id="_3" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:SignedInfo>
<ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
<ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
<ds:Reference URI="#ValueOfMessagingHeader">
<ds:Transforms>
<ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
<InclusiveNamespaces PrefixList="xsd" xmlns="http://www.w3.org/2001/10/xml-exc-c14n#" />
</ds:Transform>
</ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
<ds:DigestValue>ZXnOmitted=</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>rxaP4of8JCpUkOmitted=</ds:SignatureValue>
<ds:KeyInfo>
<wsse:SecurityTokenReference xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
 <wsse:Reference URI="#_2" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" />
</wsse:SecurityTokenReference>
</ds:KeyInfo>
</ds:Signature>
</wsse:Security>

 

 

  1. Appendix B Acknowledgments 

The following individuals were members of the committee during the development of this specification or of a previous version of it:

 

Timothy Bennett, Drummond Group Inc. <timothy@drummondgroup.com>

Ian Jones, British Telecommunications plc <ian.c.jones@bt.com>

Jacques Durand, Fujitsu <jdurand@us.fujitsu.com>

Dale Moberg, Axway <dmoberg@axway.com>

Richard Emery, Axway <remery@us.axway.com>

John Voss, CISCO <jovoss@cisco.com>

  1. Appendix C Revision History 

 

Rev

Date

By Whom

What

 

25 Jul 2008

J. Durand / Tim  Bennett

Initial draft

Rev 02

28 Oct 2008

J. Durand

candidate CD draft

Rev 03

15 Feb 2009

J. Durand

Various edits, updates on Receipts,  Message samples.

CD 2

10/03/09

J. Durand

CD 2 draft for PR