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

 


Help: OASIS Mailing Lists Help | MarkMail Help

ebxml-bp message

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


Subject: ActionItem: WSDL and CPPA 2.X extension status


I am attaching the working draft of the CPPA 2.x schema that introduces
DocExchange extension points (using substitution groups) for WSDLBinding
(an alternative to ebXMLSenderBinding and ebXMLReceiverBinding). The
content model for this element is still to be decided. Options mentioned
have included a. a URI for the location of the WSDL,  b. a list of
Xpaths for definitions from a wsdl resource, c. actual definitions
themselves, or d. a choice from the preceding. 

I am also including a summary of changes in the working draft of 2.x
schema, and a 2.0 instance that validates against the 2.x schema (after
the namespace is changed in the instance).



<?xml version="1.0"?>
<tp:CollaborationProtocolAgreement xmlns:tp="http://www.oasis-open.org/committees/ebxml-cppa/schema/cpp-cpa-2_x.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_x.xsd
                      cpp-cpa-2_x.xsd" cpaid="uri:companyA-and-companyB-cpa" version="2_x">
	<tp:Status value="proposed"/>
	<tp:Start>2001-05-20T07:21:00Z</tp:Start>
	<tp:End>2002-05-20T07:21:00Z</tp:End>
	<tp:ConversationConstraints invocationLimit="100" concurrentConversations="10"/>
	<!-- Party info for CompanyA -->
	<tp:PartyInfo partyName="CompanyA" defaultMshChannelId="asyncChannelA1" defaultMshPackageId="CompanyA_MshSignalPackage">
		<tp:PartyId 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 version="2.0" name="PIP3A4RequestPurchaseOrder" xlink:type="simple" xlink:href="http://www.rosettanet.org/processes/3A4.xml"; uuid="urn:icann:rosettanet.org:bpid:3A4$2.0"/>
			<tp:Role name="Buyer" xlink:type="simple" xlink:href="http://www.rosettanet.org/processes/3A4.xml#Buyer"/>
			<tp:ApplicationCertificateRef certId="CompanyA_AppCert"/>
			<tp:ServiceBinding>
				<tp:Service>bpid:icann:rosettanet.org:3A4$2.0</tp:Service>
				<tp:CanSend>
					<tp:ThisPartyActionBinding id="companyA_ABID1" action="Purchase Order Request Action" packageId="CompanyA_RequestPackage">
						<tp:BusinessTransactionCharacteristics isNonRepudiationRequired="true" isNonRepudiationReceiptRequired="true" isIntelligibleCheckRequired="false" isConfidential="persistent" isTamperProof="persistent" isAuthorizationRequired="true" timeToAcknowledgeReceipt="PT2H" timeToPerform="P1D"/>
						<tp:ActionContext binaryCollaboration="Request Purchase Order" businessTransactionActivity="Request Purchase Order" requestOrResponseAction="Purchase Order Request Action"/>
						<tp:ChannelId>asyncChannelA1</tp:ChannelId>
					</tp:ThisPartyActionBinding>
					<tp:OtherPartyActionBinding>companyB_ABID4</tp:OtherPartyActionBinding>
				</tp:CanSend>
				<tp:CanSend>
					<tp:ThisPartyActionBinding id="companyA_ABID2" action="ReceiptAcknowledgement" packageId="CompanyA_ReceiptAcknowledgmentPackage">
						<tp:BusinessTransactionCharacteristics isNonRepudiationRequired="true" isNonRepudiationReceiptRequired="true" isConfidential="transient" isAuthenticated="persistent" isTamperProof="persistent" 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 id="companyA_ABID6" action="Purchase Order Request Action" packageId="CompanyA_RequestPackage">
						<tp:BusinessTransactionCharacteristics isNonRepudiationRequired="true" isNonRepudiationReceiptRequired="true" isConfidential="transient" isAuthenticated="persistent" isTamperProof="persistent" isIntelligibleCheckRequired="true" timeToAcknowledgeAcceptance="PT5M" timeToPerform="PT5M"/>
						<tp:ActionContext binaryCollaboration="Request Purchase Order" businessTransactionActivity="Request Purchase Order" requestOrResponseAction="Purchase Order Request Action"/>
						<tp:ChannelId>syncChannelA1</tp:ChannelId>
					</tp:ThisPartyActionBinding>
					<tp:OtherPartyActionBinding>companyB_ABID6</tp:OtherPartyActionBinding>
					<tp:CanReceive>
						<tp:ThisPartyActionBinding id="companyA_ABID7" action="Purchase Order Confirmation Action" packageId="CompanyA_SyncReplyPackage">
							<tp:BusinessTransactionCharacteristics isNonRepudiationRequired="true" isNonRepudiationReceiptRequired="true" isConfidential="transient" isAuthenticated="persistent" isTamperProof="persistent" isAuthorizationRequired="true" timeToAcknowledgeReceipt="PT5M"/>
							<tp:ActionContext binaryCollaboration="Request Purchase Order" businessTransactionActivity="Request Purchase Order" requestOrResponseAction="Purchase Order Confirmation Action"/>
							<tp:ChannelId>syncChannelA1</tp:ChannelId>
						</tp:ThisPartyActionBinding>
						<tp:OtherPartyActionBinding>companyB_ABID7</tp:OtherPartyActionBinding>
					</tp:CanReceive>
					<tp:CanReceive>
						<tp:ThisPartyActionBinding id="companyA_ABID8" action="Exception" packageId="CompanyA_ExceptionPackage">
							<tp:BusinessTransactionCharacteristics isNonRepudiationRequired="true" isNonRepudiationReceiptRequired="true" isConfidential="transient" isAuthenticated="persistent" isTamperProof="persistent" isAuthorizationRequired="true"/>
							<tp:ChannelId>syncChannelA1</tp:ChannelId>
						</tp:ThisPartyActionBinding>
						<tp:OtherPartyActionBinding>companyB_ABID8</tp:OtherPartyActionBinding>
					</tp:CanReceive>
				</tp:CanSend>
				<tp:CanReceive>
					<tp:ThisPartyActionBinding id="companyA_ABID3" action="Purchase Order Confirmation Action" packageId="CompanyA_ResponsePackage">
						<tp:BusinessTransactionCharacteristics isNonRepudiationRequired="true" isNonRepudiationReceiptRequired="true" isConfidential="transient" isAuthenticated="persistent" isTamperProof="persistent" isAuthorizationRequired="true" timeToAcknowledgeReceipt="PT2H"/>
						<tp:ActionContext binaryCollaboration="Request Purchase Order" businessTransactionActivity="Request Purchase Order" requestOrResponseAction="Purchase Order Confirmation Action"/>
						<tp:ChannelId>asyncChannelA1</tp:ChannelId>
					</tp:ThisPartyActionBinding>
					<tp:OtherPartyActionBinding>companyB_ABID1</tp:OtherPartyActionBinding>
				</tp:CanReceive>
				<tp:CanReceive>
					<tp:ThisPartyActionBinding id="companyA_ABID4" action="ReceiptAcknowledgment" packageId="CompanyA_ReceiptAcknowledgmentPackage">
						<tp:BusinessTransactionCharacteristics isNonRepudiationRequired="true" isNonRepudiationReceiptRequired="true" isConfidential="transient" isAuthenticated="persistent" isTamperProof="persistent" isAuthorizationRequired="true"/>
						<tp:ChannelId>asyncChannelA1</tp:ChannelId>
					</tp:ThisPartyActionBinding>
					<tp:OtherPartyActionBinding>companyB_ABID2</tp:OtherPartyActionBinding>
				</tp:CanReceive>
				<tp:CanReceive>
					<tp:ThisPartyActionBinding id="companyA_ABID5" action="Exception" packageId="CompanyA_ExceptionPackage">
						<tp:BusinessTransactionCharacteristics isNonRepudiationRequired="true" isNonRepudiationReceiptRequired="true" isTamperProof="persistent" isConfidential="transient" isAuthenticated="persistent" 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 certId="CompanyA_AppCert">
			<ds:KeyInfo>
				<ds:KeyName>CompanyA_AppCert_Key</ds:KeyName>
			</ds:KeyInfo>
		</tp:Certificate>
		<tp:Certificate certId="CompanyA_SigningCert">
			<ds:KeyInfo>
				<ds:KeyName>CompanyA_SigningCert_Key</ds:KeyName>
			</ds:KeyInfo>
		</tp:Certificate>
		<tp:Certificate certId="CompanyA_EncryptionCert">
			<ds:KeyInfo>
				<ds:KeyName>CompanyA_EncryptionCert_Key</ds:KeyName>
			</ds:KeyInfo>
		</tp:Certificate>
		<tp:Certificate certId="CompanyA_ServerCert">
			<ds:KeyInfo>
				<ds:KeyName>CompanyA_ServerCert_Key</ds:KeyName>
			</ds:KeyInfo>
		</tp:Certificate>
		<tp:Certificate certId="CompanyA_ClientCert">
			<ds:KeyInfo>
				<ds:KeyName>CompanyA_ClientCert_Key</ds:KeyName>
			</ds:KeyInfo>
		</tp:Certificate>
		<tp:Certificate certId="TrustedRootCertA1">
			<ds:KeyInfo>
				<ds:KeyName>TrustedRootCertA1_Key </ds:KeyName>
			</ds:KeyInfo>
		</tp:Certificate>
		<tp:Certificate certId="TrustedRootCertA2">
			<ds:KeyInfo>
				<ds:KeyName>TrustedRootCertA2_Key</ds:KeyName>
			</ds:KeyInfo>
		</tp:Certificate>
		<tp:Certificate certId="TrustedRootCertA3">
			<ds:KeyInfo>
				<ds:KeyName>TrustedRootCertA3_Key</ds:KeyName>
			</ds:KeyInfo>
		</tp:Certificate>
		<tp:Certificate certId="TrustedRootCertA4">
			<ds:KeyInfo>
				<ds:KeyName>TrustedRootCertA4_Key</ds:KeyName>
			</ds:KeyInfo>
		</tp:Certificate>
		<tp:Certificate certId="TrustedRootCertA5">
			<ds:KeyInfo>
				<ds:KeyName>TrustedRootCertA5_Key</ds:KeyName>
			</ds:KeyInfo>
		</tp:Certificate>
		<tp:SecurityDetails securityId="CompanyA_TransportSecurity">
			<tp:TrustAnchors>
				<tp:AnchorCertificateRef certId="TrustedRootCertA1"/>
				<tp:AnchorCertificateRef certId="TrustedRootCertA2"/>
				<tp:AnchorCertificateRef certId="TrustedRootCertA4"/>
			</tp:TrustAnchors>
		</tp:SecurityDetails>
		<tp:SecurityDetails securityId="CompanyA_MessageSecurity">
			<tp:TrustAnchors>
				<tp:AnchorCertificateRef certId="TrustedRootCertA3"/>
				<tp:AnchorCertificateRef certId="TrustedRootCertA5"/>
			</tp:TrustAnchors>
		</tp:SecurityDetails>
		<tp:DeliveryChannel channelId="asyncChannelA1" transportId="transportA1" docExchangeId="docExchangeA1">
			<tp:MessagingCharacteristics syncReplyMode="none" ackRequested="always" ackSignatureRequested="always" duplicateElimination="always"/>
		</tp:DeliveryChannel>
		<tp:DeliveryChannel channelId="syncChannelA1" transportId="transportA2" docExchangeId="docExchangeA1">
			<tp:MessagingCharacteristics syncReplyMode="signalsAndResponse" ackRequested="always" ackSignatureRequested="always" duplicateElimination="always"/>
		</tp:DeliveryChannel>
		<tp:Transport transportId="transportA1">
			<tp:TransportSender>
				<tp:TransportProtocol version="1.1">HTTP</tp:TransportProtocol>
				<tp:AccessAuthentication>basic</tp:AccessAuthentication>
				<tp:TransportClientSecurity>
					<tp:TransportSecurityProtocol version="3.0">SSL</tp:TransportSecurityProtocol>
					<tp:ClientCertificateRef certId="CompanyA_ClientCert"/>
					<tp:ServerSecurityDetailsRef securityId="CompanyA_TransportSecurity"/>
				</tp:TransportClientSecurity>
			</tp:TransportSender>
			<tp:TransportReceiver>
				<tp:TransportProtocol version="1.1">HTTP</tp:TransportProtocol>
				<tp:AccessAuthentication>basic</tp:AccessAuthentication>
				<tp:Endpoint uri="https://www.CompanyA.com/servlets/ebxmlhandler/async"; type="allPurpose"/>
				<tp:TransportServerSecurity>
					<tp:TransportSecurityProtocol version="3.0">SSL</tp:TransportSecurityProtocol>
					<tp:ServerCertificateRef certId="CompanyA_ServerCert"/>
					<tp:ClientSecurityDetailsRef securityId="CompanyA_TransportSecurity"/>
				</tp:TransportServerSecurity>
			</tp:TransportReceiver>
		</tp:Transport>
		<tp:Transport transportId="transportA2">
			<tp:TransportSender>
				<tp:TransportProtocol version="1.1">HTTP</tp:TransportProtocol>
				<tp:AccessAuthentication>basic</tp:AccessAuthentication>
				<tp:TransportClientSecurity>
					<tp:TransportSecurityProtocol version="3.0">SSL</tp:TransportSecurityProtocol>
					<tp:ClientCertificateRef certId="CompanyA_ClientCert"/>
					<tp:ServerSecurityDetailsRef securityId="CompanyA_TransportSecurity"/>
				</tp:TransportClientSecurity>
			</tp:TransportSender>
			<tp:TransportReceiver>
				<tp:TransportProtocol version="1.1">HTTP</tp:TransportProtocol>
				<tp:AccessAuthentication>basic</tp:AccessAuthentication>
				<tp:Endpoint uri="https://www.CompanyA.com/servlets/ebxmlhandler/sync"; type="allPurpose"/>
				<tp:TransportServerSecurity>
					<tp:TransportSecurityProtocol version="3.0">SSL</tp:TransportSecurityProtocol>
					<tp:ServerCertificateRef certId="CompanyA_ServerCert"/>
					<tp:ClientSecurityDetailsRef securityId="CompanyA_TransportSecurity"/>
				</tp:TransportServerSecurity>
			</tp:TransportReceiver>
		</tp:Transport>
		<tp:DocExchange docExchangeId="docExchangeA1">
			<tp:ebXMLSenderBinding 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 certId="CompanyA_SigningCert"/>
				</tp:SenderNonRepudiation>
				<tp:SenderDigitalEnvelope>
					<tp:DigitalEnvelopeProtocol version="2.0">S/MIME</tp:DigitalEnvelopeProtocol>
					<tp:EncryptionAlgorithm>DES-CBC</tp:EncryptionAlgorithm>
					<tp:EncryptionSecurityDetailsRef securityId="CompanyA_MessageSecurity"/>
				</tp:SenderDigitalEnvelope>
			</tp:ebXMLSenderBinding>
			<tp:ebXMLReceiverBinding 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 securityId="CompanyA_MessageSecurity"/>
				</tp:ReceiverNonRepudiation>
				<tp:ReceiverDigitalEnvelope>
					<tp:DigitalEnvelopeProtocol version="2.0">S/MIME</tp:DigitalEnvelopeProtocol>
					<tp:EncryptionAlgorithm>DES-CBC</tp:EncryptionAlgorithm>
					<tp:EncryptionCertificateRef certId="CompanyA_EncryptionCert"/>
				</tp:ReceiverDigitalEnvelope>
			</tp:ebXMLReceiverBinding>
		</tp:DocExchange>
	</tp:PartyInfo>
	<!-- Party info for CompanyB -->
	<tp:PartyInfo partyName="CompanyB" defaultMshChannelId="asyncChannelB1" defaultMshPackageId="CompanyB_MshSignalPackage">
		<tp:PartyId type="urn:oasis:names:tc:ebxml-cppa:partyid-type:duns">987654321</tp:PartyId>
		<tp:PartyRef xlink:type="simple" xlink:href="http://CompanyB.com/about.html"/>
		<tp:CollaborationRole>
			<tp:ProcessSpecification version="2.0" name="PIP3A4RequestPurchaseOrder" xlink:type="simple" xlink:href="http://www.rosettanet.org/processes/3A4.xml"; uuid="urn:icann:rosettanet.org:bpid:3A4$2.0"/>
			<tp:Role name="Seller" xlink:type="simple" xlink:href="http://www.rosettanet.org/processes/3A4.xml#seller"/>
			<tp:ApplicationCertificateRef certId="CompanyB_AppCert"/>
			<tp:ServiceBinding>
				<tp:Service>bpid:icann:rosettanet.org:3A4$2.0</tp:Service>
				<tp:CanSend>
					<tp:ThisPartyActionBinding id="companyB_ABID1" action="Purchase Order Confirmation Action" packageId="CompanyB_ResponsePackage">
						<tp:BusinessTransactionCharacteristics isNonRepudiationRequired="true" isNonRepudiationReceiptRequired="true" isConfidential="transient" isAuthenticated="persistent" isTamperProof="persistent" isAuthorizationRequired="true" timeToAcknowledgeReceipt="PT2H"/>
						<tp:ActionContext binaryCollaboration="Request Purchase Order" businessTransactionActivity="Request Purchase Order" requestOrResponseAction="Purchase Order Confirmation Action"/>
						<tp:ChannelId>asyncChannelB1</tp:ChannelId>
					</tp:ThisPartyActionBinding>
					<tp:OtherPartyActionBinding>companyA_ABID3</tp:OtherPartyActionBinding>
				</tp:CanSend>
				<tp:CanSend>
					<tp:ThisPartyActionBinding id="companyB_ABID2" action="ReceiptAcknowledgement" packageId="CompanyB_ReceiptAcknowledgmentPackage">
						<tp:BusinessTransactionCharacteristics isNonRepudiationRequired="true" isNonRepudiationReceiptRequired="true" isConfidential="transient" isAuthenticated="persistent" isTamperProof="persistent" isAuthorizationRequired="true"/>
						<tp:ChannelId>asyncChannelB1</tp:ChannelId>
					</tp:ThisPartyActionBinding>
					<tp:OtherPartyActionBinding>companyA_ABID4</tp:OtherPartyActionBinding>
				</tp:CanSend>
				<tp:CanSend>
					<tp:ThisPartyActionBinding id="companyB_ABID3" action="Exception" packageId="CompanyB_ExceptionPackage">
						<tp:BusinessTransactionCharacteristics isNonRepudiationRequired="true" isNonRepudiationReceiptRequired="true" isConfidential="transient" isAuthenticated="persistent" isTamperProof="persistent" isAuthorizationRequired="true"/>
						<tp:ChannelId>asyncChannelB1</tp:ChannelId>
					</tp:ThisPartyActionBinding>
					<tp:OtherPartyActionBinding>companyA_ABID5</tp:OtherPartyActionBinding>
				</tp:CanSend>
				<tp:CanReceive>
					<tp:ThisPartyActionBinding id="companyB_ABID4" action="Purchase Order Request Action" packageId="CompanyB_RequestPackage">
						<tp:BusinessTransactionCharacteristics isNonRepudiationRequired="true" isNonRepudiationReceiptRequired="true" isConfidential="transient" isAuthenticated="persistent" isTamperProof="persistent" isAuthorizationRequired="true" timeToAcknowledgeReceipt="PT2H" timeToPerform="P1D"/>
						<tp:ActionContext binaryCollaboration="Request Purchase Order" businessTransactionActivity="Request Purchase Order" requestOrResponseAction="Purchase Order Request Action"/>
						<tp:ChannelId>asyncChannelB1</tp:ChannelId>
					</tp:ThisPartyActionBinding>
					<tp:OtherPartyActionBinding>companyA_ABID1</tp:OtherPartyActionBinding>
				</tp:CanReceive>
				<tp:CanReceive>
					<tp:ThisPartyActionBinding id="companyB_ABID5" action="ReceiptAcknowledgment" packageId="CompanyB_ReceiptAcknowledgmentPackage">
						<tp:BusinessTransactionCharacteristics isNonRepudiationRequired="true" isNonRepudiationReceiptRequired="true" isConfidential="transient" isAuthenticated="persistent" isTamperProof="persistent" 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 id="companyB_ABID6" action="Purchase Order Request Action" packageId="CompanyB_RequestPackage">
						<tp:BusinessTransactionCharacteristics isNonRepudiationRequired="true" isNonRepudiationReceiptRequired="true" isConfidential="transient" isAuthenticated="persistent" isTamperProof="persistent" isAuthorizationRequired="true" timeToAcknowledgeReceipt="PT5M" timeToPerform="PT5M"/>
						<tp:ActionContext binaryCollaboration="Request Purchase Order" businessTransactionActivity="Request Purchase Order" requestOrResponseAction="Purchase Order Request Action"/>
						<tp:ChannelId>syncChannelB1</tp:ChannelId>
					</tp:ThisPartyActionBinding>
					<tp:OtherPartyActionBinding>companyA_ABID6</tp:OtherPartyActionBinding>
					<tp:CanSend>
						<tp:ThisPartyActionBinding id="companyB_ABID7" action="Purchase Order Confirmation Action" packageId="CompanyB_SyncReplyPackage">
							<tp:BusinessTransactionCharacteristics isNonRepudiationRequired="true" isNonRepudiationReceiptRequired="true" isConfidential="transient" isAuthenticated="persistent" isTamperProof="persistent" isAuthorizationRequired="true" timeToAcknowledgeReceipt="PT5M"/>
							<tp:ActionContext binaryCollaboration="Request Purchase Order" businessTransactionActivity="Request Purchase Order" requestOrResponseAction="Purchase Order Confirmation Action"/>
							<tp:ChannelId>syncChannelB1</tp:ChannelId>
						</tp:ThisPartyActionBinding>
						<tp:OtherPartyActionBinding>companyA_ABID7</tp:OtherPartyActionBinding>
					</tp:CanSend>
					<tp:CanSend>
						<tp:ThisPartyActionBinding id="companyB_ABID8" action="Exception" packageId="CompanyB_ExceptionPackage">
							<tp:BusinessTransactionCharacteristics isNonRepudiationRequired="true" isNonRepudiationReceiptRequired="true" isConfidential="transient" isAuthenticated="persistent" isTamperProof="persistent" 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 certId="CompanyB_AppCert">
			<ds:KeyInfo>
				<ds:KeyName>CompanyB_AppCert_Key</ds:KeyName>
			</ds:KeyInfo>
		</tp:Certificate>
		<tp:Certificate certId="CompanyB_SigningCert">
			<ds:KeyInfo>
				<ds:KeyName>CompanyB_Signingcert_Key</ds:KeyName>
			</ds:KeyInfo>
		</tp:Certificate>
		<tp:Certificate certId="CompanyB_EncryptionCert">
			<ds:KeyInfo>
				<ds:KeyName>CompanyB_EncryptionCert_Key</ds:KeyName>
			</ds:KeyInfo>
		</tp:Certificate>
		<tp:Certificate certId="CompanyB_ServerCert">
			<ds:KeyInfo>
				<ds:KeyName>CompanyB_ServerCert_Key</ds:KeyName>
			</ds:KeyInfo>
		</tp:Certificate>
		<tp:Certificate certId="CompanyB_ClientCert">
			<ds:KeyInfo>
				<ds:KeyName>CompanyB_ClientCert_Key</ds:KeyName>
			</ds:KeyInfo>
		</tp:Certificate>
		<tp:Certificate certId="TrustedRootCertB4">
			<ds:KeyInfo>
				<ds:KeyName>TrustedRootCertB4_Key</ds:KeyName>
			</ds:KeyInfo>
		</tp:Certificate>
		<tp:Certificate certId="TrustedRootCertB5">
			<ds:KeyInfo>
				<ds:KeyName>TrustedRootCertB5_Key</ds:KeyName>
			</ds:KeyInfo>
		</tp:Certificate>
		<tp:Certificate certId="TrustedRootCertB6">
			<ds:KeyInfo>
				<ds:KeyName>TrustedRootCertB6_Key</ds:KeyName>
			</ds:KeyInfo>
		</tp:Certificate>
		<tp:Certificate certId="TrustedRootCertB7">
			<ds:KeyInfo>
				<ds:KeyName>TrustedRootCertB7_Key</ds:KeyName>
			</ds:KeyInfo>
		</tp:Certificate>
		<tp:Certificate certId="TrustedRootCertB8">
			<ds:KeyInfo>
				<ds:KeyName>TrustedRootCertB8_Key</ds:KeyName>
			</ds:KeyInfo>
		</tp:Certificate>
		<tp:SecurityDetails securityId="CompanyB_TransportSecurity">
			<tp:TrustAnchors>
				<tp:AnchorCertificateRef certId="TrustedRootCertB5"/>
				<tp:AnchorCertificateRef certId="TrustedRootCertB6"/>
				<tp:AnchorCertificateRef certId="TrustedRootCertB4"/>
			</tp:TrustAnchors>
		</tp:SecurityDetails>
		<tp:SecurityDetails securityId="CompanyB_MessageSecurity">
			<tp:TrustAnchors>
				<tp:AnchorCertificateRef certId="TrustedRootCertB8"/>
				<tp:AnchorCertificateRef certId="TrustedRootCertB7"/>
			</tp:TrustAnchors>
		</tp:SecurityDetails>
		<!-- An asynchronous delivery channel -->
		<tp:DeliveryChannel channelId="asyncChannelB1" transportId="transportB1" docExchangeId="docExchangeB1">
			<tp:MessagingCharacteristics syncReplyMode="none" ackRequested="always" ackSignatureRequested="always" duplicateElimination="always"/>
		</tp:DeliveryChannel>
		<!-- A synchronous delivery channel -->
		<tp:DeliveryChannel channelId="syncChannelB1" transportId="transportB2" docExchangeId="docExchangeB1">
			<tp:MessagingCharacteristics syncReplyMode="signalsAndResponse" ackRequested="always" ackSignatureRequested="always" duplicateElimination="always"/>
		</tp:DeliveryChannel>
		<tp:Transport transportId="transportB1">
			<tp:TransportSender>
				<tp:TransportProtocol version="1.1">HTTP</tp:TransportProtocol>
				<tp:AccessAuthentication>basic</tp:AccessAuthentication>
				<tp:TransportClientSecurity>
					<tp:TransportSecurityProtocol version="3.0">SSL</tp:TransportSecurityProtocol>
					<tp:ClientCertificateRef certId="CompanyB_ClientCert"/>
					<tp:ServerSecurityDetailsRef securityId="CompanyB_TransportSecurity"/>
				</tp:TransportClientSecurity>
			</tp:TransportSender>
			<tp:TransportReceiver>
				<tp:TransportProtocol version="1.1">HTTP</tp:TransportProtocol>
				<tp:AccessAuthentication>basic</tp:AccessAuthentication>
				<tp:Endpoint uri="https://www.CompanyB.com/servlets/ebxmlhandler/async"; type="allPurpose"/>
				<tp:TransportServerSecurity>
					<tp:TransportSecurityProtocol version="3.0">SSL</tp:TransportSecurityProtocol>
					<tp:ServerCertificateRef certId="CompanyB_ServerCert"/>
					<tp:ClientSecurityDetailsRef securityId="CompanyB_TransportSecurity"/>
				</tp:TransportServerSecurity>
			</tp:TransportReceiver>
		</tp:Transport>
		<tp:Transport transportId="transportB2">
			<tp:TransportSender>
				<tp:TransportProtocol version="1.1">HTTP</tp:TransportProtocol>
				<tp:AccessAuthentication>basic</tp:AccessAuthentication>
				<tp:TransportClientSecurity>
					<tp:TransportSecurityProtocol version="3.0">SSL</tp:TransportSecurityProtocol>
					<tp:ClientCertificateRef certId="CompanyB_ClientCert"/>
					<tp:ServerSecurityDetailsRef securityId="CompanyB_TransportSecurity"/>
				</tp:TransportClientSecurity>
			</tp:TransportSender>
			<tp:TransportReceiver>
				<tp:TransportProtocol version="1.1">HTTP</tp:TransportProtocol>
				<tp:AccessAuthentication>basic</tp:AccessAuthentication>
				<tp:Endpoint uri="https://www.CompanyB.com/servlets/ebxmlhandler/sync"; type="allPurpose"/>
				<tp:TransportServerSecurity>
					<tp:TransportSecurityProtocol version="3.0">SSL</tp:TransportSecurityProtocol>
					<tp:ServerCertificateRef certId="CompanyB_ServerCert"/>
					<tp:ClientSecurityDetailsRef securityId="CompanyB_TransportSecurity"/>
				</tp:TransportServerSecurity>
			</tp:TransportReceiver>
		</tp:Transport>
		<tp:DocExchange docExchangeId="docExchangeB1">
			<tp:ebXMLSenderBinding 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 certId="CompanyB_SigningCert"/>
				</tp:SenderNonRepudiation>
				<tp:SenderDigitalEnvelope>
					<tp:DigitalEnvelopeProtocol version="2.0">S/MIME</tp:DigitalEnvelopeProtocol>
					<tp:EncryptionAlgorithm>DES-CBC</tp:EncryptionAlgorithm>
					<tp:EncryptionSecurityDetailsRef securityId="CompanyB_MessageSecurity"/>
				</tp:SenderDigitalEnvelope>
			</tp:ebXMLSenderBinding>
			<tp:ebXMLReceiverBinding 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 securityId="CompanyB_MessageSecurity"/>
				</tp:ReceiverNonRepudiation>
				<tp:ReceiverDigitalEnvelope>
					<tp:DigitalEnvelopeProtocol version="2.0">S/MIME</tp:DigitalEnvelopeProtocol>
					<tp:EncryptionAlgorithm>DES-CBC</tp:EncryptionAlgorithm>
					<tp:EncryptionCertificateRef certId="CompanyB_EncryptionCert"/>
				</tp:ReceiverDigitalEnvelope>
			</tp:ebXMLReceiverBinding>
		</tp:DocExchange>
	</tp:PartyInfo>
	<!-- SimplePart corresponding to the SOAP Envelope -->
	<tp:SimplePart id="CompanyA_MsgHdr" mimetype="text/xml">
		<tp: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
  </tp:NamespaceSupported>
	</tp:SimplePart>
	<tp:SimplePart id="CompanyB_MsgHdr" mimetype="text/xml">
		<tp: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
  </tp:NamespaceSupported>
	</tp:SimplePart>
	<!-- SimplePart corresponding to a Receipt Acknowledgment business signal -->
	<tp:SimplePart id="CompanyA_ReceiptAcknowledgment" mimetype="application/xml">
		<tp:NamespaceSupported location="http://www.ebxml.org/bpss/ReceiptAcknowledgment.xsd"; version="2.0">http://www.ebxml.org/bpss/ReceiptAcknowledgment.xsd
    </tp:NamespaceSupported>
	</tp:SimplePart>
	<tp:SimplePart id="CompanyB_ReceiptAcknowledgment" mimetype="application/xml">
		<tp:NamespaceSupported location="http://www.ebxml.org/bpss/ReceiptAcknowledgment.xsd"; version="2.0">
      http://www.ebxml.org/bpss/ReceiptAcknowledgment.xsd
    </tp:NamespaceSupported>
	</tp:SimplePart>
	<!-- SimplePart corresponding to an Exception business signal -->
	<tp:SimplePart id="CompanyA_Exception" mimetype="application/xml">
		<tp:NamespaceSupported location="http://www.oasis-open.org/committees/ebxml-msg/schema/msg-header-2_0.xsd"; version="2.0">
      http://www.ebxml.org/bpss/Exception.xsd
    </tp:NamespaceSupported>
	</tp:SimplePart>
	<tp:SimplePart id="CompanyB_Exception" mimetype="application/xml">
		<tp:NamespaceSupported location="http://www.oasis-open.org/committees/ebxml-msg/schema/msg-header-2_0.xsd"; version="2.0">
      http://www.ebxml.org/bpss/Exception.xsd
    </tp:NamespaceSupported>
	</tp:SimplePart>
	<!-- SimplePart corresponding to a request action -->
	<tp:SimplePart id="CompanyA_Request" mimetype="application/xml">
		<tp:NamespaceSupported location="http://www.rosettanet.org/schemas/PIP3A4RequestPurchaseOrder.xsd"; version="1.0">
      http://www.rosettanet.org/schemas/PIP3A4RequestPurchaseOrder.xsd
    </tp:NamespaceSupported>
	</tp:SimplePart>
	<tp:SimplePart id="CompanyB_Request" mimetype="application/xml">
		<tp:NamespaceSupported location="http://www.rosettanet.org/schemas/PIP3A4RequestPurchaseOrder.xsd"; version="1.0">
      http://www.rosettanet.org/schemas/PIP3A4RequestPurchaseOrder.xsd
    </tp:NamespaceSupported>
	</tp:SimplePart>
	<!-- SimplePart corresponding to a response action -->
	<tp:SimplePart id="CompanyA_Response" mimetype="application/xml">
		<tp:NamespaceSupported location="http://www.rosettanet.org/schemas/PurchaseOrderConfirmation.xsd"; version="1.0">
      http://www.rosettanet.org/schemas/PIP3A4PurchaseOrderConfirmation.xsd
    </tp:NamespaceSupported>
	</tp:SimplePart>
	<tp:SimplePart id="CompanyB_Response" mimetype="application/xml">
		<tp:NamespaceSupported location="http://www.rosettanet.org/schemas/PurchaseOrderConfirmation.xsd"; version="1.0">
      http://www.rosettanet.org/schemas/PIP3A4PurchaseOrderConfirmation.xsd
    </tp:NamespaceSupported>
	</tp:SimplePart>
	<!-- An ebXML message with a SOAP Envelope only -->
	<tp:Packaging id="CompanyA_MshSignalPackage">
		<tp:ProcessingCapabilities parse="true" generate="true"/>
		<tp:CompositeList>
			<tp:Composite id="CompanyA_MshSignal" mimetype="multipart/related" mimeparameters="type=text/xml">
				<tp:Constituent idref="CompanyA_MsgHdr"/>
			</tp:Composite>
		</tp:CompositeList>
	</tp:Packaging>
	<tp:Packaging id="CompanyB_MshSignalPackage">
		<tp:ProcessingCapabilities parse="true" generate="true"/>
		<tp:CompositeList>
			<tp:Composite id="CompanyB_MshSignal" mimetype="multipart/related" mimeparameters="type=text/xml">
				<tp:Constituent idref="CompanyB_MsgHdr"/>
			</tp:Composite>
		</tp:CompositeList>
	</tp:Packaging>
	<!-- An ebXML message with a SOAP Envelope plus a request action payload -->
	<tp:Packaging id="CompanyA_RequestPackage">
		<tp:ProcessingCapabilities parse="true" generate="true"/>
		<tp:CompositeList>
			<tp:Composite id="CompanyA_RequestMsg" mimetype="multipart/related" mimeparameters="type=text/xml">
				<tp:Constituent idref="CompanyA_MsgHdr"/>
				<tp:Constituent idref="CompanyA_Request"/>
			</tp:Composite>
		</tp:CompositeList>
	</tp:Packaging>
	<tp:Packaging id="CompanyB_RequestPackage">
		<tp:ProcessingCapabilities parse="true" generate="true"/>
		<tp:CompositeList>
			<tp:Composite id="CompanyB_RequestMsg" mimetype="multipart/related" mimeparameters="type=text/xml">
				<tp:Constituent idref="CompanyB_MsgHdr"/>
				<tp:Constituent idref="CompanyB_Request"/>
			</tp:Composite>
		</tp:CompositeList>
	</tp:Packaging>
	<!-- An ebXML message with a SOAP Envelope plus a response action payload -->
	<tp:Packaging id="CompanyA_ResponsePackage">
		<tp:ProcessingCapabilities parse="true" generate="true"/>
		<tp:CompositeList>
			<tp:Composite id="CompanyA_ResponseMsg" mimetype="multipart/related" mimeparameters="type=text/xml">
				<tp:Constituent idref="CompanyA_MsgHdr"/>
				<tp:Constituent idref="CompanyA_Response"/>
			</tp:Composite>
		</tp:CompositeList>
	</tp:Packaging>
	<tp:Packaging id="CompanyB_ResponsePackage">
		<tp:ProcessingCapabilities parse="true" generate="true"/>
		<tp:CompositeList>
			<tp:Composite id="CompanyB_ResponseMsg" mimetype="multipart/related" mimeparameters="type=text/xml">
				<tp:Constituent idref="CompanyB_MsgHdr"/>
				<tp:Constituent idref="CompanyB_Response"/>
			</tp:Composite>
		</tp:CompositeList>
	</tp:Packaging>
	<!-- An ebXML message with a SOAP Envelope plus a Receipt Acknowledgment payload -->
	<tp:Packaging id="CompanyA_ReceiptAcknowledgmentPackage">
		<tp:ProcessingCapabilities parse="true" generate="true"/>
		<tp:CompositeList>
			<tp:Composite id="CompanyA_ReceiptAcknowledgmentMsg" mimetype="multipart/related" mimeparameters="type=text/xml">
				<tp:Constituent idref="CompanyA_MsgHdr"/>
				<tp:Constituent idref="CompanyA_ReceiptAcknowledgment"/>
			</tp:Composite>
		</tp:CompositeList>
	</tp:Packaging>
	<tp:Packaging id="CompanyB_ReceiptAcknowledgmentPackage">
		<tp:ProcessingCapabilities parse="true" generate="true"/>
		<tp:CompositeList>
			<tp:Composite id="CompanyB_ReceiptAcknowledgmentMsg" mimetype="multipart/related" mimeparameters="type=text/xml">
				<tp:Constituent idref="CompanyB_MsgHdr"/>
				<tp:Constituent idref="CompanyB_ReceiptAcknowledgment"/>
			</tp:Composite>
		</tp:CompositeList>
	</tp:Packaging>
	<!-- An ebXML message with a SOAP Envelope plus an Exception payload -->
	<tp:Packaging id="CompanyA_ExceptionPackage">
		<tp:ProcessingCapabilities parse="true" generate="true"/>
		<tp:CompositeList>
			<tp:Composite id="CompanyA_ExceptionMsg" mimetype="multipart/related" mimeparameters="type=text/xml">
				<tp:Constituent idref="CompanyA_MsgHdr"/>
				<tp:Constituent idref="CompanyA_Exception"/>
			</tp:Composite>
		</tp:CompositeList>
	</tp:Packaging>
	<tp:Packaging id="CompanyB_ExceptionPackage">
		<tp:ProcessingCapabilities parse="true" generate="true"/>
		<tp:CompositeList>
			<tp:Composite id="CompanyB_ExceptionMsg" mimetype="multipart/related" mimeparameters="type=text/xml">
				<tp:Constituent idref="CompanyB_MsgHdr"/>
				<tp:Constituent 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 id="CompanyA_SyncReplyPackage">
		<tp:ProcessingCapabilities parse="true" generate="true"/>
		<tp:CompositeList>
			<tp:Composite id="CompanyA_SignalAndResponseMsg" mimetype="multipart/related" mimeparameters="type=text/xml">
				<tp:Constituent idref="CompanyA_MsgHdr"/>
				<tp:Constituent idref="CompanyA_ReceiptAcknowledgment"/>
				<tp:Constituent idref="CompanyA_Response"/>
			</tp:Composite>
		</tp:CompositeList>
	</tp:Packaging>
	<tp:Packaging id="CompanyB_SyncReplyPackage">
		<tp:ProcessingCapabilities parse="true" generate="true"/>
		<tp:CompositeList>
			<tp:Composite id="CompanyB_SignalAndResponseMsg" mimetype="multipart/related" mimeparameters="type=text/xml">
				<tp:Constituent idref="CompanyB_MsgHdr"/>
				<tp:Constituent idref="CompanyB_ReceiptAcknowledgment"/>
				<tp:Constituent 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>

cpp-cpa-2_x.xsd

Title: [ebxml-cppa] Issues pertaining to CPPA extensibility.

ebxml-cppa message

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


Subject: [ebxml-cppa] Issues pertaining to CPPA extensibility.


Title: Message

At the end of changes for version 2.0 of the CPPA core specification, a number of issues pertaining to extensibility were deferred.

Going forward, in addition to fixing known smaller issues and editorial snafus in the specifications, we want to see whether we can decide how the CPP and CPAs can be extended to cover new collaboration features, both in the BP area as well as in Messaging/Security.

One method for adding extensibility is by making use of substitution groups. To do this, we need to agree upon a process for considering changes.

Here is a draft of a possible process: 

 

First,  identify candidate elements for extensibility.

Second, decide whether the current element (supposing it has a complexType, and many/most do) should be given a standard conversion (retaining the complexType of the current element as the complexType of the "head" of the substitution group) or whether the current complexType for the element should become an extension of the complexType of the substitution group "head".  [ Logically we could also ask whether the current complexType for the element should become a restriction of the complexType of the substitution group "head" -- I am uncertain whether there are use cases for this alternative, however.]

 

Third, decide on any new complex types that we will then extend into our version 2.0 types and insert  “head” elements for the substitution group..

 

An example may help illustrate what can be done for a standard conversion. Here is what we currently have for the element { ProcessSpecification}.

 

<element name="ProcessSpecification">

<complexType>

<sequence>

<element ref="ds:Reference" minOccurs="0" maxOccurs="unbounded"/>

</sequence>

<attribute name="name" type="tns:non-empty-string" use="required"/>

<attribute ref="tns:version" use="required"/>

<attributeGroup ref="tns:xlink.grp"/>

<attribute name="uuid" type="anyURI"/>

</complexType>

</element>

A standard conversion would refactor this to obtain something like:

 

<element name="ProcessSpecification.head" type="tns:ProcessSpecification.type" abstract="true"/>

<element name="ProcessSpecification" substitutionGroup="tns:ProcessSpecification.head"/>

<complexType name="ProcessSpecification.type">

<sequence>

<element ref="ds:Reference" minOccurs="0" maxOccurs="unbounded"/>

</sequence>

<attribute name="name" type="tns:non-empty-string" use="required"/>

<attribute ref="tns:version" use="required"/>

<attributeGroup ref="tns:xlink.grp"/>

<attribute name="uuid" type="anyURI"/>

</complexType>

 

New elements could then be declared that could extend (or restrict) the  ProcessSpecification.type.

If  we are planning to allow alternative elements that do not preserve much of current structure, it's better to create a new minimal complex type, and do the current complex type as a substitution group that extends the type  of the head element of the substitution group.

 

Here is a table I have started to track high level requirements. If we proceed along this path, TC members should provide their views on where we should introduce the substitution groups, and what tactic we should take. If you consider sticking in pointers to wsdl:porttype definitios, where should they go? Should we just have pointers or allow in-lining wsdl:porttypes, messages, parts, types, etc. For wsdl:bindings that are SOAP bindings, should they go under DocExchange? How would you like to see the refactoring work? Also, consider using choreography languages with more complexity than the basic wsdl MEPs Should other messaging approaches be captured? EDIINT, RNIF, and so on... We need both candidates for substitution group extensibility and use case motivation for the approach we adopt. I hope this chart can maybe get you thinking about what should be done and where, and then follow up on this approach in San Diego. Also if anyone finds a good tutorial on substitution groups that they would recommend to the TC, please post one. [ I have found examples using the search engines, but not much discussing design alternatives and tradeoffs.]

Candidate

Head element added

Version 2.0 is  Restriction/Extension

New complexType needed

ProcessSpecification

Y

 Y

Service

Y

 Y

Protocol

Y

CollaborationRole

Y

 Y

Yes

ActionContext

Y

 Y

 Yes

Transport

Y

 Y

DocExchange

Y

 Y

 Yes

ServiceBinding

Y

 Y

Yes

 Yes

Packaging

Y

 Y

SimplePart

Y

 Y

CanSend

?

CanReceive

?

MessagingCharacteristics

Y

 Y

BusinessCharacteristics

Y

 Y

SecurityDetails

Y

 Y

DeliveryChannel

Y

 Y

CPP

N

 N

CPA

N

 N



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

Search: this monththis yearthis elist Match: allanyboolean Sort by: scoredatereverse scorereverse date
Words: | Help


Powered by eList eXpress LLC



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