[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: RE: [ebxml-cppa] Pim's proposal on reuse of BusinessTransactionCharacteristics and MessagingCharacteristics, and some initial comments to open
Hello,
To follow up on Dale's note, please see the attached
stylesheet as a proof-of-concept to show how an upgrade from CPA 2 to a (an
uncompatible) CPA3 with reusable BusinessTransactionCharacteristics might
work. The stylesheet generates a copy of the original CPA, except that
it:
- adds a @tns:businessTransactionCharacteristics attribute to
tns:ThisPartyActionBinding, which would be of type IDREF
- omits the BusinessTransactionCharacteristics element from the
result tree for tns:ThisPartyActionBinding.
- inserts a series of
BusinessTransactionCharacteristics elements after DocExchange with the
corresponding ID attributes.
When used against a sample CPA taken from the CPA TC site, the benefits
of reuse are clear for Partner A: A_ABID2, A_ABID4, A_ABID5, A_ABID8 are
indentical. The CPA3 could be
simplified by deleting three of them, and changing the IDREF elements to point
to the single remaining element.
The same is true for partner B, with
identical characteristics elements B_ABID2, B_ABID3, B_ABID5
and B_ABID8. This would remove 34 lines of redundant XML
code from the CPA.
The XSLT stylesheet doesn't fix the redundancy, so the
redundancy is not actually reduced by the script, but a person responsible
for CPA maintenance in an organization could manually fix the
output after running the script. (Some additional manual changes
may be needed any way way when the move from CPA2 to CPA3 coincides with other
changes, e.g. an upgrade to ebMS3). New CPAs could be
written from scratch using a small set of referenced patterns. The patterns to
use could be derived from a community's deployment guide.
General comments:
[1] The result of the script is obviously not valid according to the
current CPA2 XML Schema.
[2] Viewing
conversion of CPAs (using tools like this stylesheet) as a step
in upgrading to CPA3 would allow the
CPA3 schema to be incompatible
with CPA2, and simplify its XML Schema.
Compatibility is important for existing users, but if (as I expect) adoption
will increase when an ebMS3/CPA3 is released, there are benefits in having a
simpler schema for new users too.
[3] There may be benefits for allowing both
a reuse (using IDREF) and inline definition of business transaction
characteristics. The attribute and sub-element
tns:businessTransactionCharacteristics could be assumed to be mutually
exclusive. Or, both could be allowed, with "defaults" taken from the
referenced pattern. Each ThisPartyActionBinding could add additional information
(or overrule) the pattern. In the example A_BID1, A_BID3, A_BID6 and
A_BID7 actually use the same patterns as A_ABID2 and the three others,
except that they specify values for timeToAcknowledgeReceipt and
timeToPerform.
[4] We've been discussing "flattening" CPA. We could extend [3] and
move the business transaction characteristic attributes up one
level.
Only the attributes that are added to the referenced BT characteristics
element need to be referenced. ABID7 only adds an interval to acknowledge
receipt, the six other attribute-value pairs are the same as ABID2, ABID4,
ABID5, ABID8. This would allow us to collapse:
<tp:CanReceive>
<tp:ThisPartyActionBinding tp:id="companyA_ABID7" tp:action="Purchase Order Confirmation Action" tp:packageId="CompanyA_SyncReplyPackage"> <tp:BusinessTransactionCharacteristics tp:isNonRepudiationRequired="true" tp:isNonRepudiationReceiptRequired="true" tp:isConfidential="transient" tp:isAuthenticated="persistent" tp:isTamperProof="persistent" tp:isAuthorizationRequired="true" tp:timeToAcknowledgeReceipt="PT5M"/> <tp:ActionContext tp:binaryCollaboration="Request Purchase Order" tp:businessTransactionActivity="Request Purchase Order" tp:requestOrResponseAction="Purchase Order Confirmation Action"/> <tp:ChannelId>syncChannelA1</tp:ChannelId> </tp:ThisPartyActionBinding> <tp:OtherPartyActionBinding>companyB_ABID7</tp:OtherPartyActionBinding> </tp:CanReceive> into something like:
<tp:CanReceive>
<tp:ThisPartyActionBinding
tp:businessTransactionCharacteristics="BTC_companyA_ABID_merged"
tp:timeToAcknowledgeReceipt="PT5M" tp:id="companyA_ABID7"
tp:action="Purchase Order Confirmation Action" tp:packageId="CompanyA_SyncReplyPackage"> <tp:ActionContext tp:binaryCollaboration="Request Purchase Order" tp:businessTransactionActivity="Request Purchase Order" tp:requestOrResponseAction="Purchase Order Confirmation Action"/> <tp:ChannelId>syncChannelA1</tp:ChannelId> </tp:ThisPartyActionBinding> <tp:OtherPartyActionBinding>companyB_ABID7</tp:OtherPartyActionBinding> </tp:CanReceive> With [3], this would allow a further reduction of another sixty or lines
of XML code in the sample CPA without loss of information.
[5] The elements are now still maintained
per partner. But they could also be moved to the top-level, like
packaging, if traffic from A to B has similar characteristics as traffic
in the other direction. Again, a major reduction in code in the case of the
example CPA.
[6] The same approach could be taken for
MessagingCharacteristics. This is not in the script, but could easily be added.
However, the sample CPA would not benefit from it at all.
[7] This could all be
combined with Dale's proposal for flattening (http://lists.oasis-open.org/archives/ebxml-cppa/200606/msg00003.html).
[8] The benefits in terms of code reduction depend on
how representative the sample CPA is for the typical ebXML project. In the
few projects I've been in, people have adopted a small number of "patterns",
sometimes less than half a dozen. There may be dozens or
more Action Bindings for partners in large projects. These would
have similar benefits to the ones noted for the sample
CPA.
Pim
From: Dale Moberg [mailto:dmoberg@cyclonecommerce.com] Sent: 10 June 2006 22:43 To: OASIS ebXML CPPA TC Subject: [ebxml-cppa] Pim's proposal on reuse of BusinessTransactionCharacteristics and MessagingCharacteristics, and some initial comments to open Pim proposed that both
BusinessTransactionCharacteristics and MessagingCharacteristics be considered
for reuse within action bindings. Two general kinds of mechanism for
reuse are under consideration in the TC 1. using xinclude., (not currently
utilized in CPPA but used in ebMS BPSS 2.0) 2. using our usual mechanism of
IDREF. To use mechanism 2, we would
probably need several supporting changes: 1. PartyInfo would need to be
modified to allow sequences of these elements as
children. 2. An ID attribute needs to be added
to the elements. either 3a. Add an attribute for containing
the ID value under DeliveryChannel (for idrefs to MessagingCharacteristics)) and
under the various container elements for action bindings (for idrefs to
BusinessTransactionCharacteristics) or 3b Somehow modify the type for both
MessagingCharacteristics and BusinessTransactionCharacteristics to allow for
either a reference or to contain the attributes currently
used). There are certainly a lot of other
alternatives. Consider that
MessagingCharacteristics will most probably need to be generalized for ebMS 3.0
support. My action item to post the general
issue and some potential ways to implement reuse is fulfilled. More specific
proposals on changes to these elements are welcome. We would like to have, if possible,
instances of CPPA 2.* validate (after changes to the namespace and possibly
prefixes) against the new schema). We would also like to allow for
writing simple xslt transforms to update previous CPPA instances to use new
features. |
<?xml version="1.0" encoding="utf-8"?> <!-- Copyright UN/CEFACT and OASIS, 2001. All Rights Reserved. --><tp:CollaborationProtocolAgreement xmlns:tp="http://www.oasis-open.org/committees/ebxml-cppa/schema/cpp-cpa-2_0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:schemaLocation="http://www.oasis-open.org/committees/ebxml-cppa/schema/cpp-cpa-2_0.xsd http://www.oasis-open.org/committees/ebxml-cppa/schema/cpp-cpa-2_0.xsd" tp:cpaid="uri:companyA-and-companyB-cpa" tp:version="2_0b"> <tp:Status tp:value="proposed"/> <tp:Start>2001-05-20T07:21:00Z</tp:Start> <tp:End>2002-05-20T07:21:00Z</tp:End> <tp:ConversationConstraints tp:invocationLimit="100" tp:concurrentConversations="10"/> <!-- Party info for CompanyA --> <tp:PartyInfo tp:partyName="CompanyA" tp:defaultMshChannelId="asyncChannelA1" tp:defaultMshPackageId="CompanyA_MshSignalPackage"> <tp:PartyId tp:type="urn:oasis:names:tc:ebxml-cppa:partyid-type:duns">123456789</tp:PartyId> <tp:PartyRef xlink:href="http://CompanyA.com/about.html"/> <tp:CollaborationRole> <tp:ProcessSpecification tp:version="2.0" tp:name="PIP3A4RequestPurchaseOrder" xlink:type="simple" xlink:href="http://www.rosettanet.org/processes/3A4.xml" tp:uuid="urn:icann:rosettanet.org:bpid:3A4$2.0"/> <tp:Role tp:name="Buyer" xlink:type="simple" xlink:href="http://www.rosettanet.org/processes/3A4.xml#Buyer"/> <tp:ApplicationCertificateRef tp:certId="CompanyA_AppCert"/> <tp:ServiceBinding> <tp:Service>bpid:icann:rosettanet.org:3A4$2.0</tp:Service> <tp:CanSend> <tp:ThisPartyActionBinding tp:businessTransactionCharacteristics="BTC_companyA_ABID1" tp:id="companyA_ABID1" tp:action="Purchase Order Request Action" tp:packageId="CompanyA_RequestPackage"> <tp:ActionContext tp:binaryCollaboration="Request Purchase Order" tp:businessTransactionActivity="Request Purchase Order" tp:requestOrResponseAction="Purchase Order Request Action"/> <tp:ChannelId>asyncChannelA1</tp:ChannelId> </tp:ThisPartyActionBinding> <tp:OtherPartyActionBinding>companyB_ABID4</tp:OtherPartyActionBinding> </tp:CanSend> <tp:CanSend> <tp:ThisPartyActionBinding tp:businessTransactionCharacteristics="BTC_companyA_ABID2" tp:id="companyA_ABID2" tp:action="ReceiptAcknowledgement" tp:packageId="CompanyA_ReceiptAcknowledgmentPackage"> <tp:ChannelId>asyncChannelA1</tp:ChannelId> </tp:ThisPartyActionBinding> <tp:OtherPartyActionBinding>companyB_ABID5</tp:OtherPartyActionBinding> </tp:CanSend> <!-- The next binding uses a synchronous delivery channel --> <tp:CanSend> <tp:ThisPartyActionBinding tp:businessTransactionCharacteristics="BTC_companyA_ABID6" tp:id="companyA_ABID6" tp:action="Purchase Order Request Action" tp:packageId="CompanyA_RequestPackage"> <tp:ActionContext tp:binaryCollaboration="Request Purchase Order" tp:businessTransactionActivity="Request Purchase Order" tp:requestOrResponseAction="Purchase Order Request Action"/> <tp:ChannelId>syncChannelA1</tp:ChannelId> </tp:ThisPartyActionBinding> <tp:OtherPartyActionBinding>companyB_ABID6</tp:OtherPartyActionBinding> <tp:CanReceive> <tp:ThisPartyActionBinding tp:businessTransactionCharacteristics="BTC_companyA_ABID7" tp:id="companyA_ABID7" tp:action="Purchase Order Confirmation Action" tp:packageId="CompanyA_SyncReplyPackage"> <tp:ActionContext tp:binaryCollaboration="Request Purchase Order" tp:businessTransactionActivity="Request Purchase Order" tp:requestOrResponseAction="Purchase Order Confirmation Action"/> <tp:ChannelId>syncChannelA1</tp:ChannelId> </tp:ThisPartyActionBinding> <tp:OtherPartyActionBinding>companyB_ABID7</tp:OtherPartyActionBinding> </tp:CanReceive> <tp:CanReceive> <tp:ThisPartyActionBinding tp:businessTransactionCharacteristics="BTC_companyA_ABID8" tp:id="companyA_ABID8" tp:action="Exception" tp:packageId="CompanyA_ExceptionPackage"> <tp:ChannelId>syncChannelA1</tp:ChannelId> </tp:ThisPartyActionBinding> <tp:OtherPartyActionBinding>companyB_ABID8</tp:OtherPartyActionBinding> </tp:CanReceive> </tp:CanSend> <tp:CanReceive> <tp:ThisPartyActionBinding tp:businessTransactionCharacteristics="BTC_companyA_ABID3" tp:id="companyA_ABID3" tp:action="Purchase Order Confirmation Action" tp:packageId="CompanyA_ResponsePackage"> <tp:ActionContext tp:binaryCollaboration="Request Purchase Order" tp:businessTransactionActivity="Request Purchase Order" tp:requestOrResponseAction="Purchase Order Confirmation Action"/> <tp:ChannelId>asyncChannelA1</tp:ChannelId> </tp:ThisPartyActionBinding> <tp:OtherPartyActionBinding>companyB_ABID1</tp:OtherPartyActionBinding> </tp:CanReceive> <tp:CanReceive> <tp:ThisPartyActionBinding tp:businessTransactionCharacteristics="BTC_companyA_ABID4" tp:id="companyA_ABID4" tp:action="ReceiptAcknowledgment" tp:packageId="CompanyA_ReceiptAcknowledgmentPackage"> <tp:ChannelId>asyncChannelA1</tp:ChannelId> </tp:ThisPartyActionBinding> <tp:OtherPartyActionBinding>companyB_ABID2</tp:OtherPartyActionBinding> </tp:CanReceive> <tp:CanReceive> <tp:ThisPartyActionBinding tp:businessTransactionCharacteristics="BTC_companyA_ABID5" tp:id="companyA_ABID5" tp:action="Exception" tp:packageId="CompanyA_ExceptionPackage"> <tp:ChannelId>asyncChannelA1</tp:ChannelId> </tp:ThisPartyActionBinding> <tp:OtherPartyActionBinding>companyB_ABID3</tp:OtherPartyActionBinding> </tp:CanReceive> </tp:ServiceBinding> </tp:CollaborationRole> <!-- Certificates used by the "Buyer" company --> <tp:Certificate tp:certId="CompanyA_AppCert"> <ds:KeyInfo> <ds:KeyName>CompanyA_AppCert_Key</ds:KeyName> </ds:KeyInfo> </tp:Certificate> <tp:Certificate tp:certId="CompanyA_SigningCert"> <ds:KeyInfo> <ds:KeyName>CompanyA_SigningCert_Key</ds:KeyName> </ds:KeyInfo> </tp:Certificate> <tp:Certificate tp:certId="CompanyA_EncryptionCert"> <ds:KeyInfo> <ds:KeyName>CompanyA_EncryptionCert_Key</ds:KeyName> </ds:KeyInfo> </tp:Certificate> <tp:Certificate tp:certId="CompanyA_ServerCert"> <ds:KeyInfo> <ds:KeyName>CompanyA_ServerCert_Key</ds:KeyName> </ds:KeyInfo> </tp:Certificate> <tp:Certificate tp:certId="CompanyA_ClientCert"> <ds:KeyInfo> <ds:KeyName>CompanyA_ClientCert_Key</ds:KeyName> </ds:KeyInfo> </tp:Certificate> <tp:Certificate tp:certId="TrustedRootCertA1"> <ds:KeyInfo> <ds:KeyName>TrustedRootCertA1_Key </ds:KeyName> </ds:KeyInfo> </tp:Certificate> <tp:Certificate tp:certId="TrustedRootCertA2"> <ds:KeyInfo> <ds:KeyName>TrustedRootCertA2_Key</ds:KeyName> </ds:KeyInfo> </tp:Certificate> <tp:Certificate tp:certId="TrustedRootCertA3"> <ds:KeyInfo> <ds:KeyName>TrustedRootCertA3_Key</ds:KeyName> </ds:KeyInfo> </tp:Certificate> <tp:Certificate tp:certId="TrustedRootCertA4"> <ds:KeyInfo> <ds:KeyName>TrustedRootCertA4_Key</ds:KeyName> </ds:KeyInfo> </tp:Certificate> <tp:Certificate tp:certId="TrustedRootCertA5"> <ds:KeyInfo> <ds:KeyName>TrustedRootCertA5_Key</ds:KeyName> </ds:KeyInfo> </tp:Certificate> <tp:SecurityDetails tp:securityId="CompanyA_TransportSecurity"> <tp:TrustAnchors> <tp:AnchorCertificateRef tp:certId="TrustedRootCertA1"/> <tp:AnchorCertificateRef tp:certId="TrustedRootCertA2"/> <tp:AnchorCertificateRef tp:certId="TrustedRootCertA4"/> </tp:TrustAnchors> </tp:SecurityDetails> <tp:SecurityDetails tp:securityId="CompanyA_MessageSecurity"> <tp:TrustAnchors> <tp:AnchorCertificateRef tp:certId="TrustedRootCertA3"/> <tp:AnchorCertificateRef tp:certId="TrustedRootCertA5"/> </tp:TrustAnchors> </tp:SecurityDetails> <tp:DeliveryChannel tp:channelId="asyncChannelA1" tp:transportId="transportA1" tp:docExchangeId="docExchangeA1"> <tp:MessagingCharacteristics tp:syncReplyMode="none" tp:ackRequested="always" tp:ackSignatureRequested="always" tp:duplicateElimination="always"/> </tp:DeliveryChannel> <tp:DeliveryChannel tp:channelId="syncChannelA1" tp:transportId="transportA2" tp:docExchangeId="docExchangeA1"> <tp:MessagingCharacteristics tp:syncReplyMode="signalsAndResponse" tp:ackRequested="always" tp:ackSignatureRequested="always" tp:duplicateElimination="always"/> </tp:DeliveryChannel> <tp:Transport tp:transportId="transportA1"> <tp:TransportSender> <tp:TransportProtocol tp:version="1.1">HTTP</tp:TransportProtocol> <tp:AccessAuthentication>basic</tp:AccessAuthentication> <tp:TransportClientSecurity> <tp:TransportSecurityProtocol tp:version="3.0">SSL</tp:TransportSecurityProtocol> <tp:ClientCertificateRef tp:certId="CompanyA_ClientCert"/> <tp:ServerSecurityDetailsRef tp:securityId="CompanyA_TransportSecurity"/> </tp:TransportClientSecurity> </tp:TransportSender> <tp:TransportReceiver> <tp:TransportProtocol tp:version="1.1">HTTP</tp:TransportProtocol> <tp:AccessAuthentication>basic</tp:AccessAuthentication> <tp:Endpoint tp:uri="https://www.CompanyA.com/servlets/ebxmlhandler/async" tp:type="allPurpose"/> <tp:TransportServerSecurity> <tp:TransportSecurityProtocol tp:version="3.0">SSL</tp:TransportSecurityProtocol> <tp:ServerCertificateRef tp:certId="CompanyA_ServerCert"/> <tp:ClientSecurityDetailsRef tp:securityId="CompanyA_TransportSecurity"/> </tp:TransportServerSecurity> </tp:TransportReceiver> </tp:Transport> <tp:Transport tp:transportId="transportA2"> <tp:TransportSender> <tp:TransportProtocol tp:version="1.1">HTTP</tp:TransportProtocol> <tp:AccessAuthentication>basic</tp:AccessAuthentication> <tp:TransportClientSecurity> <tp:TransportSecurityProtocol tp:version="3.0">SSL</tp:TransportSecurityProtocol> <tp:ClientCertificateRef tp:certId="CompanyA_ClientCert"/> <tp:ServerSecurityDetailsRef tp:securityId="CompanyA_TransportSecurity"/> </tp:TransportClientSecurity> </tp:TransportSender> <tp:TransportReceiver> <tp:TransportProtocol tp:version="1.1">HTTP</tp:TransportProtocol> <tp:AccessAuthentication>basic</tp:AccessAuthentication> <tp:Endpoint tp:uri="https://www.CompanyA.com/servlets/ebxmlhandler/sync" tp:type="allPurpose"/> <tp:TransportServerSecurity> <tp:TransportSecurityProtocol tp:version="3.0">SSL</tp:TransportSecurityProtocol> <tp:ServerCertificateRef tp:certId="CompanyA_ServerCert"/> <tp:ClientSecurityDetailsRef tp:securityId="CompanyA_TransportSecurity"/> </tp:TransportServerSecurity> </tp:TransportReceiver> </tp:Transport> <tp:DocExchange tp:docExchangeId="docExchangeA1"> <tp:ebXMLSenderBinding tp:version="2.0"> <tp:ReliableMessaging> <tp:Retries>3</tp:Retries> <tp:RetryInterval>PT2H</tp:RetryInterval> <tp:MessageOrderSemantics>Guaranteed</tp:MessageOrderSemantics> </tp:ReliableMessaging> <tp:PersistDuration>P1D</tp:PersistDuration> <tp:SenderNonRepudiation> <tp:NonRepudiationProtocol>http://www.w3.org/2000/09/xmldsig#</tp:NonRepudiationProtocol> <tp:HashFunction>http://www.w3.org/2000/09/xmldsig#sha1</tp:HashFunction> <tp:SignatureAlgorithm>http://www.w3.org/2000/09/xmldsig#dsa-sha1</tp:SignatureAlgorithm> <tp:SigningCertificateRef tp:certId="CompanyA_SigningCert"/> </tp:SenderNonRepudiation> <tp:SenderDigitalEnvelope> <tp:DigitalEnvelopeProtocol tp:version="2.0">S/MIME</tp:DigitalEnvelopeProtocol> <tp:EncryptionAlgorithm>DES-CBC</tp:EncryptionAlgorithm> <tp:EncryptionSecurityDetailsRef tp:securityId="CompanyA_MessageSecurity"/> </tp:SenderDigitalEnvelope> </tp:ebXMLSenderBinding> <tp:ebXMLReceiverBinding tp:version="2.0"> <tp:ReliableMessaging> <tp:Retries>3</tp:Retries> <tp:RetryInterval>PT2H</tp:RetryInterval> <tp:MessageOrderSemantics>Guaranteed</tp:MessageOrderSemantics> </tp:ReliableMessaging> <tp:PersistDuration>P1D</tp:PersistDuration> <tp:ReceiverNonRepudiation> <tp:NonRepudiationProtocol>http://www.w3.org/2000/09/xmldsig#</tp:NonRepudiationProtocol> <tp:HashFunction>http://www.w3.org/2000/09/xmldsig#sha1</tp:HashFunction> <tp:SignatureAlgorithm>http://www.w3.org/2000/09/xmldsig#dsa-sha1</tp:SignatureAlgorithm> <tp:SigningSecurityDetailsRef tp:securityId="CompanyA_MessageSecurity"/> </tp:ReceiverNonRepudiation> <tp:ReceiverDigitalEnvelope> <tp:DigitalEnvelopeProtocol tp:version="2.0">S/MIME</tp:DigitalEnvelopeProtocol> <tp:EncryptionAlgorithm>DES-CBC</tp:EncryptionAlgorithm> <tp:EncryptionCertificateRef tp:certId="CompanyA_EncryptionCert"/> </tp:ReceiverDigitalEnvelope> </tp:ebXMLReceiverBinding> </tp:DocExchange> <tp:BusinessTransactionCharacteristics id="BTC_companyA_ABID1" tp:isNonRepudiationRequired="true" tp:isNonRepudiationReceiptRequired="true" tp:isConfidential="transient" tp:isAuthenticated="persistent" tp:isTamperProof="persistent" tp:isAuthorizationRequired="true" tp:timeToAcknowledgeReceipt="PT2H" tp:timeToPerform="P1D"/> <tp:BusinessTransactionCharacteristics id="BTC_companyA_ABID2" tp:isNonRepudiationRequired="true" tp:isNonRepudiationReceiptRequired="true" tp:isConfidential="transient" tp:isAuthenticated="persistent" tp:isTamperProof="persistent" tp:isAuthorizationRequired="true"/> <tp:BusinessTransactionCharacteristics id="BTC_companyA_ABID6" tp:isNonRepudiationRequired="true" tp:isNonRepudiationReceiptRequired="true" tp:isConfidential="transient" tp:isAuthenticated="persistent" tp:isTamperProof="persistent" tp:isAuthorizationRequired="true" tp:timeToAcknowledgeReceipt="PT5M" tp:timeToPerform="PT5M"/> <tp:BusinessTransactionCharacteristics id="BTC_companyA_ABID7" tp:isNonRepudiationRequired="true" tp:isNonRepudiationReceiptRequired="true" tp:isConfidential="transient" tp:isAuthenticated="persistent" tp:isTamperProof="persistent" tp:isAuthorizationRequired="true" tp:timeToAcknowledgeReceipt="PT5M"/> <tp:BusinessTransactionCharacteristics id="BTC_companyA_ABID8" tp:isNonRepudiationRequired="true" tp:isNonRepudiationReceiptRequired="true" tp:isConfidential="transient" tp:isAuthenticated="persistent" tp:isTamperProof="persistent" tp:isAuthorizationRequired="true"/> <tp:BusinessTransactionCharacteristics id="BTC_companyA_ABID3" tp:isNonRepudiationRequired="true" tp:isNonRepudiationReceiptRequired="true" tp:isConfidential="transient" tp:isAuthenticated="persistent" tp:isTamperProof="persistent" tp:isAuthorizationRequired="true" tp:timeToAcknowledgeReceipt="PT2H"/> <tp:BusinessTransactionCharacteristics id="BTC_companyA_ABID4" tp:isNonRepudiationRequired="true" tp:isNonRepudiationReceiptRequired="true" tp:isConfidential="transient" tp:isAuthenticated="persistent" tp:isTamperProof="persistent" tp:isAuthorizationRequired="true"/> <tp:BusinessTransactionCharacteristics id="BTC_companyA_ABID5" tp:isNonRepudiationRequired="true" tp:isNonRepudiationReceiptRequired="true" tp:isConfidential="transient" tp:isAuthenticated="persistent" tp:isTamperProof="persistent" tp:isAuthorizationRequired="true"/> </tp:PartyInfo> <!-- Party info for CompanyB --> <tp:PartyInfo tp:partyName="CompanyB" tp:defaultMshChannelId="asyncChannelB1" tp:defaultMshPackageId="CompanyB_MshSignalPackage"> <tp:PartyId tp:type="urn:oasis:names:tc:ebxml-cppa:partyid-type:duns">987654321</tp:PartyId> <tp:PartyRef xlink:type="simple" xlink:href="http://CompanyB.com/about.html"/> <tp:CollaborationRole> <tp:ProcessSpecification tp:version="2.0" tp:name="PIP3A4RequestPurchaseOrder" xlink:type="simple" xlink:href="http://www.rosettanet.org/processes/3A4.xml" tp:uuid="urn:icann:rosettanet.org:bpid:3A4$2.0"/> <tp:Role tp:name="Seller" xlink:type="simple" xlink:href="http://www.rosettanet.org/processes/3A4.xml#seller"/> <tp:ApplicationCertificateRef tp:certId="CompanyB_AppCert"/> <tp:ServiceBinding> <tp:Service>bpid:icann:rosettanet.org:3A4$2.0</tp:Service> <tp:CanSend> <tp:ThisPartyActionBinding tp:businessTransactionCharacteristics="BTC_companyB_ABID1" tp:id="companyB_ABID1" tp:action="Purchase Order Confirmation Action" tp:packageId="CompanyB_ResponsePackage"> <tp:ActionContext tp:binaryCollaboration="Request Purchase Order" tp:businessTransactionActivity="Request Purchase Order" tp:requestOrResponseAction="Purchase Order Confirmation Action"/> <tp:ChannelId>asyncChannelB1</tp:ChannelId> </tp:ThisPartyActionBinding> <tp:OtherPartyActionBinding>companyA_ABID3</tp:OtherPartyActionBinding> </tp:CanSend> <tp:CanSend> <tp:ThisPartyActionBinding tp:businessTransactionCharacteristics="BTC_companyB_ABID2" tp:id="companyB_ABID2" tp:action="ReceiptAcknowledgement" tp:packageId="CompanyB_ReceiptAcknowledgmentPackage"> <tp:ChannelId>asyncChannelB1</tp:ChannelId> </tp:ThisPartyActionBinding> <tp:OtherPartyActionBinding>companyA_ABID4</tp:OtherPartyActionBinding> </tp:CanSend> <tp:CanSend> <tp:ThisPartyActionBinding tp:businessTransactionCharacteristics="BTC_companyB_ABID3" tp:id="companyB_ABID3" tp:action="Exception" tp:packageId="CompanyB_ExceptionPackage"> <tp:ChannelId>asyncChannelB1</tp:ChannelId> </tp:ThisPartyActionBinding> <tp:OtherPartyActionBinding>companyA_ABID5</tp:OtherPartyActionBinding> </tp:CanSend> <tp:CanReceive> <tp:ThisPartyActionBinding tp:businessTransactionCharacteristics="BTC_companyB_ABID4" tp:id="companyB_ABID4" tp:action="Purchase Order Request Action" tp:packageId="CompanyB_RequestPackage"> <tp:ActionContext tp:binaryCollaboration="Request Purchase Order" tp:businessTransactionActivity="Request Purchase Order" tp:requestOrResponseAction="Purchase Order Request Action"/> <tp:ChannelId>asyncChannelB1</tp:ChannelId> </tp:ThisPartyActionBinding> <tp:OtherPartyActionBinding>companyA_ABID1</tp:OtherPartyActionBinding> </tp:CanReceive> <tp:CanReceive> <tp:ThisPartyActionBinding tp:businessTransactionCharacteristics="BTC_companyB_ABID5" tp:id="companyB_ABID5" tp:action="ReceiptAcknowledgment" tp:packageId="CompanyB_ReceiptAcknowledgmentPackage"> <tp:ChannelId>asyncChannelB1</tp:ChannelId> </tp:ThisPartyActionBinding> <tp:OtherPartyActionBinding>companyA_ABID2</tp:OtherPartyActionBinding> </tp:CanReceive> <!-- The next binding uses a synchronous delivery channel --> <tp:CanReceive> <tp:ThisPartyActionBinding tp:businessTransactionCharacteristics="BTC_companyB_ABID6" tp:id="companyB_ABID6" tp:action="Purchase Order Request Action" tp:packageId="CompanyB_RequestPackage"> <tp:ActionContext tp:binaryCollaboration="Request Purchase Order" tp:businessTransactionActivity="Request Purchase Order" tp:requestOrResponseAction="Purchase Order Request Action"/> <tp:ChannelId>syncChannelB1</tp:ChannelId> </tp:ThisPartyActionBinding> <tp:OtherPartyActionBinding>companyA_ABID6</tp:OtherPartyActionBinding> <tp:CanSend> <tp:ThisPartyActionBinding tp:businessTransactionCharacteristics="BTC_companyB_ABID7" tp:id="companyB_ABID7" tp:action="Purchase Order Confirmation Action" tp:packageId="CompanyB_SyncReplyPackage"> <tp:ActionContext tp:binaryCollaboration="Request Purchase Order" tp:businessTransactionActivity="Request Purchase Order" tp:requestOrResponseAction="Purchase Order Confirmation Action"/> <tp:ChannelId>syncChannelB1</tp:ChannelId> </tp:ThisPartyActionBinding> <tp:OtherPartyActionBinding>companyA_ABID7</tp:OtherPartyActionBinding> </tp:CanSend> <tp:CanSend> <tp:ThisPartyActionBinding tp:businessTransactionCharacteristics="BTC_companyB_ABID8" tp:id="companyB_ABID8" tp:action="Exception" tp:packageId="CompanyB_ExceptionPackage"> <tp:ChannelId>syncChannelB1</tp:ChannelId> </tp:ThisPartyActionBinding> <tp:OtherPartyActionBinding>companyA_ABID8</tp:OtherPartyActionBinding> </tp:CanSend> </tp:CanReceive> </tp:ServiceBinding> </tp:CollaborationRole> <!-- Certificates used by the "Seller" company --> <tp:Certificate tp:certId="CompanyB_AppCert"> <ds:KeyInfo> <ds:KeyName>CompanyB_AppCert_Key</ds:KeyName> </ds:KeyInfo> </tp:Certificate> <tp:Certificate tp:certId="CompanyB_SigningCert"> <ds:KeyInfo> <ds:KeyName>CompanyB_Signingcert_Key</ds:KeyName> </ds:KeyInfo> </tp:Certificate> <tp:Certificate tp:certId="CompanyB_EncryptionCert"> <ds:KeyInfo> <ds:KeyName>CompanyB_EncryptionCert_Key</ds:KeyName> </ds:KeyInfo> </tp:Certificate> <tp:Certificate tp:certId="CompanyB_ServerCert"> <ds:KeyInfo> <ds:KeyName>CompanyB_ServerCert_Key</ds:KeyName> </ds:KeyInfo> </tp:Certificate> <tp:Certificate tp:certId="CompanyB_ClientCert"> <ds:KeyInfo> <ds:KeyName>CompanyB_ClientCert_Key</ds:KeyName> </ds:KeyInfo> </tp:Certificate> <tp:Certificate tp:certId="TrustedRootCertB4"> <ds:KeyInfo> <ds:KeyName>TrustedRootCertB4_Key</ds:KeyName> </ds:KeyInfo> </tp:Certificate> <tp:Certificate tp:certId="TrustedRootCertB5"> <ds:KeyInfo> <ds:KeyName>TrustedRootCertB5_Key</ds:KeyName> </ds:KeyInfo> </tp:Certificate> <tp:Certificate tp:certId="TrustedRootCertB6"> <ds:KeyInfo> <ds:KeyName>TrustedRootCertB6_Key</ds:KeyName> </ds:KeyInfo> </tp:Certificate> <tp:Certificate tp:certId="TrustedRootCertB7"> <ds:KeyInfo> <ds:KeyName>TrustedRootCertB7_Key</ds:KeyName> </ds:KeyInfo> </tp:Certificate> <tp:Certificate tp:certId="TrustedRootCertB8"> <ds:KeyInfo> <ds:KeyName>TrustedRootCertB8_Key</ds:KeyName> </ds:KeyInfo> </tp:Certificate> <tp:SecurityDetails tp:securityId="CompanyB_TransportSecurity"> <tp:TrustAnchors> <tp:AnchorCertificateRef tp:certId="TrustedRootCertB5"/> <tp:AnchorCertificateRef tp:certId="TrustedRootCertB6"/> <tp:AnchorCertificateRef tp:certId="TrustedRootCertB4"/> </tp:TrustAnchors> </tp:SecurityDetails> <tp:SecurityDetails tp:securityId="CompanyB_MessageSecurity"> <tp:TrustAnchors> <tp:AnchorCertificateRef tp:certId="TrustedRootCertB8"/> <tp:AnchorCertificateRef tp:certId="TrustedRootCertB7"/> </tp:TrustAnchors> </tp:SecurityDetails> <!-- An asynchronous delivery channel --> <tp:DeliveryChannel tp:channelId="asyncChannelB1" tp:transportId="transportB1" tp:docExchangeId="docExchangeB1"> <tp:MessagingCharacteristics tp:syncReplyMode="none" tp:ackRequested="always" tp:ackSignatureRequested="always" tp:duplicateElimination="always"/> </tp:DeliveryChannel> <!-- A synchronous delivery channel --> <tp:DeliveryChannel tp:channelId="syncChannelB1" tp:transportId="transportB2" tp:docExchangeId="docExchangeB1"> <tp:MessagingCharacteristics tp:syncReplyMode="signalsAndResponse" tp:ackRequested="always" tp:ackSignatureRequested="always" tp:duplicateElimination="always"/> </tp:DeliveryChannel> <tp:Transport tp:transportId="transportB1"> <tp:TransportSender> <tp:TransportProtocol tp:version="1.1">HTTP</tp:TransportProtocol> <tp:AccessAuthentication>basic</tp:AccessAuthentication> <tp:TransportClientSecurity> <tp:TransportSecurityProtocol tp:version="3.0">SSL</tp:TransportSecurityProtocol> <tp:ClientCertificateRef tp:certId="CompanyB_ClientCert"/> <tp:ServerSecurityDetailsRef tp:securityId="CompanyB_TransportSecurity"/> </tp:TransportClientSecurity> </tp:TransportSender> <tp:TransportReceiver> <tp:TransportProtocol tp:version="1.1">HTTP</tp:TransportProtocol> <tp:AccessAuthentication>basic</tp:AccessAuthentication> <tp:Endpoint tp:uri="https://www.CompanyB.com/servlets/ebxmlhandler/async" tp:type="allPurpose"/> <tp:TransportServerSecurity> <tp:TransportSecurityProtocol tp:version="3.0">SSL</tp:TransportSecurityProtocol> <tp:ServerCertificateRef tp:certId="CompanyB_ServerCert"/> <tp:ClientSecurityDetailsRef tp:securityId="CompanyB_TransportSecurity"/> </tp:TransportServerSecurity> </tp:TransportReceiver> </tp:Transport> <tp:Transport tp:transportId="transportB2"> <tp:TransportSender> <tp:TransportProtocol tp:version="1.1">HTTP</tp:TransportProtocol> <tp:AccessAuthentication>basic</tp:AccessAuthentication> <tp:TransportClientSecurity> <tp:TransportSecurityProtocol tp:version="3.0">SSL</tp:TransportSecurityProtocol> <tp:ClientCertificateRef tp:certId="CompanyB_ClientCert"/> <tp:ServerSecurityDetailsRef tp:securityId="CompanyB_TransportSecurity"/> </tp:TransportClientSecurity> </tp:TransportSender> <tp:TransportReceiver> <tp:TransportProtocol tp:version="1.1">HTTP</tp:TransportProtocol> <tp:AccessAuthentication>basic</tp:AccessAuthentication> <tp:Endpoint tp:uri="https://www.CompanyB.com/servlets/ebxmlhandler/sync" tp:type="allPurpose"/> <tp:TransportServerSecurity> <tp:TransportSecurityProtocol tp:version="3.0">SSL</tp:TransportSecurityProtocol> <tp:ServerCertificateRef tp:certId="CompanyB_ServerCert"/> <tp:ClientSecurityDetailsRef tp:securityId="CompanyB_TransportSecurity"/> </tp:TransportServerSecurity> </tp:TransportReceiver> </tp:Transport> <tp:DocExchange tp:docExchangeId="docExchangeB1"> <tp:ebXMLSenderBinding tp:version="2.0"> <tp:ReliableMessaging> <tp:Retries>3</tp:Retries> <tp:RetryInterval>PT2H</tp:RetryInterval> <tp:MessageOrderSemantics>Guaranteed</tp:MessageOrderSemantics> </tp:ReliableMessaging> <tp:PersistDuration>P1D</tp:PersistDuration> <tp:SenderNonRepudiation> <tp:NonRepudiationProtocol>http://www.w3.org/2000/09/xmldsig#</tp:NonRepudiationProtocol> <tp:HashFunction>http://www.w3.org/2000/09/xmldsig#sha1</tp:HashFunction> <tp:SignatureAlgorithm>http://www.w3.org/2000/09/xmldsig#dsa-sha1</tp:SignatureAlgorithm> <tp:SigningCertificateRef tp:certId="CompanyB_SigningCert"/> </tp:SenderNonRepudiation> <tp:SenderDigitalEnvelope> <tp:DigitalEnvelopeProtocol tp:version="2.0">S/MIME</tp:DigitalEnvelopeProtocol> <tp:EncryptionAlgorithm>DES-CBC</tp:EncryptionAlgorithm> <tp:EncryptionSecurityDetailsRef tp:securityId="CompanyB_MessageSecurity"/> </tp:SenderDigitalEnvelope> </tp:ebXMLSenderBinding> <tp:ebXMLReceiverBinding tp:version="2.0"> <tp:ReliableMessaging> <tp:Retries>3</tp:Retries> <tp:RetryInterval>PT2H</tp:RetryInterval> <tp:MessageOrderSemantics>Guaranteed</tp:MessageOrderSemantics> </tp:ReliableMessaging> <tp:PersistDuration>P1D</tp:PersistDuration> <tp:ReceiverNonRepudiation> <tp:NonRepudiationProtocol>http://www.w3.org/2000/09/xmldsig#</tp:NonRepudiationProtocol> <tp:HashFunction>http://www.w3.org/2000/09/xmldsig#sha1</tp:HashFunction> <tp:SignatureAlgorithm>http://www.w3.org/2000/09/xmldsig#dsa-sha1</tp:SignatureAlgorithm> <tp:SigningSecurityDetailsRef tp:securityId="CompanyB_MessageSecurity"/> </tp:ReceiverNonRepudiation> <tp:ReceiverDigitalEnvelope> <tp:DigitalEnvelopeProtocol tp:version="2.0">S/MIME</tp:DigitalEnvelopeProtocol> <tp:EncryptionAlgorithm>DES-CBC</tp:EncryptionAlgorithm> <tp:EncryptionCertificateRef tp:certId="CompanyB_EncryptionCert"/> </tp:ReceiverDigitalEnvelope> </tp:ebXMLReceiverBinding> </tp:DocExchange> <tp:BusinessTransactionCharacteristics id="BTC_companyB_ABID1" tp:isNonRepudiationRequired="true" tp:isNonRepudiationReceiptRequired="true" tp:isConfidential="transient" tp:isAuthenticated="persistent" tp:isTamperProof="persistent" tp:isAuthorizationRequired="true" tp:timeToAcknowledgeReceipt="PT2H"/> <tp:BusinessTransactionCharacteristics id="BTC_companyB_ABID2" tp:isNonRepudiationRequired="true" tp:isNonRepudiationReceiptRequired="true" tp:isConfidential="transient" tp:isAuthenticated="persistent" tp:isTamperProof="persistent" tp:isAuthorizationRequired="true"/> <tp:BusinessTransactionCharacteristics id="BTC_companyB_ABID3" tp:isNonRepudiationRequired="true" tp:isNonRepudiationReceiptRequired="true" tp:isConfidential="transient" tp:isAuthenticated="persistent" tp:isTamperProof="persistent" tp:isAuthorizationRequired="true"/> <tp:BusinessTransactionCharacteristics id="BTC_companyB_ABID4" tp:isNonRepudiationRequired="true" tp:isNonRepudiationReceiptRequired="true" tp:isConfidential="transient" tp:isAuthenticated="persistent" tp:isTamperProof="persistent" tp:isAuthorizationRequired="true" tp:timeToAcknowledgeReceipt="PT2H" tp:timeToPerform="P1D"/> <tp:BusinessTransactionCharacteristics id="BTC_companyB_ABID5" tp:isNonRepudiationRequired="true" tp:isNonRepudiationReceiptRequired="true" tp:isConfidential="transient" tp:isAuthenticated="persistent" tp:isTamperProof="persistent" tp:isAuthorizationRequired="true"/> <tp:BusinessTransactionCharacteristics id="BTC_companyB_ABID6" tp:isNonRepudiationRequired="true" tp:isNonRepudiationReceiptRequired="true" tp:isConfidential="transient" tp:isAuthenticated="persistent" tp:isTamperProof="persistent" tp:isAuthorizationRequired="true" tp:timeToAcknowledgeReceipt="PT5M" tp:timeToPerform="PT5M"/> <tp:BusinessTransactionCharacteristics id="BTC_companyB_ABID7" tp:isNonRepudiationRequired="true" tp:isNonRepudiationReceiptRequired="true" tp:isConfidential="transient" tp:isAuthenticated="persistent" tp:isTamperProof="persistent" tp:isAuthorizationRequired="true" tp:timeToAcknowledgeReceipt="PT5M"/> <tp:BusinessTransactionCharacteristics id="BTC_companyB_ABID8" tp:isNonRepudiationRequired="true" tp:isNonRepudiationReceiptRequired="true" tp:isConfidential="transient" tp:isAuthenticated="persistent" tp:isTamperProof="persistent" tp:isAuthorizationRequired="true"/> </tp:PartyInfo> <!-- SimplePart corresponding to the SOAP Envelope --> <tp:SimplePart tp:id="CompanyA_MsgHdr" tp:mimetype="text/xml"> <tp:NamespaceSupported tp:location="http://www.oasis-open.org/committees/ebxml-msg/schema/msg-header-2_0.xsd" tp:version="2.0"> http://www.oasis-open.org/committees/ebxml-msg/schema/msg-header-2_0.xsd </tp:NamespaceSupported> </tp:SimplePart> <tp:SimplePart tp:id="CompanyB_MsgHdr" tp:mimetype="text/xml"> <tp:NamespaceSupported tp:location="http://www.oasis-open.org/committees/ebxml-msg/schema/msg-header-2_0.xsd" tp:version="2.0"> http://www.oasis-open.org/committees/ebxml-msg/schema/msg-header-2_0.xsd </tp:NamespaceSupported> </tp:SimplePart> <!-- SimplePart corresponding to a Receipt Acknowledgment business signal --> <tp:SimplePart tp:id="CompanyA_ReceiptAcknowledgment" tp:mimetype="application/xml"> <tp:NamespaceSupported tp:location="http://www.ebxml.org/bpss/ReceiptAcknowledgment.xsd" tp:version="2.0">http://www.ebxml.org/bpss/ReceiptAcknowledgment.xsd </tp:NamespaceSupported> </tp:SimplePart> <tp:SimplePart tp:id="CompanyB_ReceiptAcknowledgment" tp:mimetype="application/xml"> <tp:NamespaceSupported tp:location="http://www.ebxml.org/bpss/ReceiptAcknowledgment.xsd" tp:version="2.0"> http://www.ebxml.org/bpss/ReceiptAcknowledgment.xsd </tp:NamespaceSupported> </tp:SimplePart> <!-- SimplePart corresponding to an Exception business signal --> <tp:SimplePart tp:id="CompanyA_Exception" tp:mimetype="application/xml"> <tp:NamespaceSupported tp:location="http://www.oasis-open.org/committees/ebxml-msg/schema/msg-header-2_0.xsd" tp:version="2.0"> http://www.ebxml.org/bpss/Exception.xsd </tp:NamespaceSupported> </tp:SimplePart> <tp:SimplePart tp:id="CompanyB_Exception" tp:mimetype="application/xml"> <tp:NamespaceSupported tp:location="http://www.oasis-open.org/committees/ebxml-msg/schema/msg-header-2_0.xsd" tp:version="2.0"> http://www.ebxml.org/bpss/Exception.xsd </tp:NamespaceSupported> </tp:SimplePart> <!-- SimplePart corresponding to a request action --> <tp:SimplePart tp:id="CompanyA_Request" tp:mimetype="application/xml"> <tp:NamespaceSupported tp:location="http://www.rosettanet.org/schemas/PIP3A4RequestPurchaseOrder.xsd" tp:version="1.0"> http://www.rosettanet.org/schemas/PIP3A4RequestPurchaseOrder.xsd </tp:NamespaceSupported> </tp:SimplePart> <tp:SimplePart tp:id="CompanyB_Request" tp:mimetype="application/xml"> <tp:NamespaceSupported tp:location="http://www.rosettanet.org/schemas/PIP3A4RequestPurchaseOrder.xsd" tp:version="1.0"> http://www.rosettanet.org/schemas/PIP3A4RequestPurchaseOrder.xsd </tp:NamespaceSupported> </tp:SimplePart> <!-- SimplePart corresponding to a response action --> <tp:SimplePart tp:id="CompanyA_Response" tp:mimetype="application/xml"> <tp:NamespaceSupported tp:location="http://www.rosettanet.org/schemas/PurchaseOrderConfirmation.xsd" tp:version="1.0"> http://www.rosettanet.org/schemas/PIP3A4PurchaseOrderConfirmation.xsd </tp:NamespaceSupported> </tp:SimplePart> <tp:SimplePart tp:id="CompanyB_Response" tp:mimetype="application/xml"> <tp:NamespaceSupported tp:location="http://www.rosettanet.org/schemas/PurchaseOrderConfirmation.xsd" tp:version="1.0"> http://www.rosettanet.org/schemas/PIP3A4PurchaseOrderConfirmation.xsd </tp:NamespaceSupported> </tp:SimplePart> <!-- An ebXML message with a SOAP Envelope only --> <tp:Packaging tp:id="CompanyA_MshSignalPackage"> <tp:ProcessingCapabilities tp:parse="true" tp:generate="true"/> <tp:CompositeList> <tp:Composite tp:id="CompanyA_MshSignal" tp:mimetype="multipart/related" tp:mimeparameters="type=text/xml"> <tp:Constituent tp:idref="CompanyA_MsgHdr"/> </tp:Composite> </tp:CompositeList> </tp:Packaging> <tp:Packaging tp:id="CompanyB_MshSignalPackage"> <tp:ProcessingCapabilities tp:parse="true" tp:generate="true"/> <tp:CompositeList> <tp:Composite tp:id="CompanyB_MshSignal" tp:mimetype="multipart/related" tp:mimeparameters="type=text/xml"> <tp:Constituent tp:idref="CompanyB_MsgHdr"/> </tp:Composite> </tp:CompositeList> </tp:Packaging> <!-- An ebXML message with a SOAP Envelope plus a request action payload --> <tp:Packaging tp:id="CompanyA_RequestPackage"> <tp:ProcessingCapabilities tp:parse="true" tp:generate="true"/> <tp:CompositeList> <tp:Composite tp:id="CompanyA_RequestMsg" tp:mimetype="multipart/related" tp:mimeparameters="type=text/xml"> <tp:Constituent tp:idref="CompanyA_MsgHdr"/> <tp:Constituent tp:idref="CompanyA_Request"/> </tp:Composite> </tp:CompositeList> </tp:Packaging> <tp:Packaging tp:id="CompanyB_RequestPackage"> <tp:ProcessingCapabilities tp:parse="true" tp:generate="true"/> <tp:CompositeList> <tp:Composite tp:id="CompanyB_RequestMsg" tp:mimetype="multipart/related" tp:mimeparameters="type=text/xml"> <tp:Constituent tp:idref="CompanyB_MsgHdr"/> <tp:Constituent tp:idref="CompanyB_Request"/> </tp:Composite> </tp:CompositeList> </tp:Packaging> <!-- An ebXML message with a SOAP Envelope plus a response action payload --> <tp:Packaging tp:id="CompanyA_ResponsePackage"> <tp:ProcessingCapabilities tp:parse="true" tp:generate="true"/> <tp:CompositeList> <tp:Composite tp:id="CompanyA_ResponseMsg" tp:mimetype="multipart/related" tp:mimeparameters="type=text/xml"> <tp:Constituent tp:idref="CompanyA_MsgHdr"/> <tp:Constituent tp:idref="CompanyA_Response"/> </tp:Composite> </tp:CompositeList> </tp:Packaging> <tp:Packaging tp:id="CompanyB_ResponsePackage"> <tp:ProcessingCapabilities tp:parse="true" tp:generate="true"/> <tp:CompositeList> <tp:Composite tp:id="CompanyB_ResponseMsg" tp:mimetype="multipart/related" tp:mimeparameters="type=text/xml"> <tp:Constituent tp:idref="CompanyB_MsgHdr"/> <tp:Constituent tp:idref="CompanyB_Response"/> </tp:Composite> </tp:CompositeList> </tp:Packaging> <!-- An ebXML message with a SOAP Envelope plus a Receipt Acknowledgment payload --> <tp:Packaging tp:id="CompanyA_ReceiptAcknowledgmentPackage"> <tp:ProcessingCapabilities tp:parse="true" tp:generate="true"/> <tp:CompositeList> <tp:Composite tp:id="CompanyA_ReceiptAcknowledgmentMsg" tp:mimetype="multipart/related" tp:mimeparameters="type=text/xml"> <tp:Constituent tp:idref="CompanyA_MsgHdr"/> <tp:Constituent tp:idref="CompanyA_ReceiptAcknowledgment"/> </tp:Composite> </tp:CompositeList> </tp:Packaging> <tp:Packaging tp:id="CompanyB_ReceiptAcknowledgmentPackage"> <tp:ProcessingCapabilities tp:parse="true" tp:generate="true"/> <tp:CompositeList> <tp:Composite tp:id="CompanyB_ReceiptAcknowledgmentMsg" tp:mimetype="multipart/related" tp:mimeparameters="type=text/xml"> <tp:Constituent tp:idref="CompanyB_MsgHdr"/> <tp:Constituent tp:idref="CompanyB_ReceiptAcknowledgment"/> </tp:Composite> </tp:CompositeList> </tp:Packaging> <!-- An ebXML message with a SOAP Envelope plus an Exception payload --> <tp:Packaging tp:id="CompanyA_ExceptionPackage"> <tp:ProcessingCapabilities tp:parse="true" tp:generate="true"/> <tp:CompositeList> <tp:Composite tp:id="CompanyA_ExceptionMsg" tp:mimetype="multipart/related" tp:mimeparameters="type=text/xml"> <tp:Constituent tp:idref="CompanyA_MsgHdr"/> <tp:Constituent tp:idref="CompanyA_Exception"/> </tp:Composite> </tp:CompositeList> </tp:Packaging> <tp:Packaging tp:id="CompanyB_ExceptionPackage"> <tp:ProcessingCapabilities tp:parse="true" tp:generate="true"/> <tp:CompositeList> <tp:Composite tp:id="CompanyB_ExceptionMsg" tp:mimetype="multipart/related" tp:mimeparameters="type=text/xml"> <tp:Constituent tp:idref="CompanyB_MsgHdr"/> <tp:Constituent tp:idref="CompanyB_Exception"/> </tp:Composite> </tp:CompositeList> </tp:Packaging> <!-- An ebXML message with a Receipt Acknowledgment signal, plus a business response, or an ebXML message with an Exception signal --> <tp:Packaging tp:id="CompanyA_SyncReplyPackage"> <tp:ProcessingCapabilities tp:parse="true" tp:generate="true"/> <tp:CompositeList> <tp:Composite tp:id="CompanyA_SignalAndResponseMsg" tp:mimetype="multipart/related" tp:mimeparameters="type=text/xml"> <tp:Constituent tp:idref="CompanyA_MsgHdr"/> <tp:Constituent tp:idref="CompanyA_ReceiptAcknowledgment"/> <tp:Constituent tp:idref="CompanyA_Response"/> </tp:Composite> </tp:CompositeList> </tp:Packaging> <tp:Packaging tp:id="CompanyB_SyncReplyPackage"> <tp:ProcessingCapabilities tp:parse="true" tp:generate="true"/> <tp:CompositeList> <tp:Composite tp:id="CompanyB_SignalAndResponseMsg" tp:mimetype="multipart/related" tp:mimeparameters="type=text/xml"> <tp:Constituent tp:idref="CompanyB_MsgHdr"/> <tp:Constituent tp:idref="CompanyB_ReceiptAcknowledgment"/> <tp:Constituent tp:idref="CompanyB_Response"/> </tp:Composite> </tp:CompositeList> </tp:Packaging> <tp:Comment xml:lang="en-US">buy/sell agreement between CompanyA.com and CompanyB.com</tp:Comment> </tp:CollaborationProtocolAgreement>
<?xml version="1.0" ?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:tp="http://www.oasis-open.org/committees/ebxml-cppa/schema/cpp-cpa-2_0.xsd" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.oasis-open.org/committees/ebxml-cppa/schema/cpp-cpa-2_0.xsd http://www.oasis-open.org/committees/ebxml-cppa/schema/cpp-cpa-2_0.xsd" xmlns:StUF="http://www.egem.nl/StUF/StUF0204" xmlns:ns="http://www.egem.nl/StUF/sector/bg/0204" exclude-result-prefixes="ns StUF" version="2.0" > <xsl:output method="xml" encoding="utf-8" indent="yes" /> <!-- Parameters --> <xsl:template match="tp:BusinessTransactionCharacteristics"> <!-- donothing --> </xsl:template> <xsl:template match="@*|node()"> <xsl:copy> <xsl:apply-templates select="@*" /> <xsl:apply-templates /> </xsl:copy> </xsl:template> <xsl:template match="tp:ThisPartyActionBinding"> <xsl:copy> <xsl:attribute name="tp:businessTransactionCharacteristics">BTC_<xsl:value-of select="@tp:id" /></xsl:attribute> <xsl:apply-templates select="@*" /> <xsl:apply-templates /> </xsl:copy> </xsl:template> <xsl:template match="tp:PartyInfo"> <xsl:copy> <xsl:apply-templates select="@*" /> <xsl:apply-templates /> <xsl:apply-templates mode="normalize"></xsl:apply-templates> </xsl:copy> </xsl:template> <xsl:template match="tp:BusinessTransactionCharacteristics" mode="normalize"> <!-- copy subtree, with added attribute--> <xsl:copy> <xsl:attribute name="id">BTC_<xsl:value-of select="parent::node()/@tp:id" /></xsl:attribute> <xsl:apply-templates select="@*"></xsl:apply-templates> <xsl:apply-templates /> </xsl:copy> </xsl:template> <xsl:template match="node()" mode="normalize"> <xsl:apply-templates mode="normalize"></xsl:apply-templates> </xsl:template> </xsl:stylesheet>
<?xml version="1.0"?> <!-- Copyright UN/CEFACT and OASIS, 2001. All Rights Reserved. --> <tp:CollaborationProtocolAgreement xmlns:tp="http://www.oasis-open.org/committees/ebxml-cppa/schema/cpp-cpa-2_0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:schemaLocation="http://www.oasis-open.org/committees/ebxml-cppa/schema/cpp-cpa-2_0.xsd http://www.oasis-open.org/committees/ebxml-cppa/schema/cpp-cpa-2_0.xsd" tp:cpaid="uri:companyA-and-companyB-cpa" tp:version="2_0b"> <tp:Status tp:value="proposed"/> <tp:Start>2001-05-20T07:21:00Z</tp:Start> <tp:End>2002-05-20T07:21:00Z</tp:End> <tp:ConversationConstraints tp:invocationLimit="100" tp:concurrentConversations="10"/> <!-- Party info for CompanyA --> <tp:PartyInfo tp:partyName="CompanyA" tp:defaultMshChannelId="asyncChannelA1" tp:defaultMshPackageId="CompanyA_MshSignalPackage"> <tp:PartyId tp:type="urn:oasis:names:tc:ebxml-cppa:partyid-type:duns">123456789</tp:PartyId> <tp:PartyRef xlink:href="http://CompanyA.com/about.html"/> <tp:CollaborationRole> <tp:ProcessSpecification tp:version="2.0" tp:name="PIP3A4RequestPurchaseOrder" xlink:type="simple" xlink:href="http://www.rosettanet.org/processes/3A4.xml" tp:uuid="urn:icann:rosettanet.org:bpid:3A4$2.0"/> <tp:Role tp:name="Buyer" xlink:type="simple" xlink:href="http://www.rosettanet.org/processes/3A4.xml#Buyer"/> <tp:ApplicationCertificateRef tp:certId="CompanyA_AppCert"/> <tp:ServiceBinding> <tp:Service>bpid:icann:rosettanet.org:3A4$2.0</tp:Service> <tp:CanSend> <tp:ThisPartyActionBinding tp:id="companyA_ABID1" tp:action="Purchase Order Request Action" tp:packageId="CompanyA_RequestPackage"> <tp:BusinessTransactionCharacteristics tp:isNonRepudiationRequired="true" tp:isNonRepudiationReceiptRequired="true" tp:isConfidential="transient" tp:isAuthenticated="persistent" tp:isTamperProof="persistent" tp:isAuthorizationRequired="true" tp:timeToAcknowledgeReceipt="PT2H" tp:timeToPerform="P1D"/> <tp:ActionContext tp:binaryCollaboration="Request Purchase Order" tp:businessTransactionActivity="Request Purchase Order" tp:requestOrResponseAction="Purchase Order Request Action"/> <tp:ChannelId>asyncChannelA1</tp:ChannelId> </tp:ThisPartyActionBinding> <tp:OtherPartyActionBinding>companyB_ABID4</tp:OtherPartyActionBinding> </tp:CanSend> <tp:CanSend> <tp:ThisPartyActionBinding tp:id="companyA_ABID2" tp:action="ReceiptAcknowledgement" tp:packageId="CompanyA_ReceiptAcknowledgmentPackage"> <tp:BusinessTransactionCharacteristics tp:isNonRepudiationRequired="true" tp:isNonRepudiationReceiptRequired="true" tp:isConfidential="transient" tp:isAuthenticated="persistent" tp:isTamperProof="persistent" tp:isAuthorizationRequired="true"/> <tp:ChannelId>asyncChannelA1</tp:ChannelId> </tp:ThisPartyActionBinding> <tp:OtherPartyActionBinding>companyB_ABID5</tp:OtherPartyActionBinding> </tp:CanSend> <!-- The next binding uses a synchronous delivery channel --> <tp:CanSend> <tp:ThisPartyActionBinding tp:id="companyA_ABID6" tp:action="Purchase Order Request Action" tp:packageId="CompanyA_RequestPackage"> <tp:BusinessTransactionCharacteristics tp:isNonRepudiationRequired="true" tp:isNonRepudiationReceiptRequired="true" tp:isConfidential="transient" tp:isAuthenticated="persistent" tp:isTamperProof="persistent" tp:isAuthorizationRequired="true" tp:timeToAcknowledgeReceipt="PT5M" tp:timeToPerform="PT5M"/> <tp:ActionContext tp:binaryCollaboration="Request Purchase Order" tp:businessTransactionActivity="Request Purchase Order" tp:requestOrResponseAction="Purchase Order Request Action"/> <tp:ChannelId>syncChannelA1</tp:ChannelId> </tp:ThisPartyActionBinding> <tp:OtherPartyActionBinding>companyB_ABID6</tp:OtherPartyActionBinding> <tp:CanReceive> <tp:ThisPartyActionBinding tp:id="companyA_ABID7" tp:action="Purchase Order Confirmation Action" tp:packageId="CompanyA_SyncReplyPackage"> <tp:BusinessTransactionCharacteristics tp:isNonRepudiationRequired="true" tp:isNonRepudiationReceiptRequired="true" tp:isConfidential="transient" tp:isAuthenticated="persistent" tp:isTamperProof="persistent" tp:isAuthorizationRequired="true" tp:timeToAcknowledgeReceipt="PT5M"/> <tp:ActionContext tp:binaryCollaboration="Request Purchase Order" tp:businessTransactionActivity="Request Purchase Order" tp:requestOrResponseAction="Purchase Order Confirmation Action"/> <tp:ChannelId>syncChannelA1</tp:ChannelId> </tp:ThisPartyActionBinding> <tp:OtherPartyActionBinding>companyB_ABID7</tp:OtherPartyActionBinding> </tp:CanReceive> <tp:CanReceive> <tp:ThisPartyActionBinding tp:id="companyA_ABID8" tp:action="Exception" tp:packageId="CompanyA_ExceptionPackage"> <tp:BusinessTransactionCharacteristics tp:isNonRepudiationRequired="true" tp:isNonRepudiationReceiptRequired="true" tp:isConfidential="transient" tp:isAuthenticated="persistent" tp:isTamperProof="persistent" tp:isAuthorizationRequired="true"/> <tp:ChannelId>syncChannelA1</tp:ChannelId> </tp:ThisPartyActionBinding> <tp:OtherPartyActionBinding>companyB_ABID8</tp:OtherPartyActionBinding> </tp:CanReceive> </tp:CanSend> <tp:CanReceive> <tp:ThisPartyActionBinding tp:id="companyA_ABID3" tp:action="Purchase Order Confirmation Action" tp:packageId="CompanyA_ResponsePackage"> <tp:BusinessTransactionCharacteristics tp:isNonRepudiationRequired="true" tp:isNonRepudiationReceiptRequired="true" tp:isConfidential="transient" tp:isAuthenticated="persistent" tp:isTamperProof="persistent" tp:isAuthorizationRequired="true" tp:timeToAcknowledgeReceipt="PT2H"/> <tp:ActionContext tp:binaryCollaboration="Request Purchase Order" tp:businessTransactionActivity="Request Purchase Order" tp:requestOrResponseAction="Purchase Order Confirmation Action"/> <tp:ChannelId>asyncChannelA1</tp:ChannelId> </tp:ThisPartyActionBinding> <tp:OtherPartyActionBinding>companyB_ABID1</tp:OtherPartyActionBinding> </tp:CanReceive> <tp:CanReceive> <tp:ThisPartyActionBinding tp:id="companyA_ABID4" tp:action="ReceiptAcknowledgment" tp:packageId="CompanyA_ReceiptAcknowledgmentPackage"> <tp:BusinessTransactionCharacteristics tp:isNonRepudiationRequired="true" tp:isNonRepudiationReceiptRequired="true" tp:isConfidential="transient" tp:isAuthenticated="persistent" tp:isTamperProof="persistent" tp:isAuthorizationRequired="true"/> <tp:ChannelId>asyncChannelA1</tp:ChannelId> </tp:ThisPartyActionBinding> <tp:OtherPartyActionBinding>companyB_ABID2</tp:OtherPartyActionBinding> </tp:CanReceive> <tp:CanReceive> <tp:ThisPartyActionBinding tp:id="companyA_ABID5" tp:action="Exception" tp:packageId="CompanyA_ExceptionPackage"> <tp:BusinessTransactionCharacteristics tp:isNonRepudiationRequired="true" tp:isNonRepudiationReceiptRequired="true" tp:isConfidential="transient" tp:isAuthenticated="persistent" tp:isTamperProof="persistent" tp:isAuthorizationRequired="true"/> <tp:ChannelId>asyncChannelA1</tp:ChannelId> </tp:ThisPartyActionBinding> <tp:OtherPartyActionBinding>companyB_ABID3</tp:OtherPartyActionBinding> </tp:CanReceive> </tp:ServiceBinding> </tp:CollaborationRole> <!-- Certificates used by the "Buyer" company --> <tp:Certificate tp:certId="CompanyA_AppCert"> <ds:KeyInfo> <ds:KeyName>CompanyA_AppCert_Key</ds:KeyName> </ds:KeyInfo> </tp:Certificate> <tp:Certificate tp:certId="CompanyA_SigningCert"> <ds:KeyInfo> <ds:KeyName>CompanyA_SigningCert_Key</ds:KeyName> </ds:KeyInfo> </tp:Certificate> <tp:Certificate tp:certId="CompanyA_EncryptionCert"> <ds:KeyInfo> <ds:KeyName>CompanyA_EncryptionCert_Key</ds:KeyName> </ds:KeyInfo> </tp:Certificate> <tp:Certificate tp:certId="CompanyA_ServerCert"> <ds:KeyInfo> <ds:KeyName>CompanyA_ServerCert_Key</ds:KeyName> </ds:KeyInfo> </tp:Certificate> <tp:Certificate tp:certId="CompanyA_ClientCert"> <ds:KeyInfo> <ds:KeyName>CompanyA_ClientCert_Key</ds:KeyName> </ds:KeyInfo> </tp:Certificate> <tp:Certificate tp:certId="TrustedRootCertA1"> <ds:KeyInfo> <ds:KeyName>TrustedRootCertA1_Key </ds:KeyName> </ds:KeyInfo> </tp:Certificate> <tp:Certificate tp:certId="TrustedRootCertA2"> <ds:KeyInfo> <ds:KeyName>TrustedRootCertA2_Key</ds:KeyName> </ds:KeyInfo> </tp:Certificate> <tp:Certificate tp:certId="TrustedRootCertA3"> <ds:KeyInfo> <ds:KeyName>TrustedRootCertA3_Key</ds:KeyName> </ds:KeyInfo> </tp:Certificate> <tp:Certificate tp:certId="TrustedRootCertA4"> <ds:KeyInfo> <ds:KeyName>TrustedRootCertA4_Key</ds:KeyName> </ds:KeyInfo> </tp:Certificate> <tp:Certificate tp:certId="TrustedRootCertA5"> <ds:KeyInfo> <ds:KeyName>TrustedRootCertA5_Key</ds:KeyName> </ds:KeyInfo> </tp:Certificate> <tp:SecurityDetails tp:securityId="CompanyA_TransportSecurity"> <tp:TrustAnchors> <tp:AnchorCertificateRef tp:certId="TrustedRootCertA1"/> <tp:AnchorCertificateRef tp:certId="TrustedRootCertA2"/> <tp:AnchorCertificateRef tp:certId="TrustedRootCertA4"/> </tp:TrustAnchors> </tp:SecurityDetails> <tp:SecurityDetails tp:securityId="CompanyA_MessageSecurity"> <tp:TrustAnchors> <tp:AnchorCertificateRef tp:certId="TrustedRootCertA3"/> <tp:AnchorCertificateRef tp:certId="TrustedRootCertA5"/> </tp:TrustAnchors> </tp:SecurityDetails> <tp:DeliveryChannel tp:channelId="asyncChannelA1" tp:transportId="transportA1" tp:docExchangeId="docExchangeA1"> <tp:MessagingCharacteristics tp:syncReplyMode="none" tp:ackRequested="always" tp:ackSignatureRequested="always" tp:duplicateElimination="always"/> </tp:DeliveryChannel> <tp:DeliveryChannel tp:channelId="syncChannelA1" tp:transportId="transportA2" tp:docExchangeId="docExchangeA1"> <tp:MessagingCharacteristics tp:syncReplyMode="signalsAndResponse" tp:ackRequested="always" tp:ackSignatureRequested="always" tp:duplicateElimination="always"/> </tp:DeliveryChannel> <tp:Transport tp:transportId="transportA1"> <tp:TransportSender> <tp:TransportProtocol tp:version="1.1">HTTP</tp:TransportProtocol> <tp:AccessAuthentication>basic</tp:AccessAuthentication> <tp:TransportClientSecurity> <tp:TransportSecurityProtocol tp:version="3.0">SSL</tp:TransportSecurityProtocol> <tp:ClientCertificateRef tp:certId="CompanyA_ClientCert"/> <tp:ServerSecurityDetailsRef tp:securityId="CompanyA_TransportSecurity"/> </tp:TransportClientSecurity> </tp:TransportSender> <tp:TransportReceiver> <tp:TransportProtocol tp:version="1.1">HTTP</tp:TransportProtocol> <tp:AccessAuthentication>basic</tp:AccessAuthentication> <tp:Endpoint tp:uri="https://www.CompanyA.com/servlets/ebxmlhandler/async" tp:type="allPurpose"/> <tp:TransportServerSecurity> <tp:TransportSecurityProtocol tp:version="3.0">SSL</tp:TransportSecurityProtocol> <tp:ServerCertificateRef tp:certId="CompanyA_ServerCert"/> <tp:ClientSecurityDetailsRef tp:securityId="CompanyA_TransportSecurity"/> </tp:TransportServerSecurity> </tp:TransportReceiver> </tp:Transport> <tp:Transport tp:transportId="transportA2"> <tp:TransportSender> <tp:TransportProtocol tp:version="1.1">HTTP</tp:TransportProtocol> <tp:AccessAuthentication>basic</tp:AccessAuthentication> <tp:TransportClientSecurity> <tp:TransportSecurityProtocol tp:version="3.0">SSL</tp:TransportSecurityProtocol> <tp:ClientCertificateRef tp:certId="CompanyA_ClientCert"/> <tp:ServerSecurityDetailsRef tp:securityId="CompanyA_TransportSecurity"/> </tp:TransportClientSecurity> </tp:TransportSender> <tp:TransportReceiver> <tp:TransportProtocol tp:version="1.1">HTTP</tp:TransportProtocol> <tp:AccessAuthentication>basic</tp:AccessAuthentication> <tp:Endpoint tp:uri="https://www.CompanyA.com/servlets/ebxmlhandler/sync" tp:type="allPurpose"/> <tp:TransportServerSecurity> <tp:TransportSecurityProtocol tp:version="3.0">SSL</tp:TransportSecurityProtocol> <tp:ServerCertificateRef tp:certId="CompanyA_ServerCert"/> <tp:ClientSecurityDetailsRef tp:securityId="CompanyA_TransportSecurity"/> </tp:TransportServerSecurity> </tp:TransportReceiver> </tp:Transport> <tp:DocExchange tp:docExchangeId="docExchangeA1"> <tp:ebXMLSenderBinding tp:version="2.0"> <tp:ReliableMessaging> <tp:Retries>3</tp:Retries> <tp:RetryInterval>PT2H</tp:RetryInterval> <tp:MessageOrderSemantics>Guaranteed</tp:MessageOrderSemantics> </tp:ReliableMessaging> <tp:PersistDuration>P1D</tp:PersistDuration> <tp:SenderNonRepudiation> <tp:NonRepudiationProtocol>http://www.w3.org/2000/09/xmldsig#</tp:NonRepudiationProtocol> <tp:HashFunction>http://www.w3.org/2000/09/xmldsig#sha1</tp:HashFunction> <tp:SignatureAlgorithm>http://www.w3.org/2000/09/xmldsig#dsa-sha1</tp:SignatureAlgorithm> <tp:SigningCertificateRef tp:certId="CompanyA_SigningCert"/> </tp:SenderNonRepudiation> <tp:SenderDigitalEnvelope> <tp:DigitalEnvelopeProtocol tp:version="2.0">S/MIME</tp:DigitalEnvelopeProtocol> <tp:EncryptionAlgorithm>DES-CBC</tp:EncryptionAlgorithm> <tp:EncryptionSecurityDetailsRef tp:securityId="CompanyA_MessageSecurity"/> </tp:SenderDigitalEnvelope> </tp:ebXMLSenderBinding> <tp:ebXMLReceiverBinding tp:version="2.0"> <tp:ReliableMessaging> <tp:Retries>3</tp:Retries> <tp:RetryInterval>PT2H</tp:RetryInterval> <tp:MessageOrderSemantics>Guaranteed</tp:MessageOrderSemantics> </tp:ReliableMessaging> <tp:PersistDuration>P1D</tp:PersistDuration> <tp:ReceiverNonRepudiation> <tp:NonRepudiationProtocol>http://www.w3.org/2000/09/xmldsig#</tp:NonRepudiationProtocol> <tp:HashFunction>http://www.w3.org/2000/09/xmldsig#sha1</tp:HashFunction> <tp:SignatureAlgorithm>http://www.w3.org/2000/09/xmldsig#dsa-sha1</tp:SignatureAlgorithm> <tp:SigningSecurityDetailsRef tp:securityId="CompanyA_MessageSecurity"/> </tp:ReceiverNonRepudiation> <tp:ReceiverDigitalEnvelope> <tp:DigitalEnvelopeProtocol tp:version="2.0">S/MIME</tp:DigitalEnvelopeProtocol> <tp:EncryptionAlgorithm>DES-CBC</tp:EncryptionAlgorithm> <tp:EncryptionCertificateRef tp:certId="CompanyA_EncryptionCert"/> </tp:ReceiverDigitalEnvelope> </tp:ebXMLReceiverBinding> </tp:DocExchange> </tp:PartyInfo> <!-- Party info for CompanyB --> <tp:PartyInfo tp:partyName="CompanyB" tp:defaultMshChannelId="asyncChannelB1" tp:defaultMshPackageId="CompanyB_MshSignalPackage"> <tp:PartyId tp:type="urn:oasis:names:tc:ebxml-cppa:partyid-type:duns">987654321</tp:PartyId> <tp:PartyRef xlink:type="simple" xlink:href="http://CompanyB.com/about.html"/> <tp:CollaborationRole> <tp:ProcessSpecification tp:version="2.0" tp:name="PIP3A4RequestPurchaseOrder" xlink:type="simple" xlink:href="http://www.rosettanet.org/processes/3A4.xml" tp:uuid="urn:icann:rosettanet.org:bpid:3A4$2.0"/> <tp:Role tp:name="Seller" xlink:type="simple" xlink:href="http://www.rosettanet.org/processes/3A4.xml#seller"/> <tp:ApplicationCertificateRef tp:certId="CompanyB_AppCert"/> <tp:ServiceBinding> <tp:Service>bpid:icann:rosettanet.org:3A4$2.0</tp:Service> <tp:CanSend> <tp:ThisPartyActionBinding tp:id="companyB_ABID1" tp:action="Purchase Order Confirmation Action" tp:packageId="CompanyB_ResponsePackage"> <tp:BusinessTransactionCharacteristics tp:isNonRepudiationRequired="true" tp:isNonRepudiationReceiptRequired="true" tp:isConfidential="transient" tp:isAuthenticated="persistent" tp:isTamperProof="persistent" tp:isAuthorizationRequired="true" tp:timeToAcknowledgeReceipt="PT2H"/> <tp:ActionContext tp:binaryCollaboration="Request Purchase Order" tp:businessTransactionActivity="Request Purchase Order" tp:requestOrResponseAction="Purchase Order Confirmation Action"/> <tp:ChannelId>asyncChannelB1</tp:ChannelId> </tp:ThisPartyActionBinding> <tp:OtherPartyActionBinding>companyA_ABID3</tp:OtherPartyActionBinding> </tp:CanSend> <tp:CanSend> <tp:ThisPartyActionBinding tp:id="companyB_ABID2" tp:action="ReceiptAcknowledgement" tp:packageId="CompanyB_ReceiptAcknowledgmentPackage"> <tp:BusinessTransactionCharacteristics tp:isNonRepudiationRequired="true" tp:isNonRepudiationReceiptRequired="true" tp:isConfidential="transient" tp:isAuthenticated="persistent" tp:isTamperProof="persistent" tp:isAuthorizationRequired="true"/> <tp:ChannelId>asyncChannelB1</tp:ChannelId> </tp:ThisPartyActionBinding> <tp:OtherPartyActionBinding>companyA_ABID4</tp:OtherPartyActionBinding> </tp:CanSend> <tp:CanSend> <tp:ThisPartyActionBinding tp:id="companyB_ABID3" tp:action="Exception" tp:packageId="CompanyB_ExceptionPackage"> <tp:BusinessTransactionCharacteristics tp:isNonRepudiationRequired="true" tp:isNonRepudiationReceiptRequired="true" tp:isConfidential="transient" tp:isAuthenticated="persistent" tp:isTamperProof="persistent" tp:isAuthorizationRequired="true"/> <tp:ChannelId>asyncChannelB1</tp:ChannelId> </tp:ThisPartyActionBinding> <tp:OtherPartyActionBinding>companyA_ABID5</tp:OtherPartyActionBinding> </tp:CanSend> <tp:CanReceive> <tp:ThisPartyActionBinding tp:id="companyB_ABID4" tp:action="Purchase Order Request Action" tp:packageId="CompanyB_RequestPackage"> <tp:BusinessTransactionCharacteristics tp:isNonRepudiationRequired="true" tp:isNonRepudiationReceiptRequired="true" tp:isConfidential="transient" tp:isAuthenticated="persistent" tp:isTamperProof="persistent" tp:isAuthorizationRequired="true" tp:timeToAcknowledgeReceipt="PT2H" tp:timeToPerform="P1D"/> <tp:ActionContext tp:binaryCollaboration="Request Purchase Order" tp:businessTransactionActivity="Request Purchase Order" tp:requestOrResponseAction="Purchase Order Request Action"/> <tp:ChannelId>asyncChannelB1</tp:ChannelId> </tp:ThisPartyActionBinding> <tp:OtherPartyActionBinding>companyA_ABID1</tp:OtherPartyActionBinding> </tp:CanReceive> <tp:CanReceive> <tp:ThisPartyActionBinding tp:id="companyB_ABID5" tp:action="ReceiptAcknowledgment" tp:packageId="CompanyB_ReceiptAcknowledgmentPackage"> <tp:BusinessTransactionCharacteristics tp:isNonRepudiationRequired="true" tp:isNonRepudiationReceiptRequired="true" tp:isConfidential="transient" tp:isAuthenticated="persistent" tp:isTamperProof="persistent" tp:isAuthorizationRequired="true"/> <tp:ChannelId>asyncChannelB1</tp:ChannelId> </tp:ThisPartyActionBinding> <tp:OtherPartyActionBinding>companyA_ABID2</tp:OtherPartyActionBinding> </tp:CanReceive> <!-- The next binding uses a synchronous delivery channel --> <tp:CanReceive> <tp:ThisPartyActionBinding tp:id="companyB_ABID6" tp:action="Purchase Order Request Action" tp:packageId="CompanyB_RequestPackage"> <tp:BusinessTransactionCharacteristics tp:isNonRepudiationRequired="true" tp:isNonRepudiationReceiptRequired="true" tp:isConfidential="transient" tp:isAuthenticated="persistent" tp:isTamperProof="persistent" tp:isAuthorizationRequired="true" tp:timeToAcknowledgeReceipt="PT5M" tp:timeToPerform="PT5M"/> <tp:ActionContext tp:binaryCollaboration="Request Purchase Order" tp:businessTransactionActivity="Request Purchase Order" tp:requestOrResponseAction="Purchase Order Request Action"/> <tp:ChannelId>syncChannelB1</tp:ChannelId> </tp:ThisPartyActionBinding> <tp:OtherPartyActionBinding>companyA_ABID6</tp:OtherPartyActionBinding> <tp:CanSend> <tp:ThisPartyActionBinding tp:id="companyB_ABID7" tp:action="Purchase Order Confirmation Action" tp:packageId="CompanyB_SyncReplyPackage"> <tp:BusinessTransactionCharacteristics tp:isNonRepudiationRequired="true" tp:isNonRepudiationReceiptRequired="true" tp:isConfidential="transient" tp:isAuthenticated="persistent" tp:isTamperProof="persistent" tp:isAuthorizationRequired="true" tp:timeToAcknowledgeReceipt="PT5M"/> <tp:ActionContext tp:binaryCollaboration="Request Purchase Order" tp:businessTransactionActivity="Request Purchase Order" tp:requestOrResponseAction="Purchase Order Confirmation Action"/> <tp:ChannelId>syncChannelB1</tp:ChannelId> </tp:ThisPartyActionBinding> <tp:OtherPartyActionBinding>companyA_ABID7</tp:OtherPartyActionBinding> </tp:CanSend> <tp:CanSend> <tp:ThisPartyActionBinding tp:id="companyB_ABID8" tp:action="Exception" tp:packageId="CompanyB_ExceptionPackage"> <tp:BusinessTransactionCharacteristics tp:isNonRepudiationRequired="true" tp:isNonRepudiationReceiptRequired="true" tp:isConfidential="transient" tp:isAuthenticated="persistent" tp:isTamperProof="persistent" tp:isAuthorizationRequired="true"/> <tp:ChannelId>syncChannelB1</tp:ChannelId> </tp:ThisPartyActionBinding> <tp:OtherPartyActionBinding>companyA_ABID8</tp:OtherPartyActionBinding> </tp:CanSend> </tp:CanReceive> </tp:ServiceBinding> </tp:CollaborationRole> <!-- Certificates used by the "Seller" company --> <tp:Certificate tp:certId="CompanyB_AppCert"> <ds:KeyInfo> <ds:KeyName>CompanyB_AppCert_Key</ds:KeyName> </ds:KeyInfo> </tp:Certificate> <tp:Certificate tp:certId="CompanyB_SigningCert"> <ds:KeyInfo> <ds:KeyName>CompanyB_Signingcert_Key</ds:KeyName> </ds:KeyInfo> </tp:Certificate> <tp:Certificate tp:certId="CompanyB_EncryptionCert"> <ds:KeyInfo> <ds:KeyName>CompanyB_EncryptionCert_Key</ds:KeyName> </ds:KeyInfo> </tp:Certificate> <tp:Certificate tp:certId="CompanyB_ServerCert"> <ds:KeyInfo> <ds:KeyName>CompanyB_ServerCert_Key</ds:KeyName> </ds:KeyInfo> </tp:Certificate> <tp:Certificate tp:certId="CompanyB_ClientCert"> <ds:KeyInfo> <ds:KeyName>CompanyB_ClientCert_Key</ds:KeyName> </ds:KeyInfo> </tp:Certificate> <tp:Certificate tp:certId="TrustedRootCertB4"> <ds:KeyInfo> <ds:KeyName>TrustedRootCertB4_Key</ds:KeyName> </ds:KeyInfo> </tp:Certificate> <tp:Certificate tp:certId="TrustedRootCertB5"> <ds:KeyInfo> <ds:KeyName>TrustedRootCertB5_Key</ds:KeyName> </ds:KeyInfo> </tp:Certificate> <tp:Certificate tp:certId="TrustedRootCertB6"> <ds:KeyInfo> <ds:KeyName>TrustedRootCertB6_Key</ds:KeyName> </ds:KeyInfo> </tp:Certificate> <tp:Certificate tp:certId="TrustedRootCertB7"> <ds:KeyInfo> <ds:KeyName>TrustedRootCertB7_Key</ds:KeyName> </ds:KeyInfo> </tp:Certificate> <tp:Certificate tp:certId="TrustedRootCertB8"> <ds:KeyInfo> <ds:KeyName>TrustedRootCertB8_Key</ds:KeyName> </ds:KeyInfo> </tp:Certificate> <tp:SecurityDetails tp:securityId="CompanyB_TransportSecurity"> <tp:TrustAnchors> <tp:AnchorCertificateRef tp:certId="TrustedRootCertB5"/> <tp:AnchorCertificateRef tp:certId="TrustedRootCertB6"/> <tp:AnchorCertificateRef tp:certId="TrustedRootCertB4"/> </tp:TrustAnchors> </tp:SecurityDetails> <tp:SecurityDetails tp:securityId="CompanyB_MessageSecurity"> <tp:TrustAnchors> <tp:AnchorCertificateRef tp:certId="TrustedRootCertB8"/> <tp:AnchorCertificateRef tp:certId="TrustedRootCertB7"/> </tp:TrustAnchors> </tp:SecurityDetails> <!-- An asynchronous delivery channel --> <tp:DeliveryChannel tp:channelId="asyncChannelB1" tp:transportId="transportB1" tp:docExchangeId="docExchangeB1"> <tp:MessagingCharacteristics tp:syncReplyMode="none" tp:ackRequested="always" tp:ackSignatureRequested="always" tp:duplicateElimination="always"/> </tp:DeliveryChannel> <!-- A synchronous delivery channel --> <tp:DeliveryChannel tp:channelId="syncChannelB1" tp:transportId="transportB2" tp:docExchangeId="docExchangeB1"> <tp:MessagingCharacteristics tp:syncReplyMode="signalsAndResponse" tp:ackRequested="always" tp:ackSignatureRequested="always" tp:duplicateElimination="always"/> </tp:DeliveryChannel> <tp:Transport tp:transportId="transportB1"> <tp:TransportSender> <tp:TransportProtocol tp:version="1.1">HTTP</tp:TransportProtocol> <tp:AccessAuthentication>basic</tp:AccessAuthentication> <tp:TransportClientSecurity> <tp:TransportSecurityProtocol tp:version="3.0">SSL</tp:TransportSecurityProtocol> <tp:ClientCertificateRef tp:certId="CompanyB_ClientCert"/> <tp:ServerSecurityDetailsRef tp:securityId="CompanyB_TransportSecurity"/> </tp:TransportClientSecurity> </tp:TransportSender> <tp:TransportReceiver> <tp:TransportProtocol tp:version="1.1">HTTP</tp:TransportProtocol> <tp:AccessAuthentication>basic</tp:AccessAuthentication> <tp:Endpoint tp:uri="https://www.CompanyB.com/servlets/ebxmlhandler/async" tp:type="allPurpose"/> <tp:TransportServerSecurity> <tp:TransportSecurityProtocol tp:version="3.0">SSL</tp:TransportSecurityProtocol> <tp:ServerCertificateRef tp:certId="CompanyB_ServerCert"/> <tp:ClientSecurityDetailsRef tp:securityId="CompanyB_TransportSecurity"/> </tp:TransportServerSecurity> </tp:TransportReceiver> </tp:Transport> <tp:Transport tp:transportId="transportB2"> <tp:TransportSender> <tp:TransportProtocol tp:version="1.1">HTTP</tp:TransportProtocol> <tp:AccessAuthentication>basic</tp:AccessAuthentication> <tp:TransportClientSecurity> <tp:TransportSecurityProtocol tp:version="3.0">SSL</tp:TransportSecurityProtocol> <tp:ClientCertificateRef tp:certId="CompanyB_ClientCert"/> <tp:ServerSecurityDetailsRef tp:securityId="CompanyB_TransportSecurity"/> </tp:TransportClientSecurity> </tp:TransportSender> <tp:TransportReceiver> <tp:TransportProtocol tp:version="1.1">HTTP</tp:TransportProtocol> <tp:AccessAuthentication>basic</tp:AccessAuthentication> <tp:Endpoint tp:uri="https://www.CompanyB.com/servlets/ebxmlhandler/sync" tp:type="allPurpose"/> <tp:TransportServerSecurity> <tp:TransportSecurityProtocol tp:version="3.0">SSL</tp:TransportSecurityProtocol> <tp:ServerCertificateRef tp:certId="CompanyB_ServerCert"/> <tp:ClientSecurityDetailsRef tp:securityId="CompanyB_TransportSecurity"/> </tp:TransportServerSecurity> </tp:TransportReceiver> </tp:Transport> <tp:DocExchange tp:docExchangeId="docExchangeB1"> <tp:ebXMLSenderBinding tp:version="2.0"> <tp:ReliableMessaging> <tp:Retries>3</tp:Retries> <tp:RetryInterval>PT2H</tp:RetryInterval> <tp:MessageOrderSemantics>Guaranteed</tp:MessageOrderSemantics> </tp:ReliableMessaging> <tp:PersistDuration>P1D</tp:PersistDuration> <tp:SenderNonRepudiation> <tp:NonRepudiationProtocol>http://www.w3.org/2000/09/xmldsig#</tp:NonRepudiationProtocol> <tp:HashFunction>http://www.w3.org/2000/09/xmldsig#sha1</tp:HashFunction> <tp:SignatureAlgorithm>http://www.w3.org/2000/09/xmldsig#dsa-sha1</tp:SignatureAlgorithm> <tp:SigningCertificateRef tp:certId="CompanyB_SigningCert"/> </tp:SenderNonRepudiation> <tp:SenderDigitalEnvelope> <tp:DigitalEnvelopeProtocol tp:version="2.0">S/MIME</tp:DigitalEnvelopeProtocol> <tp:EncryptionAlgorithm>DES-CBC</tp:EncryptionAlgorithm> <tp:EncryptionSecurityDetailsRef tp:securityId="CompanyB_MessageSecurity"/> </tp:SenderDigitalEnvelope> </tp:ebXMLSenderBinding> <tp:ebXMLReceiverBinding tp:version="2.0"> <tp:ReliableMessaging> <tp:Retries>3</tp:Retries> <tp:RetryInterval>PT2H</tp:RetryInterval> <tp:MessageOrderSemantics>Guaranteed</tp:MessageOrderSemantics> </tp:ReliableMessaging> <tp:PersistDuration>P1D</tp:PersistDuration> <tp:ReceiverNonRepudiation> <tp:NonRepudiationProtocol>http://www.w3.org/2000/09/xmldsig#</tp:NonRepudiationProtocol> <tp:HashFunction>http://www.w3.org/2000/09/xmldsig#sha1</tp:HashFunction> <tp:SignatureAlgorithm>http://www.w3.org/2000/09/xmldsig#dsa-sha1</tp:SignatureAlgorithm> <tp:SigningSecurityDetailsRef tp:securityId="CompanyB_MessageSecurity"/> </tp:ReceiverNonRepudiation> <tp:ReceiverDigitalEnvelope> <tp:DigitalEnvelopeProtocol tp:version="2.0">S/MIME</tp:DigitalEnvelopeProtocol> <tp:EncryptionAlgorithm>DES-CBC</tp:EncryptionAlgorithm> <tp:EncryptionCertificateRef tp:certId="CompanyB_EncryptionCert"/> </tp:ReceiverDigitalEnvelope> </tp:ebXMLReceiverBinding> </tp:DocExchange> </tp:PartyInfo> <!-- SimplePart corresponding to the SOAP Envelope --> <tp:SimplePart tp:id="CompanyA_MsgHdr" tp:mimetype="text/xml"> <tp:NamespaceSupported tp:location="http://www.oasis-open.org/committees/ebxml-msg/schema/msg-header-2_0.xsd" tp:version="2.0"> http://www.oasis-open.org/committees/ebxml-msg/schema/msg-header-2_0.xsd </tp:NamespaceSupported> </tp:SimplePart> <tp:SimplePart tp:id="CompanyB_MsgHdr" tp:mimetype="text/xml"> <tp:NamespaceSupported tp:location="http://www.oasis-open.org/committees/ebxml-msg/schema/msg-header-2_0.xsd" tp:version="2.0"> http://www.oasis-open.org/committees/ebxml-msg/schema/msg-header-2_0.xsd </tp:NamespaceSupported> </tp:SimplePart> <!-- SimplePart corresponding to a Receipt Acknowledgment business signal --> <tp:SimplePart tp:id="CompanyA_ReceiptAcknowledgment" tp:mimetype="application/xml"> <tp:NamespaceSupported tp:location="http://www.ebxml.org/bpss/ReceiptAcknowledgment.xsd" tp:version="2.0">http://www.ebxml.org/bpss/ReceiptAcknowledgment.xsd </tp:NamespaceSupported> </tp:SimplePart> <tp:SimplePart tp:id="CompanyB_ReceiptAcknowledgment" tp:mimetype="application/xml"> <tp:NamespaceSupported tp:location="http://www.ebxml.org/bpss/ReceiptAcknowledgment.xsd" tp:version="2.0"> http://www.ebxml.org/bpss/ReceiptAcknowledgment.xsd </tp:NamespaceSupported> </tp:SimplePart> <!-- SimplePart corresponding to an Exception business signal --> <tp:SimplePart tp:id="CompanyA_Exception" tp:mimetype="application/xml"> <tp:NamespaceSupported tp:location="http://www.oasis-open.org/committees/ebxml-msg/schema/msg-header-2_0.xsd" tp:version="2.0"> http://www.ebxml.org/bpss/Exception.xsd </tp:NamespaceSupported> </tp:SimplePart> <tp:SimplePart tp:id="CompanyB_Exception" tp:mimetype="application/xml"> <tp:NamespaceSupported tp:location="http://www.oasis-open.org/committees/ebxml-msg/schema/msg-header-2_0.xsd" tp:version="2.0"> http://www.ebxml.org/bpss/Exception.xsd </tp:NamespaceSupported> </tp:SimplePart> <!-- SimplePart corresponding to a request action --> <tp:SimplePart tp:id="CompanyA_Request" tp:mimetype="application/xml"> <tp:NamespaceSupported tp:location="http://www.rosettanet.org/schemas/PIP3A4RequestPurchaseOrder.xsd" tp:version="1.0"> http://www.rosettanet.org/schemas/PIP3A4RequestPurchaseOrder.xsd </tp:NamespaceSupported> </tp:SimplePart> <tp:SimplePart tp:id="CompanyB_Request" tp:mimetype="application/xml"> <tp:NamespaceSupported tp:location="http://www.rosettanet.org/schemas/PIP3A4RequestPurchaseOrder.xsd" tp:version="1.0"> http://www.rosettanet.org/schemas/PIP3A4RequestPurchaseOrder.xsd </tp:NamespaceSupported> </tp:SimplePart> <!-- SimplePart corresponding to a response action --> <tp:SimplePart tp:id="CompanyA_Response" tp:mimetype="application/xml"> <tp:NamespaceSupported tp:location="http://www.rosettanet.org/schemas/PurchaseOrderConfirmation.xsd" tp:version="1.0"> http://www.rosettanet.org/schemas/PIP3A4PurchaseOrderConfirmation.xsd </tp:NamespaceSupported> </tp:SimplePart> <tp:SimplePart tp:id="CompanyB_Response" tp:mimetype="application/xml"> <tp:NamespaceSupported tp:location="http://www.rosettanet.org/schemas/PurchaseOrderConfirmation.xsd" tp:version="1.0"> http://www.rosettanet.org/schemas/PIP3A4PurchaseOrderConfirmation.xsd </tp:NamespaceSupported> </tp:SimplePart> <!-- An ebXML message with a SOAP Envelope only --> <tp:Packaging tp:id="CompanyA_MshSignalPackage"> <tp:ProcessingCapabilities tp:parse="true" tp:generate="true"/> <tp:CompositeList> <tp:Composite tp:id="CompanyA_MshSignal" tp:mimetype="multipart/related" tp:mimeparameters="type=text/xml"> <tp:Constituent tp:idref="CompanyA_MsgHdr"/> </tp:Composite> </tp:CompositeList> </tp:Packaging> <tp:Packaging tp:id="CompanyB_MshSignalPackage"> <tp:ProcessingCapabilities tp:parse="true" tp:generate="true"/> <tp:CompositeList> <tp:Composite tp:id="CompanyB_MshSignal" tp:mimetype="multipart/related" tp:mimeparameters="type=text/xml"> <tp:Constituent tp:idref="CompanyB_MsgHdr"/> </tp:Composite> </tp:CompositeList> </tp:Packaging> <!-- An ebXML message with a SOAP Envelope plus a request action payload --> <tp:Packaging tp:id="CompanyA_RequestPackage"> <tp:ProcessingCapabilities tp:parse="true" tp:generate="true"/> <tp:CompositeList> <tp:Composite tp:id="CompanyA_RequestMsg" tp:mimetype="multipart/related" tp:mimeparameters="type=text/xml"> <tp:Constituent tp:idref="CompanyA_MsgHdr"/> <tp:Constituent tp:idref="CompanyA_Request"/> </tp:Composite> </tp:CompositeList> </tp:Packaging> <tp:Packaging tp:id="CompanyB_RequestPackage"> <tp:ProcessingCapabilities tp:parse="true" tp:generate="true"/> <tp:CompositeList> <tp:Composite tp:id="CompanyB_RequestMsg" tp:mimetype="multipart/related" tp:mimeparameters="type=text/xml"> <tp:Constituent tp:idref="CompanyB_MsgHdr"/> <tp:Constituent tp:idref="CompanyB_Request"/> </tp:Composite> </tp:CompositeList> </tp:Packaging> <!-- An ebXML message with a SOAP Envelope plus a response action payload --> <tp:Packaging tp:id="CompanyA_ResponsePackage"> <tp:ProcessingCapabilities tp:parse="true" tp:generate="true"/> <tp:CompositeList> <tp:Composite tp:id="CompanyA_ResponseMsg" tp:mimetype="multipart/related" tp:mimeparameters="type=text/xml"> <tp:Constituent tp:idref="CompanyA_MsgHdr"/> <tp:Constituent tp:idref="CompanyA_Response"/> </tp:Composite> </tp:CompositeList> </tp:Packaging> <tp:Packaging tp:id="CompanyB_ResponsePackage"> <tp:ProcessingCapabilities tp:parse="true" tp:generate="true"/> <tp:CompositeList> <tp:Composite tp:id="CompanyB_ResponseMsg" tp:mimetype="multipart/related" tp:mimeparameters="type=text/xml"> <tp:Constituent tp:idref="CompanyB_MsgHdr"/> <tp:Constituent tp:idref="CompanyB_Response"/> </tp:Composite> </tp:CompositeList> </tp:Packaging> <!-- An ebXML message with a SOAP Envelope plus a Receipt Acknowledgment payload --> <tp:Packaging tp:id="CompanyA_ReceiptAcknowledgmentPackage"> <tp:ProcessingCapabilities tp:parse="true" tp:generate="true"/> <tp:CompositeList> <tp:Composite tp:id="CompanyA_ReceiptAcknowledgmentMsg" tp:mimetype="multipart/related" tp:mimeparameters="type=text/xml"> <tp:Constituent tp:idref="CompanyA_MsgHdr"/> <tp:Constituent tp:idref="CompanyA_ReceiptAcknowledgment"/> </tp:Composite> </tp:CompositeList> </tp:Packaging> <tp:Packaging tp:id="CompanyB_ReceiptAcknowledgmentPackage"> <tp:ProcessingCapabilities tp:parse="true" tp:generate="true"/> <tp:CompositeList> <tp:Composite tp:id="CompanyB_ReceiptAcknowledgmentMsg" tp:mimetype="multipart/related" tp:mimeparameters="type=text/xml"> <tp:Constituent tp:idref="CompanyB_MsgHdr"/> <tp:Constituent tp:idref="CompanyB_ReceiptAcknowledgment"/> </tp:Composite> </tp:CompositeList> </tp:Packaging> <!-- An ebXML message with a SOAP Envelope plus an Exception payload --> <tp:Packaging tp:id="CompanyA_ExceptionPackage"> <tp:ProcessingCapabilities tp:parse="true" tp:generate="true"/> <tp:CompositeList> <tp:Composite tp:id="CompanyA_ExceptionMsg" tp:mimetype="multipart/related" tp:mimeparameters="type=text/xml"> <tp:Constituent tp:idref="CompanyA_MsgHdr"/> <tp:Constituent tp:idref="CompanyA_Exception"/> </tp:Composite> </tp:CompositeList> </tp:Packaging> <tp:Packaging tp:id="CompanyB_ExceptionPackage"> <tp:ProcessingCapabilities tp:parse="true" tp:generate="true"/> <tp:CompositeList> <tp:Composite tp:id="CompanyB_ExceptionMsg" tp:mimetype="multipart/related" tp:mimeparameters="type=text/xml"> <tp:Constituent tp:idref="CompanyB_MsgHdr"/> <tp:Constituent tp:idref="CompanyB_Exception"/> </tp:Composite> </tp:CompositeList> </tp:Packaging> <!-- An ebXML message with a Receipt Acknowledgment signal, plus a business response, or an ebXML message with an Exception signal --> <tp:Packaging tp:id="CompanyA_SyncReplyPackage"> <tp:ProcessingCapabilities tp:parse="true" tp:generate="true"/> <tp:CompositeList> <tp:Composite tp:id="CompanyA_SignalAndResponseMsg" tp:mimetype="multipart/related" tp:mimeparameters="type=text/xml"> <tp:Constituent tp:idref="CompanyA_MsgHdr"/> <tp:Constituent tp:idref="CompanyA_ReceiptAcknowledgment"/> <tp:Constituent tp:idref="CompanyA_Response"/> </tp:Composite> </tp:CompositeList> </tp:Packaging> <tp:Packaging tp:id="CompanyB_SyncReplyPackage"> <tp:ProcessingCapabilities tp:parse="true" tp:generate="true"/> <tp:CompositeList> <tp:Composite tp:id="CompanyB_SignalAndResponseMsg" tp:mimetype="multipart/related" tp:mimeparameters="type=text/xml"> <tp:Constituent tp:idref="CompanyB_MsgHdr"/> <tp:Constituent tp:idref="CompanyB_ReceiptAcknowledgment"/> <tp:Constituent tp:idref="CompanyB_Response"/> </tp:Composite> </tp:CompositeList> </tp:Packaging> <tp:Comment xml:lang="en-US">buy/sell agreement between CompanyA.com and CompanyB.com</tp:Comment> </tp:CollaborationProtocolAgreement>
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]