ebMSで用いるCPAの要素の階層構造は、以下のようになっています。これらの要素について、要素ごとに記述条件を示します。
CollaborationProtocolAgreement Status Start End PartyInfo PartyId CollaborationRole Role ServiceBinding Service CanSend ThisPartyActionBinding BusinessTransactionCharacteristics ChannelId OtherPartyActionBinding CanReceive ThisPartyActionBinding BusinessTransactionCharacteristics ChannelId OtherPartyActionBinding Certificate ds:KeyInfo ds:KeyName 証明書関連要素 DeliveryChannel MessagingCharacteristics Transport TransportSender TransportProtocol TransportReceiver TransportProtocol Endpoint DocExchange ebXMLSenderBinding ReliableMessaging Retries RetryInterval MessageOrderSemantics PersistDuration SenderNonRepudiation NonRepudiationProtocol HashFunction SignatureAlgorithm SigningCertificateRef ebXMLReceiverBinding ReliableMessaging Retries RetryInterval MessageOrderSemantics PersistDuration ReceiverNonRepudiation NonRepudiationProtocol HashFunction SignatureAlgorithm OverrideMshActionBinding Packaging
CollaborationProtocolAgreement | |||
---|---|---|---|
名称 | 値(属性,値)・内容(要素) | 出現数 | |
属性 | xmlns:tp | [固定文字列] | 1 |
xmlns:ds | [固定文字列] | 1 | |
xmlns:xlink | [固定文字列] | 1 | |
cpaid | [自由文字列(CPA識別パラメタとして利用)] | 1 | |
子要素 | Status | CPAの交渉状態 | 1 |
Start | CPAの開始時刻 | 1 | |
End | CPAの終了時刻 | 1 | |
PartyInfo | 取引当事者の情報 | 2 | |
Packaging | パッケージング情報 | 1~複 |
CollaborationProtocolAgreement要素と配下の子要素および子属性すべて(ds:指定があるものを除く)はCPA名前空間に属している必要があります(接頭辞としてtp:をつける)。
ebmscparegister, ebmscpadelete, ebmscparefer, ebmscpaprintの各コマンドでCPA-IDとして、また、通信パラメタのCPAIdとして利用します。詳細は“6.2 データ形式”および“リファレンスマニュアル(コマンド編)”の“ebmscparegister”、“ebmscpadelete”、“ebmscparefer”、“ebmscpaprint”を参照してください。
必須項目以外の名前空間宣言に関しては、ebMSがその記述内容を参照・利用することはありませんが、宣言の無い名前空間接頭辞がXML文書中に現れると処理時にエラーとなるため、CPA内で用いた接頭辞の分は名前空間宣言を行う必要があります。
ConversationConstraintsに関する機能はebMSでサポートしていません。
Signatureが記述されている場合でも、ebMSのレベルでは認証作業を行いません。
CommentはebMSの動作に影響しません。
<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=”PartyA-PartyB:CPA001”> <tp:Status>…</tp:Status> <tp:Start>…</tp:Start> <tp:End>…</tp:End> <tp:PartyInfo>…</tp:PartyInfo> <tp:PartyInfo>…</tp:PartyInfo> <tp:Packaging>…</tp:Packaging> </tp:CollaborationProtocolAgreement>
CollaborationProtocolAgreement/Status | |||
---|---|---|---|
| 名称 | 値(属性,値)・内容(要素) | 出現数 |
属性 | value | [選択文字列] | 1 |
CPAの登録には、agreedかsignedのStatusが必要となります。
<tp:Status tp:value=”agreed”/>
CollaborationProtocolAgreement/Start | |||
---|---|---|---|
| 名称 | 値(属性,値)・内容(要素) | 出現数 |
値 | --- | [自由文字列(フォーマット固定)] | 1 |
年は4桁、他の数値は2桁の整数で指定します。数値の省略はできず、小数点以下の指定もできません。年・月・日は-で区切り、時・分・秒は:で区切ります。また、日と時はTで区切ります。
秒の後はUTCとの時差を示し、Zは時刻がUTCであることを意味します。時刻はUTCの利用が推奨されています。時差のある地域の時刻を用いるには、末尾のZの替わりに+hh:mm(-hh:mm)あるいは+hh(-hh)のフォーマットで記述します。
[例]日本時間(UTC+9時間)2002年8月31日午後4時30分45秒
2002-08-31T16:30:45+09:00
Startの時刻が現時刻より後になっているCPAの登録は可能ですが、Startの時刻を過ぎないとそのCPAを利用したメッセージ送信はできません。
<tp:Start>2002-04-01T12:30:00Z</tp:Start>
CollaborationProtocolAgreement/End | |||
---|---|---|---|
| 名称 | 値(属性,値)・内容(要素) | 出現数 |
値 | --- | [自由文字列(フォーマット固定)] | 1 |
年は4桁、他の数値は2桁の整数で指定します。数値の省略はできず、小数点以下の指定もできません。年・月・日は-で区切り、時・分・秒は:で区切ります。また、日と時はTで区切ります。
秒の後はUTCとの時差を示し、Zは時刻がUTCであることを意味します。時刻はUTCの利用が推奨されています。時差のある地域の時刻を用いるには、末尾のZの替わりに+hh:mm(-hh:mm)あるいは+hh(-hh)のフォーマットで記述します。
[例]日本時間(UTC+9時間)2002年8月31日午後4時30分45秒
2002-08-31T16:30:45+09:00
Endの時刻が現時刻より前になっているCPAの登録はできません。
<tp:End>2003-03-31T12:30:00Z</tp:End>
CollaborationProtocolAgreement/PartyInfo | |||
---|---|---|---|
| 名称 | 値(属性,値)・内容(要素) | 出現数 |
属性 | defaultMshChannelId | [自由文字列(IDREF)] | 1 |
defaultMshPackageId | [自由文字列(IDREF)] | 1 | |
子要素 | PartyId | 取引当事者の識別用ID情報 | 1 |
CollaborationRole | 取引における役割情報 | 1~複 | |
Certificate | 証明書情報 | 0~複 | |
DeliveryChannel | 配信チャネル情報 | 1~複 | |
Transport | 通信プロトコル情報 | 1~複 | |
DocExchange | メッセージ交換情報 | 1~複 | |
OverrideMshActionBinding | MSH単体メッセージサービスの使用チャネル情報(注3) | 0~複 |
本バージョンのebMSでこの属性に記述される値を利用するサービスは受領通知とエラー通知になります。これらに関しても、OverrideMshActionBinding要素の記述によって別の送信チャネルを割り当てることが可能です。
ebMSを利用するサーバには、受領通知やエラー通知を送受信する能力が要求されます。defaultMshChannelIdに対応するDeliveryChannelに関連付けられたTransportおよびDocExchangeでは、送信側・受信側両方の設定を記述してください。
受領通知やエラー通知の利用DeliveryChannelとしてdefaultMshChannelIdのDeliveryChannelを利用したくない場合に設定します。
SecurityDetails要素の記述はebMSで利用されません。
<tp:PartyInfo tp:defaultMshChannelId=”PartyA-chan001”> <tp:PartyId>…</tp:PartyId> <tp:CollaborationRole>…</tp:CollaborationRole> <tp:Certificate>…</tp:Certificate> <tp:Certificate>…</tp:Certificate> <tp:DeliveryChannel>…</tp:DeliveryChannel> <tp:Transport>…</tp:Transport> <tp:DocExchange>…</tp:DocExchange> <tp:OverrideMshActionBinding>…</tp:OverrideMshActionBinding> </tp:PartyInfo>
CollaborationProtocolAgreement/PartyInfo/PartyId | |||
---|---|---|---|
| 名称 | 値(属性,値)・内容(要素) | 出現数 |
属性 | type | [自由文字列] | 0~1 |
値 | --- | [自由文字列(CPA識別パラメタとして利用)] | 1 |
ebmscpareferコマンドのFrom-Party-IDやTo-Party-IDとして、また、通信パラメタのFromPartyIdやToPartyIdとして利用します。詳細は“6.2 データ形式”および“リファレンスマニュアル(コマンド編)”の“ebmscparefer”を参照してください。
<tp:PartyId tp:type=”urn:oasis:names:tc:ebxml-cppa:partyid-type:duns”> 123456789 </tp:PartyId>
CollaborationProtocolAgreement/PartyInfo/CollaborationRole/Role | |||
---|---|---|---|
| 名称 | 値(属性,値)・内容(要素) | 出現数 |
属性 | name | [自由文字列] | 1 |
“ebXML Business Process Specification Schema”に従って記述されたプロセス仕様ドキュメントを利用している場合には、ドキュメントに記述されている値を利用してください。
以下の条件を満たす場合、メッセージ送信時に通信パラメタのFromRoleまたはToRoleとして使用する必要があります。詳細は“6.2 データ形式”を参照してください。
PartyInfo内に同Serviceかつ同Actionの記述を複数記述しており、それらの切り分けをRoleで行っているCPAを利用する場合
<tp:Role tp:name=”Buyer”/>
CollaborationProtocolAgreement/PartyInfo/CollaborationRole/ServiceBinding | |||
---|---|---|---|
| 名称 | 値(属性,値)・内容(要素) | 出現数 |
子要素 | Service | サービスの名前情報 | 1 |
CanSend | ServiceBindingに含まれるActionの情報 [送信用] | 0~複 | |
CanReceive | ServiceBindingに含まれるActionの情報 [受信用] | 0~複 |
一つのServiceBindingの中に、CanSendかCanReceiveのどちらかが最低一つは存在する必要があります。
<tp:ServiceBinding> <tp:Service>…</tp:Service> <tp:CanSend>…</tp:CanSend> <tp:CanSend>…</tp:CanSend> <tp:CanReceive>…</tp:CanReceive> </tp:ServiceBinding>
CollaborationProtocolAgreement/PartyInfo/CollaborationRole/ServiceBinding/Service | |||
---|---|---|---|
| 名称 | 値(属性,値)・内容(要素) | 出現数 |
属性 | type | [自由文字列(CPA識別パラメタとして利用可能)] | 0~1 |
値 | --- | [自由文字列(CPA識別パラメタとして利用)] | 1 |
typeを省略した場合はService名にURIを記述する必要があります。typeを指定した場合、そのCPA利用時にアプリから指定されるServiceTypeとCPA登録情報内のServiceTypeが一致しないとエラーになります。
通信パラメタのServiceTypeとして利用します。詳細は“6.2 データ形式”を参照してください。
Serviceの名称はPartyInfo内で一意である必要があります。プロセス仕様ドキュメントが“ebXML Business Process Specification Schema”で記述されている場合は、同一CollaborationRole内のProcessSpecification要素のuuidの値と同一のURIになります。
ebmscpareferコマンドのService-Nameとして、また、通信パラメタのServiceとして利用します。詳細は“6.2 データ形式”および“リファレンスマニュアル(コマンド編)”の“ebmscparefer”を参照してください。
CPAの2つのPartyInfo間で、同一のService名が設定されたService要素を持ったServiceBinding同士が、対応したServiceBindingとして扱われます。
<tp:Service tp:type=”anyURI”>urn:icann:service:id:3A4</tp:Service>
CollaborationProtocolAgreement/PartyInfo/CollaborationRole/ServiceBinding/CanSend | |||
---|---|---|---|
| 名称 | 値(属性,値)・内容(要素) | 出現数 |
子要素 | ThisPartyActionBinding | メッセージ送信時に使用するAction名と、DeliveryChannel・Packagingとの関連付け情報 | 1 |
OtherPartyActionBinding | 自分側のThisPartyActionBinding要素と、通信相手側のThisPartyActionBinding要素との関連付け情報 | 0~1 |
子要素であるThisPartyActionBindingのaction属性に設定された値がAction名になり、両当事者のPartyInfo間で同じService名・Action名を持ったCanSendとCanReceiveが対応します。
同期通信はサポートしていないため、CanSendの子要素としてCanReceiveを記述する同期通信用の設定をしないでください。
<tp:CanSend> <tp:ThisPartyActionBinding>…</tp:ThisPartyActionBinding> <tp:OtherPartyActionBinding>…</tp:OtherPartyActionBinding> </tp:CanSend>
CPA/PartyInfo/CollaborationRole/ServiceBinding/CanSend(CanReceive)/ThisPartyActionBinding | |||
---|---|---|---|
| 名称 | 値(属性,値)・内容(要素) | 出現数 |
属性 | action | [自由文字列(CPA識別パラメタとして利用)] | 1 |
packageId | [自由文字列(IDREF)] | 1 | |
id | [自由文字列(ID)] | 0~1 | |
子要素 | BusinessTransactionCharacteristics | ビジネストランザクションに関する特性 | 1 |
ChannelId | 関連付けられたDeliveryChannelの情報 | 1 |
プロセス仕様ドキュメントが“ebXML Business Process Specification Schema” で記述されている場合は、Action名はrequestまたはresponse要素・属性を用います。
ebmscpareferコマンドのAction-Nameとして、また、通信パラメタのActionとして利用します。詳細は“6.2 データ形式” および“リファレンスマニュアル(コマンド編)”の“ebmscparefer”を参照してください。
PartyInfo内で同Service同ActionでRoleのみが異なっているThisPartyActionBinding要素を複数記述する場合は必須です。ここで指定するIDと、他のPartyInfo内のOtherPartyActionBindingに指定するIDREFとでPartyInfo間のCanSendとCanReceiveを対応付けます。
<tp:ThisPartyActionBinding tp:action=”PurchaseOrderRequestAction” tp:packageId=”pack001” tp:id=”PurchaseOrderBuyer001”> <tp:BusinessTransactionCharacteristics>…</tp:BusinessTransactionCharacteristics> <tp:ChannelId>…</tp:ChannelId> </tp:ThisPartyActionBinding>
CollaborationProtocolAgreement/PartyInfo/CollaborationRole/ServiceBinding/CanSend(CanReceive)/ThisPartyActionBinding/BusinessTransactionCharacteristics | |||
---|---|---|---|
| 名称 | 値(属性,値)・内容(要素) | 出現数 |
属性 | isNonRepudiationRequired | [選択文字列] | 0~1 (注2,3) |
isNonRepudiationRequiredをtrueに設定した場合、この属性を含むService・Actionを用いて送信・受信されたメッセージに署名が付与されます。
メッセージに署名が必要な場合はtrue、必要でない場合はfalseを指定します。省略した場合はfalse指定と同様の動作になります。
isNonRepudiationRequiredをtrueに設定した場合、関連付けられたDocExchange内に署名用要素を記述する必要があります。isNonRepudiationRequiredを含んでいるのがCanSendであればSenderNonRepudiation、CanReceiveであればReceiverNonRepudiationが必要となります。
BusinessTransactionCharacteristics要素内のisNonRepudiationRequired以外の属性に設定される値に関しては、ebMSでは利用されません。
本バージョンでサポートしている署名形式はXML署名のみです。XML署名については、“2.5 XML署名/認証機能”を参照してください。
<tp:BusinessTransactionCharacteristics tp:isNonRepudiationRequired=”true”/>
CPA/PartyInfo/CollaborationRole/ServiceBinding/CanSend(CanReceive)/ThisPartyActionBinding/ChannelId | |||
---|---|---|---|
| 名称 | 値(属性,値)・内容(要素) | 出現数 |
値 | --- | [自由文字列(IDREF)] | 1 |
CanSendの配下にあるChannelIdに対応するDeliveryChannelに関連付けられたTransportおよびDocExchangeでは、送信側設定の記述が必要です。また、CanReceiveの配下にあるChannelIdに対応するDeliveryChannelに関連付けられたTransportおよびDocExchangeでは、受信側設定の記述が必要です。
<tp:ChannelId>PartyA-chan001</tp:ChannelId>
CPA/PartyInfo/CollaborationRole/CanSend(CanReceive)/OtherPartyActionBinding | |||
---|---|---|---|
| 名称 | 値(属性,値)・内容(要素) | 出現数 |
値 | --- | [自由文字列(IDREF)] | 1 |
通信相手側のPartyInfo要素内のThisPartyActionBinding要素のid属性に記述されている文字列と同一の文字列を指定する必要があります。OtherPartyActionBinding要素の省略は空文字の指定と同義とみなすので、id属性に空文字を指定しているか、またはid属性が省略されているThisPartyActionBinding要素と関連付けられます。また、この値によって関連付けられたThisPartyActionBinding要素同士は同じService名とAction名を持っている必要があります。
<tp:OtherPartyActionBinding>PurchaseOrderSeller001</tp:OtherPartyActionBinding>
CollaborationProtocolAgreement/PartyInfo/CollaborationRole/ServiceBinding/CanReceive | |||
---|---|---|---|
| 名称 | 値(属性,値)・内容(要素) | 出現数 |
子要素 | ThisPartyActionBinding | メッセージ受信時に使用するAction名と、DeliveryChannel・Packagingとの関連付け情報 | 1 |
OtherPartyActionBinding | 自分側のThisPartyActionBinding要素と、通信相手側のThisPartyActionBinding要素との関連付け情報 | 0~1 |
子要素であるThisPartyActionBindingのaction属性に設定された値がAction名になり、両当事者のPartyInfo間で同じService名・Action名を持ったCanSendとCanReceiveが対応します。
同期通信はサポートしていないため、CanReceiveの子要素としてCanSendを記述する同期通信用の設定をしないでください。
<tp:CanReceive> <tp:ThisPartyActionBinding>…</tp:ThisPartyActionBinding> <tp:OtherPartyActionBinding>…</tp:OtherPartyActionBinding> </tp:CanReceive>
CollaborationProtocolAgreement/PartyInfo/Certificate | |||
---|---|---|---|
| 名称 | 値(属性,値)・内容(要素) | 出現数 |
属性 | certId | [自由文字列(ID)] | 1 |
子要素 | ds:KeyInfo | CPA内で用いる証明書情報 | 1 |
Interstageには、証明書管理と連動してds:KeyInfo要素を作成するツールが用意されています。詳細は、“3.2.3 XML署名環境の設定”を参照してください。なお、CPA登録時には、最低限ds:KeyName要素の記述が必要になります。ds:KeyNameの要素値には証明書のaliasを指定してください。
本バージョンでCertificateの記述を利用するのは、XML署名利用時のみです。XML署名については、“2.5 XML署名/認証機能”を参照してください。
<tp:Certificate tp:certId=”PartyA-cert001”> <!-- ここからツールで作成 --> <ds:KeyInfo> …… <ds:KeyName>PartyA-Key001</ds:KeyName> …… </ds:KeyInfo> <!-- ここまでツールで作成 --> </tp:Certificate>
CollaborationProtocolAgreement/PartyInfo/DeliveryChannel | |||
---|---|---|---|
| 名称 | 値(属性,値)・内容(要素) | 出現数 |
属性 | channelId | [自由文字列(ID)] | 1 |
transportId | [自由文字列(IDREF)] | 1 | |
docExchangeId | [自由文字列(IDREF)] | 1 | |
子要素 | MessagingCharacteristics | 配信チャネルのメッセージングに関する特性 | 1 |
<tp:DeliveryChannel tp:channelId=”PartyA-chan001” tp:transportId=”PartyA-port001” tp:docExchangeId=”PartyA-doc001”> <tp:MessagingCharacteristics>…</tp:MessagingCharacteristics> </tp:DeliveryChannel>
CollaborationProtocolAgreement/PartyInfo/DeliveryChannel/MessagingCharacteristics | |||
---|---|---|---|
| 名称 | 値(属性,値)・内容(要素) | 出現数 |
属性 | syncReplyMode | [選択文字列] | 0~1 |
ackRequested | [選択文字列] | 0~1 | |
ackSignatureRequested | [選択文字列] | 0~1 | |
duplicateElimination | [選択文字列] | 0~1 | |
actor | [固定文字列] | 0~1 |
noneを指定した場合、すべてのメッセージを非同期で送受信します。mshSignalsOnlyを指定した場合、MSHレベルのメッセージ(ebMSでは受領通知メッセージとエラー通知メッセージが該当)のみ同期で送受信します。アプリケーションレベルのメッセージの同期送受信はサポートしていません。属性を省略した場合はnone指定と同様の動作になります。
受信側から送信側への受領通知を要求した場合、受領通知が到着しない場合に送信側がメッセージを再送する機能を利用できます。メッセージの再送については、“2.3.1 メッセージ再送機能”を参照してください。
alwaysかneverのみをサポートしています。perMessageはサポートしていません。各機能を利用する場合はalways、利用しない場合はneverを指定します。省略した場合はnever指定と同様の動作になります。alwaysを指定するには、関連付けられたRetries、RetryInterval、PersistDurationを設定する必要があります。
受領通知への署名の有無を設定します。
alwaysかneverのみをサポートしており、perMessageはサポートしていません。署名付き受領通知を要求する場合はalways、署名なしの受領通知を要求する場合はneverを指定します。省略した場合はnever指定と同様の動作になります。alwaysを指定する場合には、同要素内のackRequestedをalwaysに設定し、受領通知の要求もしておくことが必要です。また、受領通知に関連付けられたDocExchange内に署名用情報を記述しておくことが必要です。
何らかの原因で受信側に同一メッセージ(同一のメッセージIDを持ったメッセージ)が複数届いた場合、重複をチェックして2通目以降のメッセージを破棄する処理の有無を設定します。メッセージの重複チェックについては、“2.3.2 メッセージ重複チェック機能”を参照してください。
alwaysかneverのみをサポートしています。perMessageはサポートしていません。メッセージの重複チェックを行う場合はalways、行わない場合はneverを指定します。省略した場合はnever指定と同様の動作になります。alwaysを指定するには、関連付けられたPersistDurationを設定する必要があります。
urn:oasis:names:tc:ebxml-msg:actor:toPartyMSHのみサポートしています。省略した場合はurn:oasis:names:tc:ebxml-msg:actor:toPartyMSH指定と同様の動作になります。
<tp:MessagingCharacteristics tp:syncReplyMode=”none” tp:ackRequested=”always” tp:ackSignatureRequested=”never” tp:duplicateElimination=”always” tp:actor=”urn:oasis:names:tc:ebxml-msg:actor:toPartyMSH”/>
CollaborationProtocolAgreement/PartyInfo/Transport | |||
---|---|---|---|
| 名称 | 値(属性,値)・内容(要素) | 出現数 |
属性 | transportId | [自由文字列(ID)] | 1 |
子要素 | TransportSender | このTransportの送信機能の情報 | 0~1 |
TransportReceiver | このTransportの受信機能の情報 | 0~1 |
一つのTransportにSenderかReceiverのどちらかを含んでいる必要があります。また、PartyInfo要素内にSenderとReceiverのTransportが最低一つずつ含まれている必要があります。
<tp:Transport tp:transportId=”PartyA-port001”> <tp:TransportSender>…</tp:TransportSender> <tp:TransportReceiver>…</tp:TransportReceiver> </tp:Transport>
CollaborationProtocolAgreement/PartyInfo/Transport/TransportSender | |||
---|---|---|---|
| 名称 | 値(属性,値)・内容(要素) | 出現数 |
子要素 | TransportProtocol | このTransportの送信プロトコル | 1 |
AccessAuthenticationに関する記述はebMSでは利用されません。
SOAPサービスの設定により、メッセージの送信にSSLを利用することは可能ですが、TransportClientSecurityの記述内容を反映した制御はサポートされません。
<tp:TransportSender> <tp:TransportProtocol>…</tp:TransportProtocol> </tp:TransportSender>
CPA/PartyInfo/Transport/TransportSender(TransportReceiver)/TransportProtocol | |||
---|---|---|---|
| 名称 | 値(属性,値)・内容(要素) | 出現数 |
値 | --- | [固定文字列] | 1 |
HTTPのみをサポートします。
version属性の値はebMSでは利用されません。
<tp:TransportProtocol>HTTP</tp:TransportProtocol>
CollaborationProtocolAgreement/PartyInfo/Transport/TransportReceiver | |||
---|---|---|---|
| 名称 | 値(属性,値)・内容(要素) | 出現数 |
子要素 | TransportProtocol | このTransportの受信プロトコル | 1 |
Endpoint | 受信Endpointの情報 | 1~複 |
AccessAuthenticationに関する記述はebMSでは利用されません。
SOAPサービスの設定により、メッセージの送信にSSLを利用することは可能ですが、TransportServerSecurityの記述内容を反映した制御はサポートされません。
<tp:TransportReceiver> <tp:TransportProtocol>…</tp:TransportProtocol> <tp:Endpoint>…</tp:Endpoint> </tp:TransportReceiver>
CollaborationProtocolAgreement/PartyInfo/Transport/TransportReceiver/Endpoint | |||
---|---|---|---|
| 名称 | 値(属性,値)・内容(要素) | 出現数 |
属性 | uri | [自由文字列] | 1 |
type | [選択文字列] | 0~1 |
Endpointの指定方法はURLのみをサポートしています。Endpointの概念については、“2.2 受信機能”を、設定方法については、“3.1.3.1 ebMS環境定義の作成”を参照してください。
ebMSではrequestのEndpointは通常メッセージあて先の第二候補(第一候補はallPurpose)としてのみ扱われます。
ebMSではresponseのEndpointは受領通知あて先の第二候補(第一候補はallPurpose)としてのみ扱われます。
ebMSではerrorのEndpointはエラー通知あて先の第二候補(第一候補はallPurpose)としてのみ扱われます。
typeがloginのEndpointはサポートしていません。
allPurposeのEndpointはすべての用途について、最優先で用いられます。allPurposeがなかった場合、通常メッセージはrequest、受領通知はresponse、エラー通知はerrorのEndpointに配信されます。
省略値はallPurposeです。
<tp:Endpoint tp:uri=”http://www.Party-A.com/ebms/servlet/ebxmlListener” tp:type=”allPurpose”/>
CollaborationProtocolAgreement/PartyInfo/DocExchange | |||
---|---|---|---|
| 名称 | 値(属性,値)・内容(要素) | 出現数 |
属性 | docExchangeId | [自由文字列(ID)] | 1 |
子要素 | ebXMLSenderBinding | 実装されたebXMLメッセージサービスの送信機能の情報 | 0~1 |
ebXMLReceiverBinding | 実装されたebXMLメッセージサービスの受信機能の情報 | 0~1 |
一つのDocExchangeにSenderかReceiverのどちらかを含んでいる必要があります。
<tp:DocExchange tp:docExchangeId=”PartyA-doc001”> <tp:ebXMLSenderBinding>…</tp:ebXMLSenderBinding> <tp:ebXMLReceiverBinding>…</tp:ebXMLReceiverBinding> </tp:DocExchange>
CollaborationProtocolAgreement/PartyInfo/DocExchange/ebXMLSenderBinding | |||
---|---|---|---|
| 名称 | 値(属性,値)・内容(要素) | 出現数 |
属性 | version | [固定文字列] | 1 |
子要素 | ReliableMessaging | メッセージ保証機能の情報 | 0~1 |
PersistDuration | メッセージ保存期間 | 0~1 | |
SenderNonRepudiation | デジタル署名の情報 [送信側] | 0~1 |
2.0のみをサポートしています。
省略した場合、再送なし・順序保証なしの通信になります。
省略した場合、受領通知要求や重複チェックを行うことはできません。
デジタル署名利用時のみ必須です。
SenderDigitalEnvelopeおよびNamespaceSupportedに関する機能は本バージョンのebMSではサポートされていません。
<tp:ebXMLSenderBinding tp:version=”2.0”> <tp:ReliableMessaging>…</tp:ReliableMessaging> <tp:PersistDuration>…</tp:PersistDuration> <tp:SenderNonRepudiation>…</tp:SenderNonRepudiation> </tp:ebXMLSenderBinding>
CPA/PartyInfo/DocExchange/ebXMLSender(Receiver)Binding/ReliableMessaging | |||
---|---|---|---|
| 名称 | 値(属性,値)・内容(要素) | 出現数 |
子要素 | Retries | メッセージ再送回数 | 0~1 |
RetryInterval | メッセージ再送間隔 | 0~1 | |
MessageOrderSemantics | メッセージ順序保証情報 | 0~1 |
<tp:ReliableMessaging> <tp:Retries>…</tp:Retries> <tp:RetryInterval>…</tp:RetryInterval> <tp:MessageOrderSemantics>…</tp:MessageOrderSemantics> </tp:ReliableMessaging>
CPA/PartyInfo/DocExchange/ebXMLSender(Receiver)Binding/ReliableMessaging/Retries | |||
---|---|---|---|
| 名称 | 値(属性,値)・内容(要素) | 出現数 |
値 | --- | [正の整数] | 1 |
省略された場合、再送は行いません。
メッセージの再送については、“2.3.1 メッセージ再送機能”を参照してください。
<tp:Retries>20</tp:Retries>
CPA/PartyInfo/DocExchange/ebXMLSender(Receiver)Binding/ReliableMessaging/RetryInterval | |||
---|---|---|---|
| 名称 | 値(属性,値)・内容(要素) | 出現数 |
値 | --- | [自由文字列(フォーマット固定)] | 1 |
フォーマットは以下のようになっています。
P年Y月M日DT時H分M秒S
数値は整数で記述してください。例えば、メッセージ再送間隔として30秒を指定する場合は、次のように記述してください。
PT30S
メッセージの再送については、“2.3.1 メッセージ再送機能”を参照してください。
<tp:RetryInterval>PT10S</tp:RetryInterval>
CPA/PartyInfo/DocExchange/ebXMLSender(Receiver)Binding/ReliableMessaging/MessageOrderSemantics | |||
---|---|---|---|
| 名称 | 値(属性,値)・内容(要素) | 出現数 |
値 | --- | [選択文字列] | 1 |
順序保証する場合にはGuaranteed、しない場合にはNotGuaranteedを指定します。
Guaranteedを指定する場合には、関連したDeliveryChannel内のMessagingCharacteristics要素のackRequestedをalwaysに、duplicateEliminationをalwaysに設定し、受領通知要求とメッセージの重複チェックが行われるようにする必要があります。
MessageOrderSemantics要素が省略された場合はNotGuaranteed指定と同様の動作になります。
メッセージ順序保証については、“2.3.3 メッセージ順序保証機能”を参照してください。
<tp:MessageOrderSemantics>Guaranteed</tp:MessageOrderSemantics>
CPA/PartyInfo/DocExchange/ebXMLSender(Receiver)Binding/PersistDuration | |||
---|---|---|---|
| 名称 | 値(属性,値)・内容(要素) | 出現数 |
値 | --- | [自由文字列(フォーマット固定)] | 1 |
フォーマットは以下のようになっています。
P年Y月M日DT時H分M秒S
数値は整数で記述してください。例えば、メッセージ保存期間として5日を指定する場合は、次のように記述してください。
P5D
PersistDuration要素が省略された場合はメッセージが保存されず、重複チェックや受領通知を要求することはできません。この要素を記述しないと利用できないメッセージ保証の機能については、“2.3 リライアブル機能”を参照してください。
<tp:PersistDuration>P3D</tp:PersistDuration>
CollaborationProtocolAgreement/PartyInfo/DocExchange/ebXMLSenderBinding/SenderNonRepudiation | |||
---|---|---|---|
| 名称 | 値(属性,値)・内容(要素) | 出現数 |
子要素 | NonRepudiationProtocol | デジタル署名のプロトコル | 1 |
HashFunction | ダイジェスト計算のアルゴリズム | 1 | |
SignatureAlgorithm | 署名値計算のアルゴリズム | 1 | |
SigningCertificateRef | 署名用証明書情報へのリンク | 1 |
署名機能については、“2.5 XML署名/認証機能”を参照してください。
<tp:SenderNonRepudiation> <tp:NonRepudiationProtocol>…</tp:NonRepudiationProtocol> <tp:HashFunction>…</tp:HashFunction> <tp:SignatureAlgorithm>…</tp:SignatureAlgorithm> <tp:SigningCertificateRef>…</tp:SigningCertificateRef> </tp:SenderNonRepudiation>
CPA/PartyInfo/DocExchange/ebXMLSender(Receiver)Binding/Sender(Receiver)NonRepudiation/NonRepudiationProtocol | |||
---|---|---|---|
| 名称 | 値(属性,値)・内容(要素) | 出現数 |
値 | --- | [固定文字列] | 1 |
http://www.w3.org/2000/09/xmldsig# 以外のプロトコルはサポートしていません。
<tp:NonRepudiationProtocol>http://www.w3.org/2000/09/xmldsig#</tp:NonRepudiationProtocol>
CPA/PartyInfo/DocExchange/ebXMLSender(Receiver)Binding/Sender(Receiver)NonRepudiation/HashFunction | |||
---|---|---|---|
| 名称 | 値(属性,値)・内容(要素) | 出現数 |
値 | --- | [固定文字列] | 1 |
http://www.w3.org/2000/09/xmldsig#sha1 以外のアルゴリズムはサポートしていません。
<tp:HashFunction>http://www.w3.org/2000/09/xmldsig#sha1</tp:HashFunction>
CPA/PartyInfo/DocExchange/ebXMLSender(Receiver)Binding/Sender(Receiver)NonRepudiation/SignatureAlgorithm | |||
---|---|---|---|
| 名称 | 値(属性,値)・内容(要素) | 出現数 |
値 | --- | [固定文字列] | 1 |
http://www.w3.org/2000/09/xmldsig#rsa-sha1 以外のアルゴリズムはサポートしていません。
<tp:SignatureAlgorithm>http://www.w3.org/2000/09/xmldsig#rsa-sha1</tp:SignatureAlgorithm>
CPA/PartyInfo/DocExchange/ebXMLSenderBinding/SenderNonRepudiation/SigningCertificateRef | |||
---|---|---|---|
| 名称 | 値(属性,値)・内容(要素) | 出現数 |
属性 | certId | [自由文字列(IDREF)] | 1 |
<tp:SigningCertificateRef tp:certId=”PartyA-cert001”/>
CollaborationProtocolAgreement/PartyInfo/DocExchange/ebXMLReceiverBinding | |||
---|---|---|---|
| 名称 | 値(属性,値)・内容(要素) | 出現数 |
属性 | version | [固定文字列] | 1 |
子要素 | ReliableMessaging | メッセージ保証機能の情報 | 0~1 |
PersistDuration | メッセージ保存期間 | 0~1 | |
ReceiverNonRepudiation | デジタル署名の情報 [受信側] | 0~1 |
2.0のみをサポートしています。
省略した場合、再送なし・順序保証なしの通信になります。
省略した場合、受領通知要求や重複チェックを行うことはできません。
デジタル署名利用時のみ必須です。
ReceiverDigitalEnvelopeおよびNamespaceSupportedに関する機能は本バージョンのebMSではサポートされていません。
<tp:ebXMLReceiverBinding tp:version=”2.0”> <tp:ReliableMessaging>…</tp:ReliableMessaging> <tp:PersistDuration>…</tp:PersistDuration> <tp:ReceiverNonRepudiation>…</tp:ReceiverNonRepudiation> </tp:ebXMLReceiverBinding>
CollaborationProtocolAgreement/PartyInfo/DocExchange/ebXMLReceiverBinding/ReceiverNonRepudiation | |||
---|---|---|---|
| 名称 | 値(属性,値)・内容(要素) | 出現数 |
子要素 | NonRepudiationProtocol | デジタル署名のプロトコル | 1 |
HashFunction | ダイジェスト計算のアルゴリズム | 1 | |
SignatureAlgorithm | 署名値計算のアルゴリズム | 1 |
SigningSecurityDetailsRefに関する記述はebMSでは利用されません。
署名機能については、“2.5 XML署名/認証機能”を参照してください。
<tp:ReceiverNonRepudiation> <tp:NonRepudiationProtocol>…</tp:NonRepudiationProtocol> <tp:HashFunction>…</tp:HashFunction> <tp:SignatureAlgorithm>…</tp:SignatureAlgorithm> </tp:ReceiverNonRepudiation>
CollaborationProtocolAgreement/PartyInfo/OverrideMshActionBinding | |||
---|---|---|---|
| 名称 | 値(属性,値)・内容(要素) | 出現数 |
属性 | action | [選択文字列] | 1 |
channelId | [自由文字列(IDREF)] | 1 |
ebMSではAcknowledgmentとMessageErrorのみ指定可能です。
OverrideMshActionBindingのchannelIdに対応するDeliveryChannelに関連付けられたTransportおよびDocExchangeでは、送信側・受信側両方の設定を記述してください。
<tp:OverrideMshActionBinding tp:action=”Acknowledgment” tp:channelId=”PartyA-chan001”/>
CollaborationProtocolAgreement/Packaging | |||
---|---|---|---|
| 名称 | 値(属性,値)・内容(要素) | 出現数 |
属性 | id | [自由文字列(ID)] | 1 |
Packaging要素のid属性以外の要素についてはebMSでは利用しません。
<tp:Packaging tp:id=”pack001”/>