Following on from comments on the ebcore-comment mailing lists, I created some sample CPPs and CPAs to illustrate various versioning related aspects: payload schema versions, service versions, certificates, trust anchors. The examples are somewhat artificial, but they illustrate the degree of flexibility and granularity supported in the draft CPPA3 schema and how versioning requirements are met. In its CPP, Party B indicates it can support two versions of an OrderingBilling service as Seller, v1.0 and v2.0. The services differ in that the actions are linked to different payload profiles, which specifiy the schema versions that apply. Capturing versioning at the service level reflects the fact that if there were multiple actions, they would (normally) have to be consistently versioned. E.g. a newer version of the Order schema may have extra data elements that require different content in a corresponding OrderResponse document. Also, a version of a Service may have actions not in other versions, reflecting functionality enhancements in later versions. (The example for brevity has only one action). Party B also supports two messaging protocols, one ebMS2/SMTP, with asynchronous receipts, the other AS4 with a synchronous receipt over the HTTP backchannel. B can decide which protocol it offers for which service version, and if there is more than one option, its preferred order. In the example, B offers both protocols for the v1.0 service but for the v2.0 service only AS4, as it offers v1.0 and ebMS2 as a compatibility option for existing partners and promotes AS4 for newer users that are not expected to use v1.0. The ordering of the channel references reflects B's preference. Parties can also indicate the root certificates they trust, and the certificates they use for particular purposes, at a granular level. Some root certificates root may be trusted for some exchanges but not for others. In some exchanges a different certificate may be used than in others. One reason could be to use a certificate using a shorter RSA modulus for legacy v1.0 exchanges if there are parties using older security toolkits that do not support longer keys, and a longer key for the v.0 service, or that different counter-parties, or communities of counter-parties, expect specific PKI infrastructures to be used for particular exchanges. The A and C example CPPs and the A-B and C-B sample CPAs show how B's profile and the profiles of its counterparties result in different partner configurations, where for A the older versions are used and for B the modern one. The CPAs are automatically generated using the cppa3 open source sample implementation of the CPA formation algorithm in the draft CPPA3 specification, available from PyPi. These examples could evolve into non-normative samples for future use with cppa3. Any comments and suggestions welcome .. Also, please let me know which other examples would be useful. <?xml version="1.0" encoding="UTF-8"?> <cppa:CPP xmlns:cppa="
http://docs.oasis-open.org/ebcore/ns/cppa/v3.0" ; xmlns:ds="
http://www.w3.org/2000/09/xmldsig#" ; xmlns:dsig11="
http://www.w3.org/2009/xmldsig11#" ; xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance" ; xsi:schemaLocation="
http://docs.oasis-open.org/ebxmlcppa/cppa-3.0 ../../../cppa3-xsd/cppa3.xsd"> <cppa:ProfileInfo> <cppa:ProfileIdentifier>Bcpp</cppa:ProfileIdentifier> <cppa:ActivationDate>2014-01-01T00:00:00</cppa:ActivationDate> <cppa:ExpirationDate>2021-01-01T00:00:00</cppa:ExpirationDate> <cppa:PhaseIn>P10D</cppa:PhaseIn> </cppa:ProfileInfo> <cppa:PartyInfo> <cppa:PartyName xml:lang="en">Party B</cppa:PartyName> <cppa:PartyId type="urn:oasis:names:tc:ebcore:partyid-type:unregistered">B</cppa:PartyId> <cppa:Certificate id="bsc"> <ds:KeyInfo> <ds:KeyName>B signing certificate</ds:KeyName> <ds:X509Data> <ds:X509Certificate>b3RoZXJsZWFm</ds:X509Certificate> <ds:X509Certificate>root</ds:X509Certificate> </ds:X509Data> </ds:KeyInfo> </cppa:Certificate> <cppa:Certificate id="bnewsc"> <ds:KeyInfo> <ds:KeyName>B's newer signing certificate, from longroot</ds:KeyName> <ds:X509Data> <ds:X509Certificate>c2FmZXJzaWduaW5nY2VydA==</ds:X509Certificate> <ds:X509Certificate>longroot</ds:X509Certificate> </ds:X509Data> </ds:KeyInfo> </cppa:Certificate> <cppa:Certificate id="root"> <ds:KeyInfo> <ds:KeyName>A root certificate that can support legacy SHA1 signing</ds:KeyName> <ds:X509Data> <ds:X509Certificate>root</ds:X509Certificate> </ds:X509Data> </ds:KeyInfo> </cppa:Certificate> <cppa:Certificate id="longroot"> <ds:KeyInfo> <ds:KeyName>Another root certificate, perhaps using a longer key size</ds:KeyName> <ds:X509Data> <ds:X509Certificate>longroot</ds:X509Certificate> </ds:X509Data> </ds:KeyInfo> </cppa:Certificate> <cppa:TrustAnchor id="bta"> <cppa:AnchorCertificateRef certId="root"/> <cppa:AnchorCertificateRef certId="longroot"/> </cppa:TrustAnchor> <cppa:TrustAnchor id="bnewta"> <!-- a more restricted trust anchor, only using the more secure certificate--> <cppa:AnchorCertificateRef certId="longroot"/> </cppa:TrustAnchor> </cppa:PartyInfo> <cppa:ServiceSpecification> <cppa:PartyRole name="Seller"/> <cppa:CounterPartyRole name="Buyer"/> <!-- B supports two versions of the OrderingBilling service, v1.0 and v2.0. The difference between these two services is that they link to different payload profiles. B operates two channels, a preferred AS4 channel and a legacy ebMS2/SMTP channel. The legacy channel is only supported for the older version. --> <cppa:ServiceBinding> <cppa:Service>OrderingBilling:1.0</cppa:Service> <cppa:ActionBinding id="ob_1_1_S" action="SubmitOrder" sendOrReceive="receive" payloadProfileId="order_v1"> <cppa:ChannelId>ch3</cppa:ChannelId> <cppa:ChannelId>ch1</cppa:ChannelId> </cppa:ActionBinding> </cppa:ServiceBinding> <cppa:ServiceBinding> <cppa:Service>OrderingBilling:2.0</cppa:Service> <cppa:ActionBinding id="ob_2_1_S" action="SubmitOrder" sendOrReceive="receive" payloadProfileId="order_v2"> <cppa:ChannelId>ch3</cppa:ChannelId> </cppa:ActionBinding> </cppa:ServiceBinding> </cppa:ServiceSpecification> <cppa:ebMS2Channel id="ch1" transport="tr1"> <cppa:Description xml:lang="en">Inbound ebMS2 over SMTP</cppa:Description> <cppa:ErrorHandling> <cppa:ReceiverErrorsReportChannelId>ch2</cppa:ReceiverErrorsReportChannelId> </cppa:ErrorHandling> <cppa:ReceiptHandling> <cppa:ReceiptChannelId>ch2</cppa:ReceiptChannelId> </cppa:ReceiptHandling> <cppa:ebMS2ReliableMessaging actor="urn:oasis:names:tc:ebxml-msg:actor:toPartyMSH"> <cppa:DuplicateHandling> <cppa:DuplicateElimination>true</cppa:DuplicateElimination> </cppa:DuplicateHandling> </cppa:ebMS2ReliableMessaging> <cppa:ebMS2SecurityBinding > <cppa:Signature> <cppa:DigestAlgorithm>
http://www.w3.org/2000/09/xmldsig#sha1 </cppa:DigestAlgorithm> <cppa:SigningTrustAnchorRef certId="bta"/> </cppa:Signature> </cppa:ebMS2SecurityBinding> </cppa:ebMS2Channel> <cppa:ebMS2Channel id="ch2" transport="tr2"> <cppa:Description xml:lang="en">Outbound asynchronous SMTP signal channel</cppa:Description> <cppa:ebMS2SecurityBinding> <cppa:Signature> <cppa:DigestAlgorithm>
http://www.w3.org/2000/09/xmldsig#sha1 </cppa:DigestAlgorithm> <cppa:SigningCertificateRef certId="bsc"/> </cppa:Signature> </cppa:ebMS2SecurityBinding> </cppa:ebMS2Channel> <cppa:ebMS3Channel id="ch3" transport="tr3" > <cppa:Description xml:lang="en">Inbound AS4 channel for user messages</cppa:Description> <cppa:ChannelProfile>
http://docs.oasis-open.org/ebxml-msg/ebms/v3.0/ns/cprofiles/200809/as4ebhandler </cppa:ChannelProfile> <cppa:WSSecurityBinding> <cppa:WSSVersion>1.1</cppa:WSSVersion> <cppa:Signature> <cppa:SignatureAlgorithm>
http://www.w3.org/2001/04/xmldsig-more#rsa-sha256 </cppa:SignatureAlgorithm> <cppa:DigestAlgorithm>
http://www.w3.org/2001/04/xmlenc#sha256 </cppa:DigestAlgorithm> <cppa:SigningTrustAnchorRef certId="bnewta"/> </cppa:Signature> </cppa:WSSecurityBinding> <cppa:AS4ReceptionAwareness> <cppa:DuplicateHandling> <cppa:DuplicateElimination>true</cppa:DuplicateElimination> </cppa:DuplicateHandling> </cppa:AS4ReceptionAwareness> <cppa:ErrorHandling> <cppa:ReceiverErrorsReportChannelId>ch4</cppa:ReceiverErrorsReportChannelId> </cppa:ErrorHandling> <cppa:ReceiptHandling> <cppa:ReceiptChannelId>ch4</cppa:ReceiptChannelId> </cppa:ReceiptHandling> </cppa:ebMS3Channel> <cppa:ebMS3Channel id="ch4" asResponse="true"> <cppa:Description xml:lang="en">Synchronous AS4 response signal</cppa:Description> <cppa:ChannelProfile>
http://docs.oasis-open.org/ebxml-msg/ebms/v3.0/ns/cprofiles/200809/as4ebhandler </cppa:ChannelProfile> <cppa:WSSecurityBinding> <cppa:WSSVersion>1.1</cppa:WSSVersion> <cppa:Signature> <cppa:SignatureAlgorithm>
http://www.w3.org/2001/04/xmldsig-more#rsa-sha256 </cppa:SignatureAlgorithm> <cppa:DigestAlgorithm>
http://www.w3.org/2001/04/xmlenc#sha256 </cppa:DigestAlgorithm> <cppa:SigningCertificateRef certId="bnewsc"/> </cppa:Signature> </cppa:WSSecurityBinding> </cppa:ebMS3Channel> <cppa:SMTPTransport id="tr1"> <cppa:Description xml:lang="en">Transport to B for SMTP</cppa:Description> <cppa:Endpoint>mail.b.example.com</cppa:Endpoint> <cppa:To>
ebms@b.example.com</cppa:To> </cppa:SMTPTransport> <cppa:SMTPTransport id="tr2"> <cppa:Description xml:lang="en">Transport from B for ebMS2</cppa:Description> <cppa:From>
ebms@b.example.com</cppa:From> </cppa:SMTPTransport> <cppa:HTTPTransport id="tr3"> <cppa:Description xml:lang="en">Transport to B for AS4</cppa:Description> <cppa:Endpoint>
https://as4.b.example.com/msh </cppa:Endpoint> </cppa:HTTPTransport> <cppa:PayloadProfile id="order_v1"> <cppa:PayloadPart> <cppa:PartName>order</cppa:PartName> <cppa:Schema element="Order" namespace="urn:schemas:orders:1.0" /> </cppa:PayloadPart> </cppa:PayloadProfile> <cppa:PayloadProfile id="order_v2"> <cppa:PayloadPart> <cppa:PartName>order</cppa:PartName> <cppa:Schema element="Order" namespace="urn:schemas:orders:2.0" /> </cppa:PayloadPart> </cppa:PayloadProfile> </cppa:CPP> <?xml version="1.0" encoding="UTF-8"?> <cppa:CPP xmlns:cppa="
http://docs.oasis-open.org/ebcore/ns/cppa/v3.0" ; xmlns:ds="
http://www.w3.org/2000/09/xmldsig#" ; xmlns:dsig11="
http://www.w3.org/2009/xmldsig11#" ; xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance" ; xsi:schemaLocation="
http://docs.oasis-open.org/ebxmlcppa/cppa-3.0 ../../../cppa3-xsd/cppa3.xsd"> <cppa:ProfileInfo> <cppa:ProfileIdentifier>Acpp</cppa:ProfileIdentifier> <cppa:ActivationDate>2014-01-01T00:00:00</cppa:ActivationDate> <cppa:ExpirationDate>2021-01-01T00:00:00</cppa:ExpirationDate> <cppa:PhaseIn>P10D</cppa:PhaseIn> </cppa:ProfileInfo> <cppa:PartyInfo> <cppa:PartyName xml:lang="en">Party C</cppa:PartyName> <cppa:PartyId type="urn:oasis:names:tc:ebcore:partyid-type:unregistered">C</cppa:PartyId> <cppa:Certificate id="asc"> <ds:KeyInfo> <ds:KeyName>C signing cert</ds:KeyName> <ds:X509Data> <ds:X509Certificate>YW5vdGhlciBsb25nIHNpZ25pbmcgY2VydA==</ds:X509Certificate> <ds:X509Certificate>longroot</ds:X509Certificate> </ds:X509Data> </ds:KeyInfo> </cppa:Certificate> <cppa:TrustAnchor id="cta"> <cppa:Certificate > <ds:KeyInfo> <ds:X509Data> <ds:X509Certificate>longroot</ds:X509Certificate> </ds:X509Data> </ds:KeyInfo> </cppa:Certificate> </cppa:TrustAnchor> </cppa:PartyInfo> <cppa:ServiceSpecification> <cppa:PartyRole name="Buyer"/> <cppa:CounterPartyRole name="Seller"/> <cppa:ServiceBinding> <cppa:Service>OrderingBilling:1.0</cppa:Service> <cppa:ActionBinding id="ob_1_1_S" action="SubmitOrder" sendOrReceive="send" payloadProfileId="order_v1"> <cppa:ChannelId>ch3</cppa:ChannelId> </cppa:ActionBinding> </cppa:ServiceBinding> <cppa:ServiceBinding> <cppa:Service>OrderingBilling:2.0</cppa:Service> <cppa:ActionBinding id="ob_2_1_S" action="SubmitOrder" sendOrReceive="send" payloadProfileId="order_v2"> <cppa:ChannelId>ch3</cppa:ChannelId> </cppa:ActionBinding> </cppa:ServiceBinding> </cppa:ServiceSpecification> <cppa:ebMS3Channel id="ch3" transport="tr3" > <cppa:Description xml:lang="en">Outbound AS4 channel for user messages</cppa:Description> <cppa:ChannelProfile>
http://docs.oasis-open.org/ebxml-msg/ebms/v3.0/ns/cprofiles/200809/as4ebhandler </cppa:ChannelProfile> <cppa:WSSecurityBinding> <cppa:WSSVersion>1.1</cppa:WSSVersion> <cppa:Signature> <cppa:SignatureAlgorithm>
http://www.w3.org/2001/04/xmldsig-more#rsa-sha256 </cppa:SignatureAlgorithm> <cppa:DigestAlgorithm>
http://www.w3.org/2001/04/xmlenc#sha256 </cppa:DigestAlgorithm> <cppa:SigningCertificateRef certId="asc"/> </cppa:Signature> </cppa:WSSecurityBinding> <cppa:AS4ReceptionAwareness> <cppa:DuplicateHandling> <cppa:DuplicateElimination>true</cppa:DuplicateElimination> </cppa:DuplicateHandling> </cppa:AS4ReceptionAwareness> <cppa:ErrorHandling> <cppa:ReceiverErrorsReportChannelId>ch4</cppa:ReceiverErrorsReportChannelId> </cppa:ErrorHandling> <cppa:ReceiptHandling> <cppa:ReceiptChannelId>ch4</cppa:ReceiptChannelId> </cppa:ReceiptHandling> </cppa:ebMS3Channel> <cppa:ebMS3Channel id="ch4" asResponse="true"> <cppa:Description xml:lang="en">Synchronous AS4 response signal</cppa:Description> <cppa:ChannelProfile>
http://docs.oasis-open.org/ebxml-msg/ebms/v3.0/ns/cprofiles/200809/as4ebhandler </cppa:ChannelProfile> <cppa:WSSecurityBinding> <cppa:WSSVersion>1.1</cppa:WSSVersion> <cppa:Signature> <cppa:SignatureAlgorithm>
http://www.w3.org/2001/04/xmldsig-more#rsa-sha256 </cppa:SignatureAlgorithm> <cppa:DigestAlgorithm>
http://www.w3.org/2001/04/xmlenc#sha256 </cppa:DigestAlgorithm> <cppa:SigningTrustAnchorRef certId="cta"/> </cppa:Signature> </cppa:WSSecurityBinding> </cppa:ebMS3Channel> <cppa:HTTPTransport id="tr3"> <cppa:Description xml:lang="en">Transport from C for AS4</cppa:Description> </cppa:HTTPTransport> <cppa:PayloadProfile id="order_v1"> <cppa:PayloadPart> <cppa:PartName>order</cppa:PartName> <cppa:Schema element="Order" namespace="urn:schemas:orders:1.0" /> </cppa:PayloadPart> </cppa:PayloadProfile> <cppa:PayloadProfile id="order_v2"> <cppa:PayloadPart> <cppa:PartName>order</cppa:PartName> <cppa:Schema element="Order" namespace="urn:schemas:orders:2.0" /> </cppa:PayloadPart> </cppa:PayloadProfile> </cppa:CPP> <cppa:CPA xmlns:cppa="
http://docs.oasis-open.org/ebcore/ns/cppa/v3.0" ; xmlns:ds="
http://www.w3.org/2000/09/xmldsig#" ; xmlns:dsig11="
http://www.w3.org/2009/xmldsig11#" ; xmlns:xkms="
http://www.w3.org/2002/03/xkms#" ;> <cppa:AgreementInfo> <cppa:AgreementIdentifier>Acpp_Bcpp</cppa:AgreementIdentifier> <cppa:Description xml:lang="en">Agreement formed from Acpp and Bcpp at 2017-05-10T17:01:11.229100</cppa:Description> <cppa:ProfileIdentifier>Acpp</cppa:ProfileIdentifier> <cppa:ProfileIdentifier>Bcpp</cppa:ProfileIdentifier> <cppa:ActivationDate>2017-05-20T17:01:11.229178</cppa:ActivationDate> <cppa:ExpirationDate>2021-01-01T00:00:00</cppa:ExpirationDate> </cppa:AgreementInfo> <cppa:PartyInfo> <cppa:PartyName xml:lang="en">Party C</cppa:PartyName> <cppa:PartyId type="urn:oasis:names:tc:ebcore:partyid-type:unregistered">C</cppa:PartyId> <cppa:Certificate id="asc"> <ds:KeyInfo> <ds:KeyName>C signing cert</ds:KeyName> <ds:X509Data> <ds:X509Certificate>YW5vdGhlciBsb25nIHNpZ25pbmcgY2VydA==</ds:X509Certificate> <ds:X509Certificate>longroot</ds:X509Certificate> </ds:X509Data> </ds:KeyInfo> </cppa:Certificate> </cppa:PartyInfo> <cppa:CounterPartyInfo> <cppa:PartyName xml:lang="en">Party B</cppa:PartyName> <cppa:PartyId type="urn:oasis:names:tc:ebcore:partyid-type:unregistered">B</cppa:PartyId> <!--Suppressed unreferenced certificate bsc--> <cppa:Certificate id="bnewsc"> <ds:KeyInfo> <ds:KeyName>B's newer signing certificate, from longroot</ds:KeyName> <ds:X509Data> <ds:X509Certificate>c2FmZXJzaWduaW5nY2VydA==</ds:X509Certificate> <ds:X509Certificate>longroot</ds:X509Certificate> </ds:X509Data> </ds:KeyInfo> </cppa:Certificate> <!--Suppressed unreferenced certificate root--> <!--Suppressed unreferenced certificate longroot--> </cppa:CounterPartyInfo> <cppa:ServiceSpecification> <cppa:PartyRole name="Buyer"/> <cppa:CounterPartyRole name="Seller"/> <cppa:ServiceBinding> <cppa:Service>OrderingBilling:1.0</cppa:Service> <cppa:ActionBinding action="SubmitOrder" id="ob_1_1_S" sendOrReceive="send" payloadProfileId="_FDX4"> <cppa:ChannelId>_SW4D</cppa:ChannelId> </cppa:ActionBinding> </cppa:ServiceBinding> <cppa:ServiceBinding> <cppa:Service>OrderingBilling:2.0</cppa:Service> <cppa:ActionBinding action="SubmitOrder" id="ob_2_1_S" sendOrReceive="send" payloadProfileId="_MMZR"> <cppa:ChannelId>_SW4D</cppa:ChannelId> </cppa:ActionBinding> </cppa:ServiceBinding> </cppa:ServiceSpecification> <cppa:ebMS3Channel id="_SW4D" transport="_7MRA"> <cppa:Description xml:lang="en">Channel formed from ch3 (Outbound AS4 channel for user messages) in Acpp and ch3 (Inbound AS4 channel for user messages) in Bcpp</cppa:Description> <cppa:ChannelProfile>
http://docs.oasis-open.org/ebxml-msg/ebms/v3.0/ns/cprofiles/200809/as4ebhandler </cppa:ChannelProfile> <cppa:WSSecurityBinding> <cppa:WSSVersion>1.1</cppa:WSSVersion> <cppa:Signature> <cppa:SignatureAlgorithm>
http://www.w3.org/2001/04/xmldsig-more#rsa-sha256 </cppa:SignatureAlgorithm> <cppa:DigestAlgorithm>
http://www.w3.org/2001/04/xmlenc#sha256 </cppa:DigestAlgorithm> <cppa:SigningCertificateRef certId="asc"/> </cppa:Signature> </cppa:WSSecurityBinding> <cppa:AS4ReceptionAwareness> <cppa:DuplicateHandling> <cppa:DuplicateElimination>true</cppa:DuplicateElimination> </cppa:DuplicateHandling> </cppa:AS4ReceptionAwareness> <cppa:ErrorHandling> <cppa:ReceiverErrorsReportChannelId>_EXVF</cppa:ReceiverErrorsReportChannelId> </cppa:ErrorHandling> <cppa:ReceiptHandling> <cppa:ReceiptChannelId>_EXVF</cppa:ReceiptChannelId> </cppa:ReceiptHandling> </cppa:ebMS3Channel> <cppa:ebMS3Channel id="_EXVF" asResponse="true"> <cppa:Description xml:lang="en">Channel formed from ch4 (Synchronous AS4 response signal) in Acpp and ch4 (Synchronous AS4 response signal) in Bcpp</cppa:Description> <cppa:ChannelProfile>
http://docs.oasis-open.org/ebxml-msg/ebms/v3.0/ns/cprofiles/200809/as4ebhandler </cppa:ChannelProfile> <cppa:WSSecurityBinding> <cppa:WSSVersion>1.1</cppa:WSSVersion> <cppa:Signature> <cppa:SignatureAlgorithm>
http://www.w3.org/2001/04/xmldsig-more#rsa-sha256 </cppa:SignatureAlgorithm> <cppa:DigestAlgorithm>
http://www.w3.org/2001/04/xmlenc#sha256 </cppa:DigestAlgorithm> <cppa:SigningCertificateRef certId="bnewsc"/> </cppa:Signature> </cppa:WSSecurityBinding> </cppa:ebMS3Channel> <cppa:HTTPTransport id="_7MRA"> <cppa:Description xml:lang="en">Transport formed from tr3 in Acpp and tr3 in Bcpp</cppa:Description> <cppa:Endpoint>
https://as4.b.example.com/msh </cppa:Endpoint> </cppa:HTTPTransport> <cppa:PayloadProfile id="_FDX4"> <cppa:PayloadPart> <cppa:PartName>order</cppa:PartName> <cppa:Schema element="Order" namespace="urn:schemas:orders:1.0"/> </cppa:PayloadPart> </cppa:PayloadProfile> <cppa:PayloadProfile id="_MMZR"> <cppa:PayloadPart> <cppa:PartName>order</cppa:PartName> <cppa:Schema element="Order" namespace="urn:schemas:orders:2.0"/> </cppa:PayloadPart> </cppa:PayloadProfile> </cppa:CPA> <?xml version="1.0" encoding="UTF-8"?> <cppa:CPP xmlns:cppa="
http://docs.oasis-open.org/ebcore/ns/cppa/v3.0" ; xmlns:ds="
http://www.w3.org/2000/09/xmldsig#" ; xmlns:dsig11="
http://www.w3.org/2009/xmldsig11#" ; xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance" ; xsi:schemaLocation="
http://docs.oasis-open.org/ebxmlcppa/cppa-3.0 ../../../cppa3-xsd/cppa3.xsd"> <cppa:ProfileInfo> <cppa:ProfileIdentifier>Acpp</cppa:ProfileIdentifier> <cppa:ActivationDate>2014-01-01T00:00:00</cppa:ActivationDate> <cppa:ExpirationDate>2021-01-01T00:00:00</cppa:ExpirationDate> <cppa:PhaseIn>P10D</cppa:PhaseIn> </cppa:ProfileInfo> <cppa:PartyInfo> <cppa:PartyName xml:lang="en">Party A</cppa:PartyName> <cppa:PartyId type="urn:oasis:names:tc:ebcore:partyid-type:unregistered">A</cppa:PartyId> <cppa:Certificate id="asc"> <ds:KeyInfo> <ds:KeyName>A signing cert</ds:KeyName> <ds:X509Data> <ds:X509Certificate>leaf</ds:X509Certificate> <ds:X509Certificate>root</ds:X509Certificate> </ds:X509Data> </ds:KeyInfo> </cppa:Certificate> <cppa:TrustAnchor id="ata"> <cppa:Certificate> <ds:KeyInfo> <ds:X509Data> <ds:X509Certificate>root</ds:X509Certificate> </ds:X509Data> </ds:KeyInfo> </cppa:Certificate> </cppa:TrustAnchor> </cppa:PartyInfo> <cppa:ServiceSpecification> <cppa:PartyRole name="Buyer"/> <cppa:CounterPartyRole name="Seller"/> <cppa:ServiceBinding> <cppa:Service>OrderingBilling:1.0</cppa:Service> <cppa:ActionBinding id="ob_1_1_S" action="SubmitOrder" sendOrReceive="send" payloadProfileId="order_v1"> <cppa:ChannelId>ch1</cppa:ChannelId> </cppa:ActionBinding> </cppa:ServiceBinding> <cppa:ServiceBinding> <cppa:Service>OrderingBilling:2.0</cppa:Service> <cppa:ActionBinding id="ob_2_1_S" action="SubmitOrder" sendOrReceive="send" payloadProfileId="order_v2"> <cppa:ChannelId>ch1</cppa:ChannelId> </cppa:ActionBinding> </cppa:ServiceBinding> </cppa:ServiceSpecification> <cppa:ebMS2Channel id="ch1" transport="tr1" securityBinding="sb1"> <cppa:Description xml:lang="en">Outbound user messages</cppa:Description> <cppa:ErrorHandling> <cppa:ReceiverErrorsReportChannelId>ch2</cppa:ReceiverErrorsReportChannelId> </cppa:ErrorHandling> <cppa:ReceiptHandling> <cppa:ReceiptChannelId>ch2</cppa:ReceiptChannelId> </cppa:ReceiptHandling> <cppa:ebMS2ReliableMessaging actor="urn:oasis:names:tc:ebxml-msg:actor:toPartyMSH"> <cppa:DuplicateHandling> <cppa:DuplicateElimination>true</cppa:DuplicateElimination> </cppa:DuplicateHandling> </cppa:ebMS2ReliableMessaging> </cppa:ebMS2Channel> <cppa:ebMS2Channel id="ch2" transport="tr2" securityBinding="sb2"> <cppa:Description xml:lang="en">Inbound signal channel</cppa:Description> </cppa:ebMS2Channel> <cppa:ebMS2SecurityBinding id="sb1"> <cppa:Signature> <cppa:DigestAlgorithm>
http://www.w3.org/2000/09/xmldsig#sha1 </cppa:DigestAlgorithm> <cppa:SigningCertificateRef certId="asc"/> </cppa:Signature> </cppa:ebMS2SecurityBinding> <cppa:ebMS2SecurityBinding id="sb2"> <cppa:Signature> <cppa:DigestAlgorithm>
http://www.w3.org/2000/09/xmldsig#sha1 </cppa:DigestAlgorithm> <cppa:SigningTrustAnchorRef certId="ata"/> </cppa:Signature> </cppa:ebMS2SecurityBinding> <cppa:SMTPTransport id="tr1"> <cppa:Description xml:lang="en">Transport from A</cppa:Description> <cppa:From>
ebms@a.example.com</cppa:From> </cppa:SMTPTransport> <cppa:SMTPTransport id="tr2"> <cppa:Description xml:lang="en">Transport to A</cppa:Description> <cppa:Endpoint>mail.a.example.com</cppa:Endpoint> <cppa:To>
ebms@a.example.com</cppa:To> </cppa:SMTPTransport> <cppa:PayloadProfile id="order_v1"> <cppa:PayloadPart> <cppa:PartName>order</cppa:PartName> <cppa:Schema element="Order" namespace="urn:schemas:orders:1.0" /> </cppa:PayloadPart> </cppa:PayloadProfile> <cppa:PayloadProfile id="order_v2"> <cppa:PayloadPart> <cppa:PartName>order</cppa:PartName> <cppa:Schema element="Order" namespace="urn:schemas:orders:2.0" /> </cppa:PayloadPart> </cppa:PayloadProfile> </cppa:CPP> <cppa:CPA xmlns:cppa="
http://docs.oasis-open.org/ebcore/ns/cppa/v3.0" ; xmlns:ds="
http://www.w3.org/2000/09/xmldsig#" ; xmlns:dsig11="
http://www.w3.org/2009/xmldsig11#" ; xmlns:xkms="
http://www.w3.org/2002/03/xkms#" ;> <cppa:AgreementInfo> <cppa:AgreementIdentifier>Acpp_Bcpp</cppa:AgreementIdentifier> <cppa:Description xml:lang="en">Agreement formed from Acpp and Bcpp at 2017-05-10T17:33:41.125051</cppa:Description> <cppa:ProfileIdentifier>Acpp</cppa:ProfileIdentifier> <cppa:ProfileIdentifier>Bcpp</cppa:ProfileIdentifier> <cppa:ActivationDate>2017-05-20T17:33:41.125106</cppa:ActivationDate> <cppa:ExpirationDate>2021-01-01T00:00:00</cppa:ExpirationDate> </cppa:AgreementInfo> <cppa:PartyInfo> <cppa:PartyName xml:lang="en">Party A</cppa:PartyName> <cppa:PartyId type="urn:oasis:names:tc:ebcore:partyid-type:unregistered">A</cppa:PartyId> <cppa:Certificate id="asc"> <ds:KeyInfo> <ds:KeyName>A signing cert</ds:KeyName> <ds:X509Data> <ds:X509Certificate>leaf</ds:X509Certificate> <ds:X509Certificate>root</ds:X509Certificate> </ds:X509Data> </ds:KeyInfo> </cppa:Certificate> </cppa:PartyInfo> <cppa:CounterPartyInfo> <cppa:PartyName xml:lang="en">Party B</cppa:PartyName> <cppa:PartyId type="urn:oasis:names:tc:ebcore:partyid-type:unregistered">B</cppa:PartyId> <cppa:Certificate id="bsc"> <ds:KeyInfo> <ds:KeyName>B signing certificate</ds:KeyName> <ds:X509Data> <ds:X509Certificate>b3RoZXJsZWFm</ds:X509Certificate> <ds:X509Certificate>root</ds:X509Certificate> </ds:X509Data> </ds:KeyInfo> </cppa:Certificate> <!--Suppressed unreferenced certificate bnewsc--> <!--Suppressed unreferenced certificate root--> <!--Suppressed unreferenced certificate longroot--> </cppa:CounterPartyInfo> <cppa:ServiceSpecification> <cppa:PartyRole name="Buyer"/> <cppa:CounterPartyRole name="Seller"/> <cppa:ServiceBinding> <cppa:Service>OrderingBilling:1.0</cppa:Service> <cppa:ActionBinding action="SubmitOrder" id="ob_1_1_S" sendOrReceive="send" payloadProfileId="_FDX4"> <cppa:ChannelId>_QRIN</cppa:ChannelId> </cppa:ActionBinding> </cppa:ServiceBinding> </cppa:ServiceSpecification> <cppa:ebMS2Channel id="_QRIN" transport="_XZGO"> <cppa:Description xml:lang="en">Channel formed from ch1 (Outbound user messages) in Acpp and ch1 (Inbound ebMS2 over SMTP) in Bcpp</cppa:Description> <cppa:ErrorHandling> <cppa:ReceiverErrorsReportChannelId>_6S64</cppa:ReceiverErrorsReportChannelId> </cppa:ErrorHandling> <cppa:ReceiptHandling> <cppa:ReceiptChannelId>_6S64</cppa:ReceiptChannelId> </cppa:ReceiptHandling> <cppa:ebMS2ReliableMessaging actor="urn:oasis:names:tc:ebxml-msg:actor:toPartyMSH"> <cppa:DuplicateHandling> <cppa:DuplicateElimination>true</cppa:DuplicateElimination> </cppa:DuplicateHandling> </cppa:ebMS2ReliableMessaging> <cppa:ebMS2SecurityBinding> <cppa:Signature> <cppa:DigestAlgorithm>
http://www.w3.org/2000/09/xmldsig#sha1 </cppa:DigestAlgorithm> <cppa:SigningCertificateRef certId="asc"/> </cppa:Signature> </cppa:ebMS2SecurityBinding> </cppa:ebMS2Channel> <cppa:ebMS2Channel id="_6S64" transport="_YTHP"> <cppa:Description xml:lang="en">Channel formed from ch2 (Inbound signal channel) in Acpp and ch2 (Outbound asynchronous SMTP signal channel) in Bcpp</cppa:Description> <cppa:ebMS2SecurityBinding> <cppa:Signature> <cppa:DigestAlgorithm>
http://www.w3.org/2000/09/xmldsig#sha1 </cppa:DigestAlgorithm> <cppa:SigningCertificateRef certId="bsc"/> </cppa:Signature> </cppa:ebMS2SecurityBinding> </cppa:ebMS2Channel> <cppa:SMTPTransport id="_XZGO"> <cppa:Description xml:lang="en">Transport formed from tr1 in Acpp and tr1 in Bcpp</cppa:Description> <cppa:Endpoint>mail.b.example.com</cppa:Endpoint> <cppa:From>
ebms@a.example.com</cppa:From> <cppa:To>
ebms@b.example.com</cppa:To> </cppa:SMTPTransport> <cppa:SMTPTransport id="_YTHP"> <cppa:Description xml:lang="en">Transport formed from tr2 in Acpp and tr2 in Bcpp</cppa:Description> <cppa:Endpoint>mail.a.example.com</cppa:Endpoint> <cppa:From>
ebms@b.example.com</cppa:From> <cppa:To>
ebms@a.example.com</cppa:To> </cppa:SMTPTransport> <cppa:PayloadProfile id="_FDX4"> <cppa:PayloadPart> <cppa:PartName>order</cppa:PartName> <cppa:Schema element="Order" namespace="urn:schemas:orders:1.0"/> </cppa:PayloadPart> </cppa:PayloadProfile> </cppa:CPA>