付録B.5 WS-Reliabilityのヘッダ要素
Reliable Messagingで送受信するメッセージのSOAPヘッダ部分には,WS-Reliabilityプロトコルのヘッダ要素が設定されます。WS-Reliabilityプロトコルのヘッダ要素は,電文の種別によって設定される要素が異なります。
- 〈この項の構成〉
(1) Reliable Messageの送信時に設定される要素・属性
Reliable MessagingがReliable Messageを送信する時に設定される要素・属性に対する対応を次の表に示します。
項番 |
メッセージヘッダの要素・属性 |
Reliable Messagingの対応 |
---|---|---|
1 |
Request |
WS-Reliabilityプロトコルの仕様と同様です。 |
2 |
Request/MessageId |
WS-Reliabilityプロトコルの仕様と同様です。 |
3 |
Request/MessageId/@groupId※ |
WS-Reliabilityプロトコルの仕様と同様です。 |
4 |
Request/MessageId/SequenceNum |
必ず設定します。 |
5 |
Request/MessageId/SequenceNum/@groupExpiryTime |
必ず設定します。 |
6 |
Request/MessageId/SequenceNum/@groupMaxIdleDuration |
設定しません。 |
7 |
Request/MessageId/SequenceNum/@number |
WS-Reliabilityプロトコルの仕様と同様です。 |
8 |
Request/MessageId/SequenceNum/@last |
設定しません。 |
9 |
Request/ExpiryTime |
WS-Reliabilityプロトコルの仕様と同様です。 |
10 |
Request/ReplyPattern |
WS-Reliabilityプロトコルの仕様と同様です。 |
11 |
Request/ReplyPattern/Value |
Responseだけ設定します。 CallbackおよびPollは設定しません。 |
12 |
Request/ReplyPattern/ReplyTo |
設定しません。 |
13 |
Request/ReplyPattern/ReplyTo/@reference-scheme |
設定しません。 |
14 |
Request/ReplyPattern/ReplyTo/any |
設定しません。 |
15 |
Request/ReplyPattern/ReplyTo/BareURI |
設定しません。 |
16 |
Request/AckRequested |
必ず設定します。 |
17 |
Request/DuplicateElimination |
必ず設定します。 |
18 |
Request/MessageOrder |
WS-Reliabilityプロトコルの仕様と同様です。 |
(2) Reliable Messageの受信時に設定される要素・属性
Reliable Messagingが受信したReliable Messageに設定される要素に対する対応と,指定できる値の範囲を次の表に示します。
項番 |
メッセージヘッダの要素・属性 |
Reliable Messagingの対応※1 |
指定できる値の範囲※2 |
---|---|---|---|
1 |
Request |
WS-Reliabilityプロトコルの仕様と同様です。 |
− |
2 |
Request/MessageId |
WS-Reliabilityプロトコルの仕様と同様です。 |
− |
3 |
Request/MessageId/@groupId |
WS-Reliabilityプロトコルの仕様と同様です。 |
0〜256文字 |
4 |
Request/MessageId/SequenceNum |
設定を省略したメッセージにはRM-Faultを返します。 |
− |
5 |
Request/MessageId/SequenceNum/@groupExpiryTime |
設定を省略したメッセージにはRM-Faultを返します。 |
1970-01-01T00:00:00Z〜9999-12-31T23:59:59Z |
6 |
Request/MessageId/SequenceNum/@groupMaxIdleDuration |
設定したメッセージにはRM-Faultを返します。 |
− |
7 |
Request/MessageId/SequenceNum/@number |
WS-Reliabilityプロトコルの仕様と同様です。 |
− |
8 |
Request/MessageId/SequenceNum/@last |
設定したメッセージにはRM-Faultを返します。 |
− |
9 |
Request/ExpiryTime |
WS-Reliabilityプロトコルの仕様と同様です。 |
1970-01-01T00:00:00Z〜9999-12-31T23:59:59Z |
10 |
Request/ReplyPattern |
WS-Reliabilityプロトコルの仕様と同様です。 |
− |
11 |
Request/ReplyPattern/Value |
Responseだけ設定します。CallbackまたはPollを設定したメッセージにはRM-Faultを返します。 |
− |
12 |
Request/ReplyPattern/ReplyTo |
設定された値は無視します。 |
− |
13 |
Request/ReplyPattern/@reference-scheme |
設定された値は無視します。 |
− |
14 |
Request/ReplyPattern/any |
設定された値は無視します。 |
− |
15 |
Request/ReplyPattern/BareURI |
設定された値は無視します。 |
− |
16 |
Request/AckRequested |
WS-Reliabilityプロトコルの仕様と同様です。 |
− |
17 |
Request/DuplicateElimination |
WS-Reliabilityプロトコルの仕様と同様です。 |
− |
18 |
Request/MessageOrder |
WS-Reliabilityプロトコルの仕様と同様です。 |
− |
メッセージヘッダの要素・属性 |
RM-Fault |
---|---|
Request/MessageId/@groupId |
InvalidMessageId |
Request/MessageId/@groupExpiryTime |
InvalidMessageParameters |
Request/ExpiryTime |
InvalidExpiryTime |
(3) RM-Reply Messageの送信時に設定される要素・属性
Reliable MessagingがRM-Reply Messageを送信する時に設定される要素に対する対応を次の表に示します。
項番 |
メッセージヘッダの要素と属性 |
Reliable Messagingの対応 |
---|---|---|
1 |
Response |
WS-Reliabilityプロトコルの仕様と同様です。 |
2 |
Response/NonSequenceReply |
設定しません。 |
3 |
Response/NonSequenceReply/@groupId |
設定しません。 |
4 |
Response/NonSequenceReply/@fault |
設定しません。 |
5 |
Response/SequenceReplies |
必ず一つは設定します。 |
6 |
Response/SequenceReplies/@groupId |
WS-Reliabilityプロトコルの仕様と同様です。 |
7 |
Response/SequenceReplies/ReplyRange |
一つだけ設定します。 |
8 |
Response/SequenceReplies/ReplyRange/@from |
@toと同じ値を設定します。 |
9 |
Response/SequenceReplies/ReplyRange/@to |
@fromと同じ値を設定します。 |
10 |
Response/SequenceReplies/ReplyRange/@fault |
WS-Reliabilityプロトコルの仕様と同様です。 |
(4) RM-Reply Messageの受信時に設定される要素・属性
Reliable Messagingが受信したRM-Reply Messageに設定される要素に対する対応と,指定できる値の範囲を次の表に示します。
項番 |
メッセージヘッダの要素と属性 |
Reliable Messagingの対応 |
指定できる値の範囲※ |
---|---|---|---|
1 |
Response |
WS-Reliabilityプロトコルの仕様と同様です。 |
− |
2 |
Response/NonSequenceReply |
設定されたメッセージは破棄します。 |
− |
3 |
Response/NonSequenceReply/@groupId |
設定されたメッセージは破棄します。 |
− |
4 |
Response/NonSequenceReply/@fault |
設定されたメッセージは破棄します。 |
− |
5 |
Response/SequenceReplies |
一つだけ設定したメッセージには対応します。省略された,または複数設定されたメッセージは破棄します。 |
− |
6 |
Response/SequenceReplies/@groupId |
WS-Reliabilityプロトコルの仕様と同様です。 |
0〜256文字 |
7 |
Response/SequenceReplies/ReplyRange |
一つだけ設定したメッセージには対応します。省略された,または複数設定されたメッセージは破棄します。 |
− |
8 |
Response/SequenceReplies/ReplyRange/@from |
@toと同じ値を設定したメッセージには対応します。@toと異なる値が設定されたメッセージは破棄します。 |
− |
9 |
Response/SequenceReplies/ReplyRange/@to |
@fromと同じ値を設定したメッセージには対応します。@fromと異なる値が設定されたメッセージは破棄します。 |
− |
10 |
Response/SequenceReplies/ReplyRange/@fault |
WS-Reliabilityプロトコルの仕様と同様です。 |
− |
(5) PollRequest Messageの送受信時に設定される要素・属性
Reliable Messagingでは,送信,受信ともにPollRequest Messageはサポートしません。PollRequest Messageを受信した場合は,メッセージ内で指定しているメッセージに対して「FeatureNotSupported」のRM-Faultを設定したRM-Reply Messageを返信します。
なお,Reliable Messagingでは,PollRequest Messageに指定された最初のメッセージに対して「FeatureNotSupported」のRM-Faultを返します。
(6) Reliable MessageとRM-Reply Messageの同梱
Reliable Messagingは,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の扱い
Reliable Messagingは,groupExpiryTimeやExpiryTimeを表す[XML Schema Part2]dateTimeの値に,次の制限を持ちます。
-
送信時は,小数点以下の値は削除してメッセージに設定します。
-
受信時は,小数点以下の値は切り上げて処理します。ただし,小数点以下3けたまでの数値がすべて0の場合,小数点以下の数値を切り捨てます。