[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: RE: [ebxml-cppa] Agenda for OASIS ebXML CPPA teleconference June 23, 2006 at 8 AM PDT (NDD,CPA services)
Hello Dale,
Two comments, one short and one longer:
1) I sent a message on defaulting for more attributes, which seems a
separate topic:
It's not very important though ..
2) On the topic of negotiation services I can report on some work I've
done, based on the NDD concept described in http://www.oasis-open.org/committees/download.php/10193/Negotiation.req.06Mar02.pdf which you've pointed me too. Below is some
status information on that. I'd be interested in learning from the experts on
the TC if you think this is going in the right direction.
My scope is (for practical
reasons) limited to cases where, when working from a CPA template:
- any subtree that can be instantiated in the result CPA can only be set
by one partner.
- there are no co-constraints on values of a parameter and values of any
other parameters, whether supplied by the same partner or by other
others.
- all constraints can be checked on parameter input.
This excludes some possible scenarios but covers many
common uses of ebXML.
Basically,
the idea is to have a very simple XML
representation of the NDD concept. It
names a template and provides a set of pairs of named parameters and
XPath expression. See the attached "simple.ndd.xml" sample.
Partners then need to supply a simple XML document with values.
Values can be atomic (text content or attribute values) or complete
sub-structures (like a KeyInfo XML substructure). See the attached
"simple.A.parameters.xml" and "simple.B.parameters.xml"
samples.
With these limitations, there would be no need for a complex dialog of
proposal/counter-proposals. Once all partners supply their parameters, the
resulting CPA should be technically acceptable (it may stil be rejected for
business reasons). I wrote an XSLT based "compiler" which takes an NDD
document and a CPA template, and generates, for each partner, a second (third ..
n-th) XSLT-bsed "compiler", which in turn takes an XML parameter document and
yields an instantiated CPA document by transformation. A sample generated
stylehsheet which instantiates the template with B's parameters is
"cpa-example-2_0b.simple.B.xsl". When all
partners have supplied their parameters, the transformation for each partner can
be run as a pipeline in arbitrary order to generate the instantiated CPA. Sample
"cpa-example-2_0b.simple.cpa2.xml" attached.
Questions/comments/thoughts:
[1] The template would be a complete CPA, so there is no separate CPA
template schema and no need for changes to the CPA schema. This is good, I
think. The tp:Start and tp:End could be in the past and one or both PartyIds
could be bogus. They would be set to their desired values by specifying them in
the NDD and submitting them as parameter values.
[2] In the simplest case only one partner supplies
parameters, and the other partner information is fully specificied. The
operation could then be implementable as a simple Request (parameters and value)
Response (resulting CPA) operation. However, it seems to me as if in practice at least
@tp:cpaid, tp:Start and tp:End would always need to be set for each new CPA
dynamically, i.e. not in the template.
The start may have to be at least some working days after the CPA is
configured to allow partners to configure other systems than the ebXML message
handlers. If that is true, there will always be more than one partner
supplying parameter values. But if one partner e.g. "B" runs the CPA
process, it could still retrieve its own parameters dynamically when A submits
its CPA request, and send the combined resulting CPA back
immediately.
[3] As for services, it seems to be there are two separate cases:
1: A process for arriving at a uniquely identified, shared
knowledge of a set of technical parameters and services to support
construction of that set of parameters. I.e. a CpaId identifying a CPA
XML document (or equivalent other representation of those parameters). This
is what CPA formation/negotiation and this this message are
about.
2: Service management functions: request a partner to deploy a
service (by CpaId), notifications of deploying a service (CpaId), notification
of temporary unavailability of a service (CpaId, SuspendAt, ResumeAt),
notification of premature termination of a service (CpaId, Date).
Is this a useful distinction?
[4] Apart from generating a CPA from a template, in practice partners
will often want to generate a CPA from a previously agreed CPA. Suppose
the URL of a partner's ebXML gateway changes, or a certificate expires. The amount of
human intervention / supervision would be much lower than for a new business
partner, perhaps it could be fully
automated. The process would be
to:
- Send messages to partners with as parameters the OldCpaId and the
changed information. An NDD could be used to define which parameters can be
changed in this way. Difference with working from a template are that only
the changed information needs to be supplied, not all
parameters.
CPA is identified by NewCpaId.
- Partner sends notification to partners that
services NewCpaId is available, requests partners to deploy service
NewCpaId at their end, and (optionally, if before the tp:End in OldCpa)
notifies partners that OldCpaId will be shut down (after some
transation period in which OldCpaId and NewCpaId are both
available).
The Certificate
Exchange Message covers a special instance of this?
[5] Validity of supplied parameters will be done by the ebXML software
that loads the configured CPAs.
But the NDD could mention additional constraints on the values (e.g. a
list of alternatives). The run-time should check these when parameters are
supplied. My "compilers" don't have that capability yet, still working on
that ..
[6] The mechanism could easily be generalized. It
could reference more than one CPA template, so partners can configure multiple
CPAs in one process. The only requirement is for the template to be a
well-formed XML document. It could also be an XML schema, ebBP
process, WSDL .. The service management service
messages could then be about multiple new/old
CpaIds. The mechanism could
also be generalized to more than three or more partners ..
Pim
From: Dale Moberg [mailto:dmoberg@cyclonecommerce.com] Sent: 21 June 2006 19:23 To: OASIS ebXML CPPA TC Subject: [ebxml-cppa] Agenda for OASIS ebXML CPPA teleconference June 23, 2006 at 8 AM PDT NEW
numbers!!! 866 383
5205 732 694 1566 (for international
callers) 144286# is the conference
participant pin Agenda 1. Flattening discussion
continues a. Reuse proposals from PIM
discussion, adding an ID to MessagingCharacteristics and
BusinessTransactionCharacteristics. Where to put the attribute of type IDREF to
reference these? Where in the hierarchy to allow the MessagingCharacteristics
and BusinessTransactionCharacteristics elements. b. Adding
xinclude? c. ebMS 3.0 Pmode values,
news? d. Progress on schema modifications
for flattening. 2. Cardinality revisited on
ProcessSpecification, Role and Service. 3. Followup on negotiation services
and wsdl approach? |
<?xml version="1.0" encoding="UTF-8"?> <NegotiationDescriptorDocument xmlns:tns="http://www.oasis-open.org/committees/ebxml-cppa/schema/cpp-cpa-2_0.xsd" version="0.1" cpaVersion="2.0" cpaTemplateId="cpa-example-2_0b" cpaTemplateUri="cpa-example-2_0b.cpa2.xml" NddId="simple"> <Parameters role="A"> <Parameter name="DeploymentStart" cpaType="text" cpaContext="tns:CollaborationProtocolAgreement/tns:Start" /> <Parameter name="DeploymentEnd" cpaType="text" cpaContext="tns:CollaborationProtocolAgreement/tns:End" /> </Parameters> <Parameters role="B"> <Parameter name="PartyIdType" cpaType="attribute" cpaAttribute="tns:type" cpaContext="tns:CollaborationProtocolAgreement/tns:PartyInfo[2]/tns:PartyId" /> <Parameter name="EndpointUri" cpaType="attribute" cpaAttribute="tns:uri" cpaContext="tns:CollaborationProtocolAgreement/tns:PartyInfo[2]//tns:Endpoint" /> <Parameter name="CompanyB_ABID6conf" cpaType="attribute" cpaAttribute="tns:isConfidential" cpaContext="tns:ThisPartyActionBinding[@tns:id='companyB_ABID6']//tns:BusinessTransactionCharacteristics" /> <Parameter name="CompanyB_Cert" cpaType="value" cpaContext="tns:CollaborationProtocolAgreement/tns:PartyInfo[2]//tns:Certificate[@tns:certId='CompanyB_ServerCert']" /> <Parameter name="Retries" cpaType="text" cpaContext="tns:DocExchange[@tns:docExchangeId='docExchangeB1']/tns:ebXMLSenderBinding/tns:ReliableMessaging/tns:Retries" /> </Parameters> </NegotiationDescriptorDocument>
<?xml version="1.0" encoding="UTF-8"?> <NegotiationRequest cpaTemplateId="cpa-example-2_0b" nddid="simple" role="B"> <NDDReference>simple.ndd.xml</NDDReference> <Parameters> <Parameter name="PartyId">12345</Parameter> <Parameter name="PartyIdType">urn:gs1:gln</Parameter> <Parameter name="EndpointUri">http://businesspartner.org/hallo/ebXMLservlet</Parameter> <Parameter name="CompanyB_ABID6conf">transient</Parameter> <Parameter name="CompanyB_Cert"> <KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#"> <KeyValue> <RSAKeyValue> <Modulus> k8q9IYl+jy7r+qfJjMlUYh4/vlfwaS/Lcdaq+XD8R+B5p4PH2Ixcq7WobYqEA6RWhg 4DEGRTrtg+raXQViEk60s9hVhg+ycLbAMJN+ycZpfP34h+6d/BQmGOuYi9GZ19qkEH ZVrvPiNE1UQJGFKumUasv2Zl+eODU8VRZc9yAdU= </Modulus> <Exponent>AQAB</Exponent> </RSAKeyValue> </KeyValue> <X509Data> <X509IssuerSerial> <X509IssuerName>CN=Partner B</X509IssuerName> <X509SerialNumber>47566082345519996102501890583059901138</X509SerialNumber> </X509IssuerSerial> <X509SubjectName>CN=Partner B</X509SubjectName> <X509Certificate> MIIB2zCCAUSgAwIBAgIQI8jk7G4y/FqLO+0o5r4q0jANBgkqhkiG9w0BAQUFADAUMRIwEAYDVQQD EwlQYXJ0bmVyIEIwHhcNMDYwNTIwMTkxNjU2WhcNMDgwNTIwMTkxNjU2WjAUMRIwEAYDVQQDEwlQ YXJ0bmVyIEIwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAJPKvSGJfo8u6/qnyYzJVGIeP75X 8Gkvy3HWqvlw/EfgeaeDx9iMXKu1qG2KhAOkVoYOAxBkU67YPq2l0FYhJOtLPYVYYPsnC2wDCTfs nGaXz9+IfunfwUJhjrmIvRmdfapBB2Va7z4jRNVECRhSrplGrL9mZfnjg1PFUWXPcgHVAgMBAAGj LjAsMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjALBgNVHQ8EBAMCAKAwDQYJKoZIhvcN AQEFBQADgYEAhbISQsgOhQK9NjqfZFKquYbk0HS7SS6gwPEIScdZVE2YhnuspudCjBICzmjCCrhE QdiR2dpqig7Y760/BobEvZf29zaIwZY6lAoe/t+PpbyVYbWE9qeRI82Q9d2ly55wspooElPNk+bJ zUTMK8GhQlaPSoQigcN+LQ460wINo4M= </X509Certificate> </X509Data> </KeyInfo> </Parameter> <Parameter name="Retries">10</Parameter> </Parameters> </NegotiationRequest>
<?xml version="1.0" encoding="UTF-8"?> <CPANegotiationRequest> <NDDReference>simple.ndd.xml</NDDReference> <Parameters> <Parameter name="DeploymentStart">2006-08-01T07:21:00Z</Parameter> <Parameter name="DeploymentEnd">2006-09-01T07:21:00Z</Parameter> </Parameters> </CPANegotiationRequest>
<?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" xmlns:tns="http://www.oasis-open.org/committees/ebxml-cppa/schema/cpp-cpa-2_0.xsd" 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" tns:cpaid="e40afcae-4d41-4f79-9344-b6778604527f" tp:version="2_0b"> <tp:Status tp:value="proposed"/> <tp:Start>2008-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 tns:type="urn:gs1:gln">12345</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" tns: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"> <KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#"> <KeyValue> <RSAKeyValue> <Modulus> k8q9IYl+jy7r+qfJjMlUYh4/vlfwaS/Lcdaq+XD8R+B5p4PH2Ixcq7WobYqEA6RWhg 4DEGRTrtg+raXQViEk60s9hVhg+ycLbAMJN+ycZpfP34h+6d/BQmGOuYi9GZ19qkEH ZVrvPiNE1UQJGFKumUasv2Zl+eODU8VRZc9yAdU= </Modulus> <Exponent>AQAB</Exponent> </RSAKeyValue> </KeyValue> <X509Data> <X509IssuerSerial> <X509IssuerName>CN=Partner B</X509IssuerName> <X509SerialNumber>47566082345519996102501890583059901138</X509SerialNumber> </X509IssuerSerial> <X509SubjectName>CN=Partner B</X509SubjectName> <X509Certificate> MIIB2zCCAUSgAwIBAgIQI8jk7G4y/FqLO+0o5r4q0jANBgkqhkiG9w0BAQUFADAUMRIwEAYDVQQD EwlQYXJ0bmVyIEIwHhcNMDYwNTIwMTkxNjU2WhcNMDgwNTIwMTkxNjU2WjAUMRIwEAYDVQQDEwlQ YXJ0bmVyIEIwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAJPKvSGJfo8u6/qnyYzJVGIeP75X 8Gkvy3HWqvlw/EfgeaeDx9iMXKu1qG2KhAOkVoYOAxBkU67YPq2l0FYhJOtLPYVYYPsnC2wDCTfs nGaXz9+IfunfwUJhjrmIvRmdfapBB2Va7z4jRNVECRhSrplGrL9mZfnjg1PFUWXPcgHVAgMBAAGj LjAsMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjALBgNVHQ8EBAMCAKAwDQYJKoZIhvcN AQEFBQADgYEAhbISQsgOhQK9NjqfZFKquYbk0HS7SS6gwPEIScdZVE2YhnuspudCjBICzmjCCrhE QdiR2dpqig7Y760/BobEvZf29zaIwZY6lAoe/t+PpbyVYbWE9qeRI82Q9d2ly55wspooElPNk+bJ zUTMK8GhQlaPSoQigcN+LQ460wINo4M= </X509Certificate> </X509Data> </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 tns:uri="http://businesspartner.org/hallo/ebXMLservlet" 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 tns:uri="http://businesspartner.org/hallo/ebXMLservlet" 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>10</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>
<?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>2006-08-01T07:21:00Z</tp:Start> <tp:End>2006-09-01T07: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 xmlns:tns="http://www.oasis-open.org/committees/ebxml-cppa/schema/cpp-cpa-2_0.xsd" tns:type="urn:gs1:gln">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 xmlns:tns="http://www.oasis-open.org/committees/ebxml-cppa/schema/cpp-cpa-2_0.xsd" tp:isNonRepudiationRequired="true" tp:isNonRepudiationReceiptRequired="true" tns: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"> <KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#"> <KeyValue> <RSAKeyValue> <Modulus> k8q9IYl+jy7r+qfJjMlUYh4/vlfwaS/Lcdaq+XD8R+B5p4PH2Ixcq7WobYqEA6RWhg 4DEGRTrtg+raXQViEk60s9hVhg+ycLbAMJN+ycZpfP34h+6d/BQmGOuYi9GZ19qkEH ZVrvPiNE1UQJGFKumUasv2Zl+eODU8VRZc9yAdU= </Modulus> <Exponent>AQAB</Exponent> </RSAKeyValue> </KeyValue> <X509Data> <X509IssuerSerial> <X509IssuerName>CN=Partner B</X509IssuerName> <X509SerialNumber>47566082345519996102501890583059901138</X509SerialNumber> </X509IssuerSerial> <X509SubjectName>CN=Partner B</X509SubjectName> <X509Certificate> MIIB2zCCAUSgAwIBAgIQI8jk7G4y/FqLO+0o5r4q0jANBgkqhkiG9w0BAQUFADAUMRIwEAYDVQQD EwlQYXJ0bmVyIEIwHhcNMDYwNTIwMTkxNjU2WhcNMDgwNTIwMTkxNjU2WjAUMRIwEAYDVQQDEwlQ YXJ0bmVyIEIwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAJPKvSGJfo8u6/qnyYzJVGIeP75X 8Gkvy3HWqvlw/EfgeaeDx9iMXKu1qG2KhAOkVoYOAxBkU67YPq2l0FYhJOtLPYVYYPsnC2wDCTfs nGaXz9+IfunfwUJhjrmIvRmdfapBB2Va7z4jRNVECRhSrplGrL9mZfnjg1PFUWXPcgHVAgMBAAGj LjAsMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjALBgNVHQ8EBAMCAKAwDQYJKoZIhvcN AQEFBQADgYEAhbISQsgOhQK9NjqfZFKquYbk0HS7SS6gwPEIScdZVE2YhnuspudCjBICzmjCCrhE QdiR2dpqig7Y760/BobEvZf29zaIwZY6lAoe/t+PpbyVYbWE9qeRI82Q9d2ly55wspooElPNk+bJ zUTMK8GhQlaPSoQigcN+LQ460wINo4M= </X509Certificate> </X509Data> </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 xmlns:tns="http://www.oasis-open.org/committees/ebxml-cppa/schema/cpp-cpa-2_0.xsd" tns:uri="http://businesspartner.org/hallo/ebXMLservlet" 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 xmlns:tns="http://www.oasis-open.org/committees/ebxml-cppa/schema/cpp-cpa-2_0.xsd" tns:uri="http://businesspartner.org/hallo/ebXMLservlet" 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>10</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>
<?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet xmlns:tns="http://www.oasis-open.org/committees/ebxml-cppa/schema/cpp-cpa-2_0.xsd" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 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#" 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" version="2.0"> <xsl:param name="ParametersSource">simple.B.parameters.xml</xsl:param> <xsl:variable name="PartyIdType"> <xsl:copy-of select="document($ParametersSource)//Parameter[@name='PartyIdType']/child::text()"/> </xsl:variable> <xsl:variable name="EndpointUri"> <xsl:copy-of select="document($ParametersSource)//Parameter[@name='EndpointUri']/child::text()"/> </xsl:variable> <xsl:variable name="CompanyB_ABID6conf"> <xsl:copy-of select="document($ParametersSource)//Parameter[@name='CompanyB_ABID6conf']/child::text()"/> </xsl:variable> <xsl:variable name="CompanyB_Cert"> <xsl:copy-of select="document($ParametersSource)//Parameter[@name='CompanyB_Cert']/child::node()"/> </xsl:variable> <xsl:variable name="Retries"> <xsl:copy-of select="document($ParametersSource)//Parameter[@name='Retries']/child::text()"/> </xsl:variable> <xsl:template match="tns:CollaborationProtocolAgreement/tns:PartyInfo[2]/tns:PartyId/@tns:type"> <xsl:attribute name="tns:type"> <xsl:value-of select="$PartyIdType"/> </xsl:attribute> </xsl:template> <xsl:template match="tns:CollaborationProtocolAgreement/tns:PartyInfo[2]//tns:Endpoint/@tns:uri"> <xsl:attribute name="tns:uri"> <xsl:value-of select="$EndpointUri"/> </xsl:attribute> </xsl:template> <xsl:template match="tns:ThisPartyActionBinding[@tns:id='companyB_ABID6']//tns:BusinessTransactionCharacteristics/@tns:isConfidential"> <xsl:attribute name="tns:isConfidential"> <xsl:value-of select="$CompanyB_ABID6conf"/> </xsl:attribute> </xsl:template> <xsl:template match="tns:CollaborationProtocolAgreement/tns:PartyInfo[2]//tns:Certificate[@tns:certId='CompanyB_ServerCert']"> <xsl:copy> <xsl:apply-templates select="@*"/> <xsl:copy-of select="$CompanyB_Cert"/> </xsl:copy> </xsl:template> <xsl:template match="tns:DocExchange[@tns:docExchangeId='docExchangeB1']/tns:ebXMLSenderBinding/tns:ReliableMessaging/tns:Retries"> <xsl:copy> <xsl:apply-templates select="@*"/> <xsl:copy-of select="$Retries"/> </xsl:copy> </xsl:template> <xsl:template match="@*|node()"> <xsl:copy> <xsl:apply-templates select="@*"/> <xsl:apply-templates/> </xsl:copy> </xsl:template> </xsl:stylesheet>
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]