OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

ebxml-cppa message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Working Draft of TC review of ebMS 3 support, example edits, and TC preliminary decisions


Background:

 

The ebMS v 3 example is of a Gateway Conforming Server that is sending out Contract Expiration Notifications ( as described by an ebBP version 2.0 description) to a “Light Handler” MSH.

 

The Contractor is Party A, and the contractee is party B.

 

The intent is to adhere to the ebBP version 2 mapping to CPA metadata values.

 

The Delivery Channels will use ebMS 3.0 (possibly with a 2.0 option if time permits) that illustrate different conformance profiles and use the new “pull” mode.

 

Thanks to Pim and Pete for several typo style corrections as the TC reviewed the examples.

 

Changes mades since initial post:

 

1. MEP binding values corrected for Party A and Party B CPPs and CPA (thanks Pim and Pete).

2. Schema simple type of methodType added and used to retype ProtocolType’s attribute @method. methodType is a union of non-empty-string as in v 2 with methodEnumeration (which have the values used for methods or commands in transfer protocols used in data exchange). TC needs to be polled on this.

3. Added simple types signatureProtocolType, digitalEnvelopeProtocolType and used them in a union of protocolType. TC consensus for this.

4. In CPP for party A, substituted TransportServerSecurity for TransportClientSecurity. This allowed pointing to the correct server side certificates for SSL and announcing the appropriate trust anchors.

5. Illustrating the coordinationPath feature may require a different BP.

6. ActionBinding/@sendOrReceive was corrected to be “receive”

7. In ActionContext2, @binaryCollaboration was corrected to be the value of @name for the BusinessCollaboration, "ContractNotificationExpiration"

8. The Service values were corrected to be the value of @name for the BusinessCollaboration, "ContractNotificationExpiration"

9 The above corrections should be in B’s CPP, A’s CPP and the AB CPA.

10. The CPA assumes that Reliable Messaging acks get back using the Pull request. Should this be a special variant of MEP Binding value to distinguish it from a configuration that POSTS the ack back but not in a Pull request?

11. The above means that any Ack would carry Pull semantics as well as acking a previous notification. Might be worth its own URI identifier?

 

12. Changed MPC in B and CPA to reflect Pim’s convention.

 

I will review these again on the way to Dublin, but I enclose the versions of CPPs, CPA, and XSD that respond to the numerous decisions and enhancements in the example that we made today.

 

<EditorMode =”off”/>

 

 

 

 

 

 

 

cppa-3.0-july-13-2007.xsd

<?xml version="1.0" encoding="UTF-8"?>
<bp:ProcessSpecification xmlns:bp="http://docs.oasis-open.org/ebxml-bp/ebbp-2.0";
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
    xsi:schemaLocation="http://docs.oasis-open.org/ebxml-bp/ebbp-2.0 file:/C:/Schemas/ebbp-2.0.4.xsd"
    name="ContractNotificationService" nameID="ContractNotification0"
    uuid="urn:example:contracts:notification:expiration:213458">

    <bp:Documentation>Contract Notification Service </bp:Documentation>
    <!--bp:AttributeSubstitution nameIDRef="" attributeName="" value="">
        <bp:Documentation>Attribute substitutions can swap values in any attribute of an element with an ID
        and are useful when xincluding Packages or adapting to a new environment. The attribute substituion is used
        to solve problems of ID value collision and to change linkages by changing attributes of type IDREF.</bp:Documentation>
        </bp:AttributeSubstitution-->
    
    <bp:ExternalRoles>
        <bp:BusinessPartnerRole name="Contractor" nameID="Contractor0">
            <bp:Documentation/>
            <bp:Performs currentRoleRef="Contractor0">
                <bp:Documentation/>
            </bp:Performs>
        </bp:BusinessPartnerRole>
        <bp:BusinessPartnerRole name="Contractee" nameID="Contractee0">
            <bp:Documentation/>
            <bp:Performs currentRoleRef="Contractee0">
                <bp:Documentation/>
            </bp:Performs>
        </bp:BusinessPartnerRole>
    </bp:ExternalRoles>
    
    <bp:Signal name="ReceiptAcknowledgement" nameID="ra2">
        <bp:Specification location="http://docs.oasis-open.org/ebxml-bp/ebbp-signals-2.0";
            name="ReceiptAcknowledgement" nameID="rabpss2"/>
    </bp:Signal>
    <bp:Signal name="ReceiptAcknowledgementException" nameID="rae2">
        <bp:Specification location="http://docs.oasis-open.org/ebxml-bp/ebbp-signals-2.0";
            name="ReceiptAcknowledgementException" nameID="raebpss2"/>
    </bp:Signal>
    <bp:Signal name="AcceptanceAcknowledgement" nameID="aa2">
        <bp:Specification location="http://docs.oasis-open.org/ebxml-bp/ebbp-signals-2.0";
            name="AcceptanceAcknowledgement" nameID="aabpss2"/>
    </bp:Signal>
    <bp:Signal name="AcceptanceAcknowledgementException" nameID="aae2">
        <bp:Specification location="http://docs.oasis-open.org/ebxml-bp/ebbp-signals-2.0";
            name="AcceptanceAcknowledgementException" nameID="aaebpss2"/>
    </bp:Signal>
    <bp:Signal name="GeneralException" nameID="ge2">
        <bp:Specification location="http://docs.oasis-open.org/ebxml-bp/ebbp-signals-2.0";
            name="GeneralException" nameID="gebpss2"/>
    </bp:Signal>
    <!--bp:Variable name="" nameID="">
        <bp:ConditionExpression expressionLanguage="" expression="">
            <bp:Documentation></bp:Documentation>
        </bp:ConditionExpression>
    </bp:Variable-->
    <bp:Package name="EndOfContractSubservice" nameID="EOC0">
        <bp:BusinessDocument nameID="BD0" name="ExpirationNotification">
            <bp:Specification nameID="StandardContractExpirationNotification"
                name="http://www.example.org/3.1/Contracts";
                location="http://www.example.org//3.1/200609/Contracts.xsd/#ExpirationNotification";
                type="schema" targetNamespace="http://www.example.org/3.1/EndOfContract"/>
        </bp:BusinessDocument>
        <bp:Notification name="ContractExpiration" nameID="N0">
            <bp:RequestingRole name="Notifier" nameID="Req0"/>
            <bp:RespondingRole name="Notified" nameID="Resp0"/>
            <bp:RequestingBusinessActivity name="ExpirationNotification" nameID="ReqBA6">
                <bp:DocumentEnvelope name="ExpirationEnvelope" nameID="DE10"
                    businessDocumentRef="BD0"/>
                <bp:ReceiptAcknowledgement name="RA" nameID="RA6" signalDefinitionRef="ra2"/>
                <bp:ReceiptAcknowledgementException name="RAE" nameID="RAE6"
                    signalDefinitionRef="rae2"/>
            </bp:RequestingBusinessActivity>
            <bp:RespondingBusinessActivity name="InternalResponseActivityOnly" nameID="RespBA6"/>
        </bp:Notification>
    </bp:Package>

    <bp:BusinessCollaboration name="ContractExpirationNotification" nameID="BC0">
        <!--    Local choreography Role values are:            -->
        <bp:Role name="Contractor" nameID="RContractor"/>
        <bp:Role name="Contractee" nameID="RContractee"/>
        
        <bp:TimeToPerform duration="PT15S" type="design"/>
        <!--  -->
        <bp:Start>
            <bp:ToLink toBusinessStateRef="BTA0"/>
        </bp:Start>
        <bp:BusinessTransactionActivity businessTransactionRef="N0" name="NotifyContractExpired"
            nameID="BTA0">
            <bp:TimeToPerform duration="PT10S" type="design"/>
            <bp:Performs currentRoleRef="RContractor"/>
            <bp:Performs currentRoleRef="RContractee"/>
        </bp:BusinessTransactionActivity>

        <bp:Success><bp:FromLink fromBusinessStateRef="BTA0" conditionGuard="Success"></bp:FromLink></bp:Success>
        <bp:Failure><bp:FromLink fromBusinessStateRef="BTA0" conditionGuard="Failure"></bp:FromLink> </bp:Failure>
    </bp:BusinessCollaboration>
</bp:ProcessSpecification>
<?xml version="1.0"?>
<!-- Copyright OASIS, 2007.  All Rights Reserved. -->
<CollaborationProtocolProfile xmlns="http://docs.oasis-open.org/ebxmlcppa/cppa-3.0";
  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://docs.oasis-open.org/ebxmlcppa/cppa-3.0 file:/C:/Documents%20and%20Settings/dmoberg/Desktop/ebXML%20CPPA%20Working/CPPA%20Core%203.0%202007/cppa-3.0-july-13-2007.xsd"
  cppid="urn:CompanyB-ebMS3-cpp" version="3.0">

  <!-- Working draft of ebMS 3.0 support functions 
         Illustrates pull mode Delivery Channel for a one-way Notification.
  -->

  <PartyInfo partyName="CompanyB" defaultMshChannelId="asyncChannelB1"
    defaultMshPackageId="CompanyB_PullOrAck">
    <PartyId type="urn:oasis:names:tc:ebxml-cppa:partyid-type:duns">987654321</PartyId>
    <PartyRef xlink:href="http://www.CompanyB.com/about.html"/>
    <CollaborationRole>
      <ProcessSpecification version="2.0" name="Notifications" xlink:type="simple"
        xlink:href="http://docs.oasis-open.org/ebcppa/samples/Notification-ebBP20.xml";
        uuid="urn:oasis-open.org:ebcppa:Notification"/>
      <Role name="Contractee" xlink:type="simple"
        xlink:href="http://docs.oasis-open.org/ebcppa/samples/NotificationebBP20.xml"/>
      <ServiceBinding>

        <Service>ContractNotificationExpiration</Service>

        <!-- New flattened version 3  format-->
        <ActionBinding sendOrReceive="receive" id="companyB_AB0" action="ContractExpiration"
          packageId="CompanyB_PullOrAck">
          <BusinessTransactionCharacteristics isNonRepudiationRequired="true"
            isNonRepudiationReceiptRequired="false" isConfidential="transient"
            isAuthenticated="persistent" isTamperProof="persistent" isAuthorizationRequired="true"
            timeToAcknowledgeReceipt="PT0H" timeToPerform="PT10S"/>

          <!-- Illustrates conventions for ebBP 2.0 linkage of names and collaboration descriptions -->
          <ActionContext2 binaryCollaboration="ContractNotificationExpiration" role="Contractee"
            businessTransactionActivity="NotifyContractExpired" requestOrResponseAction="request"/>
          <!--  -->
          <ChannelId>asyncChannelB1</ChannelId>
        
        </ActionBinding>

      </ServiceBinding>
    </CollaborationRole>

    <!-- Certificates used by the Contractor company -->


    <Certificate certId="CompanyB_ClientCert">
      <ds:KeyInfo>
        <ds:KeyName>CompanyB_ClientCert_Key</ds:KeyName>
      </ds:KeyInfo>
    </Certificate>
    
    <Certificate certId="TrustedRootCertA1">
      <ds:KeyInfo>
        <ds:KeyName>TrustedRootCertA1_Key</ds:KeyName>
      </ds:KeyInfo>
    </Certificate>
 
    <SecurityDetails securityId="CompanyB_TransportSecurity">
      <TrustAnchors>
        <AnchorCertificateRef certId="TrustedRootCertA1"/>
      </TrustAnchors>
    </SecurityDetails>
   
    <!-- An asynchronous delivery channel with ebMS pull mode-->
    <DeliveryChannel channelId="asyncChannelB1" transportId="transportB1"
      docExchangeId="docExchangeB1">
      <MessagingCharacteristics syncReplyMode="none" ackRequested="always"
        ackSignatureRequested="never" duplicateElimination="always"/>
    </DeliveryChannel>

  
    <!-- Pull mode features for Receiver -->
    <Transport transportId="transportB1">
      
      <TransportReceiver>
        <TransportProtocol version="1.1" method="HTTPResponse">HTTP</TransportProtocol>
        <AccessAuthentication>basic</AccessAuthentication>
        <TransportClientSecurity>
          <TransportSecurityProtocol version="1.1">TLS</TransportSecurityProtocol>
          <ClientCertificateRef certId="CompanyB_ClientCert"/>
          <ServerSecurityDetailsRef securityId="CompanyB_TransportSecurity"/>
        </TransportClientSecurity>
      </TransportReceiver>
      
      <TransportSender>
        <TransportProtocol version="1.1" method="POST">HTTP</TransportProtocol>
        <AccessAuthentication>basic</AccessAuthentication>
        <TransportClientSecurity>
          <TransportSecurityProtocol version="3.0">SSL</TransportSecurityProtocol>
          <ClientCertificateRef certId="CompanyB_ClientCert"/>
          <ServerSecurityDetailsRef securityId="CompanyB_TransportSecurity"/>
        </TransportClientSecurity>
      </TransportSender>
    </Transport>

    <!-- Pull  mode specifics such as MPC value-->
    <DocExchange docExchangeId="docExchangeB1">
      
      <ebXMLReceiverBinding version="3.0">
        <ReceiverProcessingMode conformanceLevel="http://";>
          <MEP>http://docs.oasis-open.org/ebxmlmsg/ebms/v3.0/ns/core/200704/oneWay</MEP>
          <MEPBinding>http://docs.oasis-open.org/ebxmlmsg/ebms/v3.0/ns/core/200704/pull</MEPBinding>
          <SOAPVersion>1.2</SOAPVersion>
          <MPC>urn:oasis:names:tc:ebxml-cppa:partyid-type:duns/987654321</MPC>
        </ReceiverProcessingMode>
        
        <ReliableMessaging>
          <Retries>3</Retries>
          <RetryInterval>PT2H</RetryInterval>
          <MessageOrderSemantics>Guaranteed</MessageOrderSemantics>
          <ReliabilityGroup startGroup="true" terminateGroup="true"/>
        </ReliableMessaging>
        
        <PersistDuration>P1000D</PersistDuration>
        
      </ebXMLReceiverBinding>
     
    </DocExchange>
  
  </PartyInfo>

  <!-- SimplePart corresponding to the SOAP 1.2 Envelope -->
  <SimplePart id="CompanyB_PullSide" mimetype="application/soap+xml">
    <NamespaceSupported location="http://docs.oasis-open.org/ebxml-msg/ebms/v3.0/ns/core/200703/TBD";
      version="3.0">http://docs.oasis-open.org/ebxml-msg/ebms/v3.0/ns/core/200703/
    </NamespaceSupported>
  </SimplePart>

  <!-- An ebXML 3.0 message with its SOAP Envelope  -->
  <Packaging id="CompanyB_PullOrAck">
    <ProcessingCapabilities parse="true" generate="true"/>
    <Constituent idref="CompanyB_PullSide"/>
  </Packaging>

  <Comment xml:lang="en-US"> </Comment>
</CollaborationProtocolProfile>
<?xml version="1.0"?>
<!-- Copyright OASIS, 2007.  All Rights Reserved. -->
<CollaborationProtocolProfile xmlns="http://docs.oasis-open.org/ebxmlcppa/cppa-3.0";
  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://docs.oasis-open.org/ebxmlcppa/cppa-3.0 file:/C:/Documents%20and%20Settings/dmoberg/Desktop/ebXML%20CPPA%20Working/CPPA%20Core%203.0%202007/cppa-3.0-july-13-2007.xsd"
  cppid="urn:companyA-ebMS3-cpp" version="3.0">

  <!-- Working draft of ebMS 3.0 support functions 
  1. Produce sample ebBP 2.0 instance, draft done 22 June 2007
  2. Add a notification pickup CPP using "pull" mode 
  3. Check alignment of values in ebBP, here, and ebMS header.
   4. Produce sample SOAP messages.
   5. Illustrate WSDLOperation and Policy information, in ebBP & CPPA [?]
  -->

  <PartyInfo partyName="CompanyA" defaultMshChannelId="asyncChannelA1"
    defaultMshPackageId="CompanyA_MshSignalPackage">
    <PartyId type="urn:oasis:names:tc:ebxml-cppa:partyid-type:duns">123456789</PartyId>
    <PartyRef xlink:href="http://CompanyA.com/about.html"/>
    <CollaborationRole>
      <ProcessSpecification version="2.0" name="Notifications" xlink:type="simple"
        xlink:href="http://docs.oasis-open.org/ebcppa/samples/Notification-ebBP20.xml";
        uuid="urn:oasis-open.org:ebcppa:Notification"/>
      <Role name="Contractor" xlink:type="simple"
        xlink:href="http://docs.oasis-open.org/ebcppa/samples/NotificationebBP20.xml"/>
      <ServiceBinding>

        <Service>ContractNotificationExpiration</Service>

        <!-- New flattened version 3  format-->
        <ActionBinding sendOrReceive="send" id="companyA_AB0" action="ContractExpiration"
          packageId="CompanyA_Notification">
          <BusinessTransactionCharacteristics isNonRepudiationRequired="true"
            isNonRepudiationReceiptRequired="false" isConfidential="transient"
            isAuthenticated="persistent" isTamperProof="persistent" isAuthorizationRequired="true"
            timeToAcknowledgeReceipt="PT0H" timeToPerform="PT10S"/>

          <!-- Illustrates conventions for ebBP 2.0 linkage of names and collaboration descriptions -->
          <ActionContext2 binaryCollaboration="ContractNotificationExpiration" role="Contractor"
            businessTransactionActivity="NotifyContractExpired" requestOrResponseAction="request"/>
          <!--  -->
          <ChannelId>asyncChannelA1</ChannelId>
          <ChannelId>asyncChannelA2</ChannelId>
        </ActionBinding>

      </ServiceBinding>
    </CollaborationRole>

    <!-- Certificates used by the Contractor company -->

    <Certificate certId="CompanyA_SigningCert">
      <ds:KeyInfo>
        <ds:KeyName>CompanyA_SigningCert_Key</ds:KeyName>
      </ds:KeyInfo>
    </Certificate>
    <Certificate certId="CompanyA_EncryptionCert">
      <ds:KeyInfo>
        <ds:KeyName>CompanyA_EncryptionCert_Key</ds:KeyName>
      </ds:KeyInfo>
    </Certificate>
    <Certificate certId="CompanyA_ServerCert">
      <ds:KeyInfo>
        <ds:KeyName>CompanyA_ServerCert_Key</ds:KeyName>
      </ds:KeyInfo>
    </Certificate>
    <Certificate certId="CompanyA_ClientCert">
      <ds:KeyInfo>
        <ds:KeyName>CompanyA_ClientCert_Key</ds:KeyName>
      </ds:KeyInfo>
    </Certificate>
    <Certificate certId="TrustedRootCertA1">
      <ds:KeyInfo>
        <ds:KeyName>TrustedRootCertA1_Key</ds:KeyName>
      </ds:KeyInfo>
    </Certificate>
    <Certificate certId="TrustedRootCertA2">
      <ds:KeyInfo>
        <ds:KeyName>TrustedRootCertA2_Key</ds:KeyName>
      </ds:KeyInfo>
    </Certificate>

    <SecurityDetails securityId="CompanyA_TransportSecurity">
      <TrustAnchors>
        <AnchorCertificateRef certId="TrustedRootCertA1"/>
        <AnchorCertificateRef certId="TrustedRootCertA2"/>
      </TrustAnchors>
    </SecurityDetails>
    
    <SecurityDetails securityId="CompanyA_MessageSecurity">
      <TrustAnchors>
        <AnchorCertificateRef certId="TrustedRootCertA2"/>
      </TrustAnchors>
    </SecurityDetails>


    <!-- An asynchronous delivery channel with ebMS pull mode-->
    <DeliveryChannel channelId="asyncChannelA1" transportId="transportA1"
      docExchangeId="docExchangeA1">
      <MessagingCharacteristics syncReplyMode="none" ackRequested="always"
        ackSignatureRequested="never" duplicateElimination="always"/>
    </DeliveryChannel>

    <!-- An asynchronous delivery channel with normal ebMS one way push mode-->
    <DeliveryChannel channelId="asyncChannelA2" transportId="transportA2"
      docExchangeId="docExchangeA2">
      <MessagingCharacteristics syncReplyMode="none" ackRequested="always"
        ackSignatureRequested="never" duplicateElimination="always"/>
    </DeliveryChannel>

    <!-- Pull mode features for Business Document and Transport Sender -->
    <Transport transportId="transportA1">
      <TransportSender>
        <TransportProtocol version="1.1" method="HTTPResponse">HTTP</TransportProtocol>
        <AccessAuthentication>basic</AccessAuthentication>
        <Endpoint uri="https://www.CompanyA.com/ebxml3handler"; type="allPurpose"/>
        <TransportServerSecurity>
          <TransportSecurityProtocol version="1.1">TLS</TransportSecurityProtocol>
           <ServerCertificateRef certId="CompanyA_ServerCert"/>
          <ClientSecurityDetailsRef securityId="CompanyA_TransportSecurity"/>
        </TransportServerSecurity>
      </TransportSender>
    </Transport>

    <!--  Normal push  (that is, POST) mode-->
    <Transport transportId="transportA2">
      <TransportSender>
        <TransportProtocol version="1.1" method="POST">HTTP</TransportProtocol>
        <AccessAuthentication>basic</AccessAuthentication>
        <TransportClientSecurity>
          <TransportSecurityProtocol version="3.0">SSL</TransportSecurityProtocol>
       
          <ClientCertificateRef certId="CompanyA_ClientCert"/>
          <ServerSecurityDetailsRef securityId="CompanyA_TransportSecurity"/>
        </TransportClientSecurity>
      </TransportSender>
    </Transport>

    <!-- Pull  mode specifics such as MPC value-->
    <DocExchange docExchangeId="docExchangeA1">

      <ebXMLSenderBinding version="3.0">

        <SenderProcessingMode conformanceLevel="http://docs.oasis-open.org/ebxml-msg/ebms/v3.0/ns/cprofiles/200707/gateway-rmv2v3";>
          <MEP>http://docs.oasis-open.org/ebxmlmsg/ebms/v3.0/ns/core/200704/oneWay</MEP>
          <MEPBinding>http://docs.oasis-open.org/ebxmlmsg/ebms/v3.0/ns/core/200704/pull</MEPBinding>
          <SOAPVersion>1.2</SOAPVersion>
          <MPC>http://docs.oasis-open.org/ebxml-msg/ebms/v3.0/ns/core/200704/defaultMPC</MPC>
        </SenderProcessingMode>

        <ReliableMessaging>
          <Retries>3</Retries>
          <RetryInterval>PT2H</RetryInterval>
          <MessageOrderSemantics>Guaranteed</MessageOrderSemantics>
          <ReliabilityGroup startGroup="true" terminateGroup="true"/>
        </ReliableMessaging>

        <PersistDuration>P1000D</PersistDuration>

        <SenderNonRepudiation>
          <NonRepudiationProtocol version="1.1">WSS</NonRepudiationProtocol>
          <HashFunction>http://www.w3.org/2000/09/xmldsig#sha1</HashFunction>
          <SignatureAlgorithm>http://www.w3.org/2000/09/xmldsig#rsa-sha1</SignatureAlgorithm>
          <SigningCertificateRef certId="CompanyA_SigningCert"/>
        </SenderNonRepudiation>

      </ebXMLSenderBinding>

      <!-- -->
      <ebXMLReceiverBinding version="3.0">

        <ReliableMessaging>
          <Retries>3</Retries>
          <RetryInterval>PT2H</RetryInterval>
          <MessageOrderSemantics>Guaranteed</MessageOrderSemantics>
          <ReliabilityGroup terminateGroup="true" startGroup="true"/>
        </ReliableMessaging>

        <PersistDuration>P1000D</PersistDuration>

      </ebXMLReceiverBinding>
    </DocExchange>

    <!-- push POST mode -->
    <DocExchange docExchangeId="docExchangeA2">

      <ebXMLSenderBinding version="3.0">

        <SenderProcessingMode conformanceLevel="http://docs.oasis-open.org/ebxml-msg/ebms/v3.0/ns/cprofiles/200707/gateway-rmv2v3+";>
          <MEP>http://docs.oasis-open.org/ebxmlmsg/ebms/v3.0/ns/core/200704/oneWay</MEP>
          <MEPBinding>http://docs.oasis-open.org/ebxmlmsg/ebms/v3.0/ns/core/200704/push</MEPBinding>
          <SOAPVersion>1.2</SOAPVersion>

        </SenderProcessingMode>

        <ReliableMessaging>
          <Retries>3</Retries>
          <RetryInterval>PT2H</RetryInterval>
          <MessageOrderSemantics>Guaranteed</MessageOrderSemantics>
          <ReliabilityGroup>
            <CoordinationPath/>
          </ReliabilityGroup>

        </ReliableMessaging>

        <PersistDuration>P1000D</PersistDuration>

        <!--  BusinessTransactionCharacteristics has isNonRepudiationRequired="true" -->
        <SenderNonRepudiation>
          <NonRepudiationProtocol version="1.1">WSS</NonRepudiationProtocol>
          <HashFunction>http://www.w3.org/2000/09/xmldsig#sha1</HashFunction>
          <SignatureAlgorithm>http://www.w3.org/2000/09/xmldsig#rsa-sha1</SignatureAlgorithm>
          <SigningCertificateRef certId="CompanyA_SigningCert"/>
        </SenderNonRepudiation>

      </ebXMLSenderBinding>

    </DocExchange>


  </PartyInfo>


  <!-- SimplePart corresponding to the SOAP 1.2 Envelope -->
  <SimplePart id="CompanyA_Notification" mimetype="application/soap+xml">
    <NamespaceSupported location="http://docs.oasis-open.org/ebxml-msg/ebms/v3.0/ns/core/200703/TBD";
      version="3.0">http://docs.oasis-open.org/ebxml-msg/ebms/v3.0/ns/core/200703/
    </NamespaceSupported>
  </SimplePart>

  <!-- SimplePart corresponding to the SOAP 1.1 Envelope -->
  <SimplePart id="CompanyA_MsgHdr" mimetype="text/xml">
    <NamespaceSupported location="http://docs.oasis-open.org/ebxml-msg/ebms/v3.0/ns/core/200703/TBD";
      version="3.0">http://docs.oasis-open.org/ebxml-msg/ebms/v3.0/ns/core/200703/
    </NamespaceSupported>
  </SimplePart>

  <!-- SimplePart corresponding to an Exception business signal -->
  <SimplePart id="CompanyA_Exception" mimetype="application/xml">
    <NamespaceSupported
      location="http://www.oasis-open.org/committees/ebxml-msg/schema/msg-header-2_0.xsd";
      version="2.0"> http://www.oasis-open.org/committees/ebxml-msg/schema/msg-header-2_0.xsd
    </NamespaceSupported>
  </SimplePart>

  <!-- An ebXML 3.0 message with its SOAP Envelope  -->
  <Packaging id="CompanyA_MshSignalPackage">
    <ProcessingCapabilities parse="true" generate="true"/>
    <Constituent idref="CompanyA_Notification"/>
  </Packaging>

  <!-- An ebXML 2.0 message with a single SOAP 1.1 Envelope only -->
  <Packaging id="CompanyA_Msh2.0">
    <ProcessingCapabilities parse="true" generate="true"/>
    <CompositeList>
      <Composite id="CompanyA_MshSignal" mimetype="multipart/related" mimeparameters="type=text/xml">
        <Constituent idref="CompanyA_MsgHdr"/>
      </Composite>
    </CompositeList>
  </Packaging>

  <!-- An ebXML message with a SOAP Envelope plus an Exception payload -->
  <Packaging id="CompanyA_ExceptionPackage">
    <ProcessingCapabilities parse="true" generate="true"/>
    <CompositeList>
      <Composite id="CompanyA_ExceptionMsg" mimetype="multipart/related"
        mimeparameters="type=text/xml">
        <Constituent idref="CompanyA_MsgHdr"/>
        <Constituent idref="CompanyA_Exception"/>
      </Composite>
    </CompositeList>
  </Packaging>
  <Comment xml:lang="en-US"> </Comment>
</CollaborationProtocolProfile>
<?xml version="1.0"?>
<!-- Copyright OASIS, 2007.  All Rights Reserved. -->
<CollaborationProtocolAgreement xmlns="http://docs.oasis-open.org/ebxmlcppa/cppa-3.0";
  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://docs.oasis-open.org/ebxmlcppa/cppa-3.0 file:/C:/Documents%20and%20Settings/dmoberg/Desktop/ebXML%20CPPA%20Working/CPPA%20Core%203.0%202007/cppa-3.0-july-13-2007.xsd"
  cpaid="urn:companyA-companyB-ebMS3-cpa" version="3.0">

  <!-- Working draft of ebMS 3.0 support functions   -->
  
  <Status value="agreed"/>
  <Start>2010-05-20T07:21:00Z</Start>
  <End>2015-05-20T07:21:00Z</End>
  
  <!-- Party A is the Contractor and is notifying Party B, the contractee, that the contract has expired.
    Party A has an HTTP server and in this agreement sends its business messages using a HTTP response 
    to a POST from Party B to the default MPC -->
  
  <PartyInfo partyName="CompanyA" defaultMshChannelId="asyncChannelA1"
    defaultMshPackageId="CompanyAB_PullSide">
    <PartyId type="urn:oasis:names:tc:ebxml-cppa:partyid-type:duns">123456789</PartyId>
    <PartyRef xlink:href="http://CompanyA.com/about.html"/>
    <CollaborationRole>
      <ProcessSpecification version="2.0" name="Notifications" xlink:type="simple"
        xlink:href="http://docs.oasis-open.org/ebcppa/samples/Notification-ebBP20.xml";
        uuid="urn:oasis-open.org:ebcppa:Notification"/>
      <Role name="Contractor" xlink:type="simple"
        xlink:href="http://docs.oasis-open.org/ebcppa/samples/NotificationebBP20.xml"/>
      <ServiceBinding>

        <Service>CContractNotificationExpiration</Service>

        <!-- New flattened version 3  format-->
        <ActionBinding sendOrReceive="send" id="companyA_AB0" action="ContractExpiration"
          packageId="CompanyAB_PullSide" correlativeBinding="companyB_AB0">
          <BusinessTransactionCharacteristics isNonRepudiationRequired="true"
            isNonRepudiationReceiptRequired="false" isConfidential="transient"
            isAuthenticated="persistent" isTamperProof="persistent" isAuthorizationRequired="true"
            timeToAcknowledgeReceipt="PT0H" timeToPerform="PT10S"/>

          <!-- Illustrates conventions for ebBP 2.0 linkage of names and collaboration descriptions -->
          <ActionContext2 binaryCollaboration="ContractNotificationExpiration" role="Contractor"
            businessTransactionActivity="NotifyContractExpired" requestOrResponseAction="request"/>
          <!--  -->
          <ChannelId>asyncChannelA1</ChannelId>
     
        </ActionBinding>

      </ServiceBinding>
    </CollaborationRole>

    <!-- Certificates used by the Contractor company -->

    <Certificate certId="CompanyA_SigningCert">
      <ds:KeyInfo>
        <ds:KeyName>CompanyA_SigningCert_Key</ds:KeyName>
      </ds:KeyInfo>
    </Certificate>
    
    <Certificate certId="CompanyA_ServerCert">
      <ds:KeyInfo>
        <ds:KeyName>CompanyA_ServerCert_Key</ds:KeyName>
      </ds:KeyInfo>
    </Certificate>
    
    <Certificate certId="TrustedRootCertA1">
      <ds:KeyInfo>
        <ds:KeyName>TrustedRootCertA1_Key</ds:KeyName>
      </ds:KeyInfo>
    </Certificate>
    <Certificate certId="TrustedRootCertA2">
      <ds:KeyInfo>
        <ds:KeyName>TrustedRootCertA2_Key</ds:KeyName>
      </ds:KeyInfo>
    </Certificate>

    <SecurityDetails securityId="CompanyA_TransportSecurity">
      <TrustAnchors>
        <AnchorCertificateRef certId="TrustedRootCertA1"/>
        <AnchorCertificateRef certId="TrustedRootCertA2"/>
      </TrustAnchors>
    </SecurityDetails>
    
    <SecurityDetails securityId="CompanyA_MessageSecurity">
      <TrustAnchors>
        <AnchorCertificateRef certId="TrustedRootCertA2"/>
      </TrustAnchors>
    </SecurityDetails>


    <!-- An asynchronous delivery channel with ebMS pull mode-->
    <DeliveryChannel channelId="asyncChannelA1" transportId="transportA1"
      docExchangeId="docExchangeA1">
      <MessagingCharacteristics syncReplyMode="none" ackRequested="always"
        ackSignatureRequested="never" duplicateElimination="always"/>
    </DeliveryChannel>

 
    <!-- Pull mode features for Sender -->
    <Transport transportId="transportA1">
      <TransportSender>
        <TransportProtocol version="1.1" method="HTTP response">HTTP</TransportProtocol>
        <AccessAuthentication>basic</AccessAuthentication>
        <Endpoint uri="https://www.CompanyA.com/ebxml3handler"; type="allPurpose"/>
        <!-- need transport security details here -->
        <TransportServerSecurity>
          <TransportSecurityProtocol version="1.1">TLS</TransportSecurityProtocol>
          <ServerCertificateRef certId="CompanyA_ServerCert"/>
          <ClientSecurityDetailsRef securityId="CompanyA_TransportSecurity"/>
        </TransportServerSecurity>    
      </TransportSender>
    </Transport>


    <!-- Pull  mode specifics such as MPC value-->
    <DocExchange docExchangeId="docExchangeA1">
      
      <ebXMLSenderBinding version="3.0" >
        
        <SenderProcessingMode conformanceLevel="http://docs.oasis-open.org/ebxml-msg/ebms/v3.0/ns/cprofiles/200707/gateway-rmv2v3";>
          <MEP>http://docs.oasis-open.org/ebxmlmsg/ebms/v3.0/ns/core/200704/oneWay</MEP>
          <MEPBinding>http://docs.oasis-open.org/ebxmlmsg/ebms/v3.0/ns/core/200704/pull</MEPBinding>
          <SOAPVersion>1.2</SOAPVersion>
          <MPC>urn:oasis:names:tc:ebxml-cppa:partyid-type:duns/987654321</MPC>
        </SenderProcessingMode>
        
        <ReliableMessaging>
          <Retries>3</Retries>
          <RetryInterval>PT2H</RetryInterval>
          <MessageOrderSemantics>Guaranteed</MessageOrderSemantics>
          <ReliabilityGroup startGroup="true" terminateGroup="true"/>
        </ReliableMessaging>
        
        <PersistDuration>P1000D</PersistDuration>
        
        <SenderNonRepudiation>
          <NonRepudiationProtocol version="1.1">WSS</NonRepudiationProtocol>
          <HashFunction>http://www.w3.org/2000/09/xmldsig#sha1</HashFunction>
          <SignatureAlgorithm>http://www.w3.org/2000/09/xmldsig#rsa-sha1</SignatureAlgorithm>
          <SigningCertificateRef certId="CompanyA_SigningCert"/>
        </SenderNonRepudiation>
        
      </ebXMLSenderBinding>
      
      <ebXMLReceiverBinding version="3.0">
        
        <ReliableMessaging>
          <Retries>3</Retries>
          <RetryInterval>PT2H</RetryInterval>
          <MessageOrderSemantics>Guaranteed</MessageOrderSemantics>
          <ReliabilityGroup terminateGroup="true" startGroup="true"/>
        </ReliableMessaging>
        
        <PersistDuration>P1000D</PersistDuration>
        
      </ebXMLReceiverBinding>
    </DocExchange>
   
   
  </PartyInfo>


  
  <PartyInfo partyName="CompanyB" defaultMshChannelId="asyncChannelB1"
    defaultMshPackageId="CompanyAB_PullSide">
    <PartyId type="urn:oasis:names:tc:ebxml-cppa:partyid-type:duns">987654321</PartyId>
    <PartyRef xlink:href="http://www.CompanyB.com/about.html"/>
    <CollaborationRole>
      <ProcessSpecification version="2.0" name="Notifications" xlink:type="simple"
        xlink:href="http://docs.oasis-open.org/ebcppa/samples/Notification-ebBP20.xml";
        uuid="urn:oasis-open.org:ebcppa:Notification"/>
      <Role name="Contractee" xlink:type="simple"
        xlink:href="http://docs.oasis-open.org/ebcppa/samples/NotificationebBP20.xml"/>
      <ServiceBinding>
        
        <Service>ContractNotificationExpiration</Service>
        
        <!-- New flattened version 3  format-->
        <ActionBinding sendOrReceive="receive" id="companyB_AB0" action="ContractExpiration"
          packageId="CompanyAB_PullSide" correlativeBinding="companyA_AB0">
          <BusinessTransactionCharacteristics isNonRepudiationRequired="true"
            isNonRepudiationReceiptRequired="false" isConfidential="transient"
            isAuthenticated="persistent" isTamperProof="persistent" isAuthorizationRequired="true"
            timeToAcknowledgeReceipt="PT0H" timeToPerform="PT10S"/>
          
          <!-- Illustrates conventions for ebBP 2.0 linkage of names and collaboration descriptions -->
          <ActionContext2 binaryCollaboration="ContractNotificationExpiration"  role="Contractee"
            businessTransactionActivity="NotifyContractExpired" requestOrResponseAction="request"/>
          <!--  -->
          <ChannelId>asyncChannelB1</ChannelId>      
        </ActionBinding>
        
      </ServiceBinding>
    </CollaborationRole>
    
    <!-- Certificates used by the Contractor company -->
        
    <Certificate certId="CompanyB_ClientCert">
      <ds:KeyInfo>
        <ds:KeyName>CompanyB_ClientCert_Key</ds:KeyName>
      </ds:KeyInfo>
    </Certificate>
      
    <SecurityDetails securityId="CompanyB_TransportSecurity">
      <TrustAnchors>
        <AnchorCertificateRef certId="TrustedRootCertA1"/>
      </TrustAnchors>
    </SecurityDetails>
    
    <!-- An asynchronous delivery channel with ebMS pull mode-->
    <DeliveryChannel channelId="asyncChannelB1" transportId="transportB1"
      docExchangeId="docExchangeB1">
      <MessagingCharacteristics syncReplyMode="none" ackRequested="always"
        ackSignatureRequested="never" duplicateElimination="always"/>
    </DeliveryChannel>
    
    <!-- Pull mode features for  Business Document Receiver -->
    <Transport transportId="transportB1">
      
      <TransportReceiver>
        <TransportProtocol version="1.1" method="POST">HTTP</TransportProtocol>
        <AccessAuthentication>basic</AccessAuthentication>
        <TransportClientSecurity>
          <TransportSecurityProtocol version="1.1">TLS</TransportSecurityProtocol>
          <ClientCertificateRef certId="CompanyB_ClientCert"/>
          <ServerSecurityDetailsRef securityId="CompanyB_TransportSecurity"/>
        </TransportClientSecurity>
      </TransportReceiver>
      <TransportSender>
        <TransportProtocol version="1.1" method="POST">HTTP</TransportProtocol>
        <AccessAuthentication>basic</AccessAuthentication>
        <TransportClientSecurity>
          <TransportSecurityProtocol version="3.0">SSL</TransportSecurityProtocol>
          <ClientCertificateRef certId="CompanyB_ClientCert"/>
          <ServerSecurityDetailsRef securityId="CompanyB_TransportSecurity"/>
        </TransportClientSecurity>
      </TransportSender>
    </Transport>
    
    <!-- Pull  mode specifics such as MPC value-->
    <DocExchange docExchangeId="docExchangeB1">
      
      <ebXMLReceiverBinding version="3.0">
        <ReceiverProcessingMode conformanceLevel="http://";>
          <MEP>http://docs.oasis-open.org/ebxmlmsg/ebms/v3.0/ns/core/200704/oneWay</MEP>
          <MEPBinding>http://docs.oasis-open.org/ebxmlmsg/ebms/v3.0/ns/core/200704/pull</MEPBinding>
          <SOAPVersion>1.2</SOAPVersion>
          <MPC>urn:oasis:names:tc:ebxml-cppa:partyid-type:duns/987654321</MPC>
        </ReceiverProcessingMode>
        
        <ReliableMessaging>
          <Retries>3</Retries>
          <RetryInterval>PT2H</RetryInterval>
          <MessageOrderSemantics>Guaranteed</MessageOrderSemantics>
          <ReliabilityGroup startGroup="true" terminateGroup="true"/>
        </ReliableMessaging>
        
        <PersistDuration>P1000D</PersistDuration>
         
      </ebXMLReceiverBinding>
      
      
    </DocExchange>
    
   
 
  </PartyInfo>
  
  <!-- SimplePart corresponding to the SOAP 1.2 Envelope -->
  <SimplePart id="CompanyAB_PullSide" mimetype="application/soap+xml">
    <NamespaceSupported location="http://docs.oasis-open.org/ebxml-msg/ebms/v3.0/ns/core/200703/TBD";
      version="3.0">http://docs.oasis-open.org/ebxml-msg/ebms/v3.0/ns/core/200703/
    </NamespaceSupported>
  </SimplePart>
  
  <!-- An ebXML 3.0 message with its SOAP Envelope  -->
  <Packaging id="CompanyAB_PullOrAck">
    <ProcessingCapabilities parse="true" generate="true"/>
    <Constituent idref="CompanyAB_PullSide"/>
  </Packaging>
  
  <Comment xml:lang="en-US"> </Comment>
  
</CollaborationProtocolAgreement>


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]