付録B.5 WS-Reliabilityのヘッダ要素

Cosminexus RMで送受信するメッセージのSOAPヘッダ部分には,WS-Reliabilityプロトコルのヘッダ要素が設定されます。WS-Reliabilityプロトコルのヘッダ要素は,電文の種別によって設定される要素が異なります。

<この項の構成>
(1) Reliable Messageの送信時に設定される要素・属性
(2) Reliable Messageの受信時に設定される要素・属性
(3) RM-Reply Messageの送信時に設定される要素・属性
(4) RM-Reply Messageの受信時に設定される要素・属性
(5) PollRequest Messageの送受信時に設定される要素・属性
(6) Reliable MessageとRM-Reply Messageの同梱
(7) [XML Schema Part 2]dateTimeの扱い

(1) Reliable Messageの送信時に設定される要素・属性

Cosminexus RMがReliable Messageを送信する時に設定される要素・属性に対する対応を次の表に示します。

表B-1 Reliable Message送信時の対応

項番メッセージヘッダの要素・属性Cosminexus RMの対応
1RequestWS-Reliabilityプロトコルの仕様と同様です。
2Request/MessageIdWS-Reliabilityプロトコルの仕様と同様です。
3Request/MessageId/@groupIdWS-Reliabilityプロトコルの仕様と同様です。
4Request/MessageId/SequenceNum必ず設定します。
5Request/MessageId/SequenceNum/@groupExpiryTime必ず設定します。
6Request/MessageId/SequenceNum/@groupMaxIdleDuration設定しません。
7Request/MessageId/SequenceNum/@numberWS-Reliabilityプロトコルの仕様と同様です。
8Request/MessageId/SequenceNum/@last設定しません。
9Request/ExpiryTimeWS-Reliabilityプロトコルの仕様と同様です。
10Request/ReplyPatternWS-Reliabilityプロトコルの仕様と同様です。
11Request/ReplyPattern/ValueResponseだけ設定します。
CallbackおよびPollは設定しません。
12Request/ReplyPattern/ReplyTo設定しません。
13Request/ReplyPattern/ReplyTo/@reference-scheme設定しません。
14Request/ReplyPattern/ReplyTo/any設定しません。
15Request/ReplyPattern/ReplyTo/BareURI設定しません。
16Request/AckRequested必ず設定します。
17Request/DuplicateElimination必ず設定します。
18Request/MessageOrderWS-Reliabilityプロトコルの仕様と同様です。
注※
Cosminexus RMで設定するRequest/MessageId/@groupIdのフォーマットは次のとおりです。
mid://<システム名><グループID作成時刻><グループID通番>@<自マシンのIPアドレスから作成した数値>
グループID作成時刻の出力形式は「YYYYMMDDhhmmssSSS」です。
グループID通番は4けた固定です。例えば,グループ通番が1の場合は「0001」が設定されます。

(2) Reliable Messageの受信時に設定される要素・属性

Cosminexus RMが受信したReliable Messageに設定される要素に対する対応と,指定できる値の範囲を次の表に示します。

表B-2 Reliable Message受信時の対応

項番メッセージヘッダの要素・属性Cosminexus RMの対応※1指定できる値の範囲※2
1RequestWS-Reliabilityプロトコルの仕様と同様です。
2Request/MessageIdWS-Reliabilityプロトコルの仕様と同様です。
3Request/MessageId/@groupIdWS-Reliabilityプロトコルの仕様と同様です。0~256文字
4Request/MessageId/SequenceNum設定を省略したメッセージにはRM-Faultを返します。
5Request/MessageId/SequenceNum/@groupExpiryTime設定を省略したメッセージにはRM-Faultを返します。1970-01-01T00:00:00Z~9999-12-31T23:59:59Z
6Request/MessageId/SequenceNum/@groupMaxIdleDuration設定したメッセージにはRM-Faultを返します。
7Request/MessageId/SequenceNum/@numberWS-Reliabilityプロトコルの仕様と同様です。
8Request/MessageId/SequenceNum/@last設定したメッセージにはRM-Faultを返します。
9Request/ExpiryTimeWS-Reliabilityプロトコルの仕様と同様です。1970-01-01T00:00:00Z~9999-12-31T23:59:59Z
10Request/ReplyPatternWS-Reliabilityプロトコルの仕様と同様です。
11Request/ReplyPattern/ValueResponseだけ設定します。CallbackまたはPollを設定したメッセージにはRM-Faultを返します。
12Request/ReplyPattern/ReplyTo設定された値は無視します。
13Request/ReplyPattern/@reference-scheme設定された値は無視します。
14Request/ReplyPattern/any設定された値は無視します。
15Request/ReplyPattern/BareURI設定された値は無視します。
16Request/AckRequestedWS-Reliabilityプロトコルの仕様と同様です。
17Request/DuplicateEliminationWS-Reliabilityプロトコルの仕様と同様です。
18Request/MessageOrderWS-Reliabilityプロトコルの仕様と同様です。
(凡例)
-:該当しません。
注※1
RM-Faultを返す場合,「FeatureNotSupported」を設定したRM-Reply Messageが返信されます。
注※2
指定できる値の範囲を超えている要素または属性を設定しているReliableMessageを受信した場合,次の表に示すRM-Faultが設定されたRM-Reply Messageを返信します。

表B-3 設定範囲を超えた場合に返信されるRM-Fault

メッセージヘッダの要素・属性RM-Fault
Request/MessageId/@groupIdInvalidMessageId
Request/MessageId/@groupExpiryTimeInvalidMessageParameters
Request/ExpiryTimeInvalidExpiryTime

(3) RM-Reply Messageの送信時に設定される要素・属性

Cosminexus RMがRM-Reply Messageを送信する時に設定される要素に対する対応を次の表に示します。

表B-4 RM-Reply Message送信時の対応

項番メッセージヘッダの要素と属性Cosminexus RMの対応
1ResponseWS-Reliabilityプロトコルの仕様と同様です。
2Response/NonSequenceReply設定しません。
3Response/NonSequenceReply/@groupId設定しません。
4Response/NonSequenceReply/@fault設定しません。
5Response/SequenceReplies必ず一つは設定します。
6Response/SequenceReplies/@groupIdWS-Reliabilityプロトコルの仕様と同様です。
7Response/SequenceReplies/ReplyRange一つだけ設定します。
8Response/SequenceReplies/ReplyRange/@from@toと同じ値を設定します。
9Response/SequenceReplies/ReplyRange/@to@fromと同じ値を設定します。
10Response/SequenceReplies/ReplyRange/@faultWS-Reliabilityプロトコルの仕様と同様です。

(4) RM-Reply Messageの受信時に設定される要素・属性

Cosminexus RMが受信したRM-Reply Messageに設定される要素に対する対応と,指定できる値の範囲を次の表に示します。

表B-5 RM-Reply Message受信時の対応一覧

項番メッセージヘッダの要素と属性Cosminexus RMの対応指定できる値の範囲
1ResponseWS-Reliabilityプロトコルの仕様と同様です。
2Response/NonSequenceReply設定されたメッセージは破棄します。
3Response/NonSequenceReply/@groupId設定されたメッセージは破棄します。
4Response/NonSequenceReply/@fault設定されたメッセージは破棄します。
5Response/SequenceReplies一つだけ設定したメッセージには対応します。省略された,または複数設定されたメッセージは破棄します。
6Response/SequenceReplies/@groupIdWS-Reliabilityプロトコルの仕様と同様です。0~256文字
7Response/SequenceReplies/ReplyRange一つだけ設定したメッセージには対応します。省略された,または複数設定されたメッセージは破棄します。
8Response/SequenceReplies/ReplyRange/@from@toと同じ値を設定したメッセージには対応します。@toと異なる値が設定されたメッセージは破棄します。
9Response/SequenceReplies/ReplyRange/@to@fromと同じ値を設定したメッセージには対応します。@fromと異なる値が設定されたメッセージは破棄します。
10Response/SequenceReplies/ReplyRange/@faultWS-Reliabilityプロトコルの仕様と同様です。
(凡例)
-:該当しません。
注※
指定できる値の範囲を超えている要素または属性を設定しているRM-Reply Messageを受信した場合,そのメッセージを破棄します。

(5) PollRequest Messageの送受信時に設定される要素・属性

Cosminexus RMでは,送信,受信ともにPollRequest Messageはサポートしません。PollRequest Messageを受信した場合は,メッセージ内で指定しているメッセージに対して「FeatureNotSupported」のRM-Faultを設定したRM-Reply Messageを返信します。

なお,Cosminexus RMでは,PollRequest Messageに指定された最初のメッセージに対して「FeatureNotSupported」のRM-Faultを返します。

(6) Reliable MessageとRM-Reply Messageの同梱

Cosminexus RMは,Reliable MessageとRM-Reply Messageが同梱されているメッセージに対して,WS-Reliabilityプロトコルの仕様とは異なる対応をします。

Reliable MessageとRM-Reply Messageが同梱されているメッセージを受信した場合,Reliable Messageに対して「FeatureNotSupported」のRM-Faultを設定したRM-Reply Messageの返信を行います。さらに,RM-Reply Messageに対してはメッセージを破棄します。

(7) [XML Schema Part 2]dateTimeの扱い

Cosminexus RMは,groupExpiryTimeやExpiryTimeを表す[XML Schema Part2]dateTimeの値に,次の制限を持ちます。