CPA内で用いられるIDのうち、CPA-IDやParty-IDについてはebMSシステム内で一意になる必要があります。
CPA-ID
CollaborationProtocolAgreement要素のcpaid属性に設定される値です。CPAそのものを識別するIDになります。
Party-ID
PartyInfo/PartyId要素に設定される値です。取引当事者であるPartyを識別するIDになります。また、ebMSでは受信チャネルとParty-IDが関連付けられており、EndpointのURLを複数作成しなくても、Party-IDを分けることによって受信チャネルを振り分けることが可能です。
一般的にParty-IDには、企業名やDUNSナンバー、企業のURLなどを利用します。どのような種類のIDを用いたかをtype属性に記述することができます。type属性に記述する値は、当事者間で合意が取れていればどのような値でも問題ありません。ここでは、type=”Name”として、一方を“FUJITSU_LIMITED”、もう一方を“ebXML_Trader”とします。
CPA-IDには、一意性が十分であり、かつどのような内容のCPAであるかがある程度想像できる文字列を用いることが望ましいと考えられます。ここでは、Party-IDと日付を利用して、“FUJITSU_LIMITED-ebXML_Trader-20030115”というIDにします。
<?xml version="1.0" encoding="UTF-8"?>
<tp:CollaborationProtocolAgreement
xmlns:tp="http://www.oasis-open.org/committees/ebxml-cppa/schema/cpp-cpa-2_0.xsd"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
xmlns:xlink="http://www.w3.org/1999/xlink"
tp:cpaid="FUJITSU_LIMITED-ebXML_Trader-20030115">
<tp:Status tp:value="agreed"/>
<tp:Start>2003-01-01T00:00:00Z</tp:Start>
<tp:End>2005-12-31T23:59:59Z</tp:End>
<tp:PartyInfo
tp:defaultMshChannelId=""
tp:defaultMshPackageId="">
<tp:PartyId tp:type=”Name”>FUJITSU_LIMITED</tp:PartyId>
</tp:PartyInfo>
<tp:PartyInfo
tp:defaultMshChannelId=""
tp:defaultMshPackageId="">
<tp:PartyId tp:type=”Name”>ebXML_Trader</tp:PartyId>
</tp:PartyInfo>
</tp:CollaborationProtocolAgreement>