機械翻訳について

Message Transmission API

Message Transmission APIは、プロデューサ経由のメッセージの送信およびコンシューマ経由のメッセージの受信のためのインタフェースを、トランザクションなどの高度なメッセージング機能も含めて提供します。 Message Transmission APIは、メッセージング・コンテキスト、接続、セッション、永続サブスクリプション、一時宛先およびキュー・ブラウザを作成および管理する機能も備えています。

トピック:

メッセージング・コンテキストの作成および管理

この項では、Oracle Messaging Cloud Serviceのメッセージング・コンテキストの作成および管理に関する情報を提供します。

トピック:

メッセージング・コンテキストの作成

メッセージング・コンテキストは接続、セッション、プロデューサ、コンシューマ、一時宛先およびキュー・ブラウザなどの一時オブジェクトのコンテナです。

メッセージング・コンテキストの作成は暗黙的な操作です。 これは、認証を渡すOracle Messaging Cloud Serviceへの最初のアクセスによって作成されます。 Oracle Messaging Cloud Serviceにアクセスするには、少なくとも1つのメッセージング・コンテキストをクライアントで作成する必要があります。 新規メッセージング・コンテキストが作成されると、HTTPレスポンスにはヘッダーX-OC-NEW-MESSAGING-CONTEXT: trueが含まれます。 既存のメッセージング・コンテキストは、HTTPリクエストでJSESSIONID Cookieによって識別されます。 HTTPリクエストにJSESSIONID cookieが含まれていない場合、またはHTTPリクエストに期限切れのメッセージング・コンテキスト用のJSESSIONID cookieが含まれている場合は、新しいメッセージング・コンテキストが作成されます。 メッセージング・コンテキストの詳細は、「メッセージング・コンテキストとHTTP Cookie」を参照してください。

REST APIで作成された各メッセージング・コンテキストには、関連付けられている非アクティブ最大間隔 (MII)があります。 メッセージング・コンテキストは、関連付けられているMIIよりも長い期間、アクセスされない場合に期限切れになります。

非アクティブ最大間隔(MII)の取得

この項では、サービスまたはサービス・インスタンスで設定可能な最大MIIの取得に関する情報を提供します。

メソッド: GET

パス: /maxInactiveInterval

有効範囲: メッセージング・コンテキスト

認可: Messaging AdministratorまたはMessaging Worker

結果: 現在のMIIと許可されている最大のMIIの情報が返されます。

レスポンス・ヘッダー:

  • X-OC-MII: 正の整数(秒)

    現在のMIIの値を示します。

  • X-OC-MAX-MII: 正の整数(秒)

    サービスまたはサービス・インスタンスによる設定が許可されている最大のMIIが示されます。

エラー・レスポンス:

エラー・メッセージ 説明

operationFailed

クライアントIDを取得しようとして低レベルの例外が発生しました。

非アクティブ最大間隔(MII)の設定

この項では、最大非アクティブ間隔(MII)の設定に関する情報を提供します。

メソッド: POST

パス: /maxInactiveInterval

有効範囲: メッセージング・コンテキスト

認可: Messaging AdministratorまたはMessaging Worker

リクエスト・パラメータ:

パラメータ 説明

mii

値は負数ではない整数で、クライアントがMIIを設定する対象の秒数として解釈される必要があります。

結果: リクエスト内のmiiの値が整数の場合は、MIIはその値(または、値が900を上回る場合は900)に設定されます。 これが0の場合は、メッセージング・コンテキストはすぐに期限切れになり、削除されます。

注意:

0という値は無限大を意味しません。 クライアントはメッセージング・コンテキストを期限切れなしに設定しない可能性があります。

レスポンス・ヘッダー:

  • X-OC-MII: 正の整数(秒)

    リクエストされたMIIが正数だった場合、これは非アクティブ最大間隔の新規の値であり、送信された値を下回る場合があります。 最大値は900秒です。

  • X-OC-MAX-MII: 正の整数(秒)

    サービスまたはサービス・インスタンスによる設定が許可されている最大のMIIが示されます。 許可されている最大のMIIは900秒です。

エラー・レスポンス:

エラー・メッセージ 説明

badParameter

miiパラメータの値が整数として解析されなかったか、負数でした。

operationFailed

低レベルの例外が発生しました。

接続の作成および管理

クライアントはクライアントIDを接続と関連付けることができます。 クライアントIDは、サブスクリプション名とともに、永続サブスクリプションをトピックに対して識別する文字列です。 トピックで永続コンシューマを作成する際、接続で設定されたクライアントIDは、永続サブスクリプションを識別するためにコンシューマ作成メソッドで指定されたサブスクリプション名とともに使用されます。

InvalidClientIDExceptionエラーが生成される接続でクライアントIDを設定しようとすると、exceptionClassの接続は不安定になります。 このようなエラー・レスポンスを受け取る接続は閉じる必要があります。

トピック:

接続の作成

このトピックでは、接続の作成に関する情報を提供します。

メソッド: PUT

パス: /connections/connectionName

有効範囲: メッセージング・コンテキスト

認可: Messaging AdministratorまたはMessaging Worker

リクエスト・パラメータ:

パラメータ 説明

clientId

オプション。 この値はクライアントが接続で設定するクライアントIDです。

action

オプション。 接続を開始するには、actionパラメータの値がstartである必要があります。

結果: 名前connectionNameで接続を作成します。 接続は作成されるときに停止されます(接続を作成するためにstartアクションがPUTリクエストで指定されている場合を除く)。

レスポンス本文:

接続を作成するためのXMLのレスポンス本文は次のとおりです。

<connection>
    <metadata>
        <JMSXPropertyNames>
            <items>JMSXDeliveryCount</items>
            <items>JMSXGroupID</items>
            <items>JMSXGroupSeq</items>
        </JMSXPropertyNames>
    </metadata>
  <canonicalLink>relative path to newly created connection</canonicalLink>
</connection>

サポートされている各JMSXプロパティ名は<items>要素でリストされています。

接続を作成するためのJSONのレスポンス本文は次のとおりです。

{ 
   "metadata": 
      { 
        "JMSXPropertyNames": 
            [
              "JMSXDeliveryCount",
              "JMSXGroupID",
              "JMSXGroupSeq"
            ] 
      }
  "canonicalLink": "relative path to newly created connection" 
}

詳細は、次のリンクを参照してください:

エラー・レスポンス:

エラー・メッセージ 説明

clientIdFailure

接続のクライアントIDに対して指定されている値が、JMSプロバイダによって拒否されます。

connectionAlreadyExists

指定された名前の接続はすでに存在します。

maxConnectionCountUnavailable

サービス・インスタンスに許可される接続数の判別中に内部エラーが発生しました。

maxLocalConnectionsReached

サービス・インスタンスは、クラウドの単一の仮想マシンで作成できる接続数を超えています。 通常これは、サービス・インスタンスが最大許容接続数に達しているか、超えてさえいることを意味します。

operationFailed

クライアントIDを取得しようとして低レベルの例外が発生しました。

接続プロパティの更新

この項では、接続プロパティの更新に関する情報を提供します。

メソッド: POST

パス: /connections/connectionName

有効範囲: メッセージング・コンテキスト

認可: Messaging AdministratorまたはMessaging Worker

リクエスト・パラメータ:

パラメータ 説明

clientId

オプション。 この値はクライアントが接続で設定するクライアントIDです。

action

オプション。 接続を開始するには、actionパラメータの値がstartである必要があります。 接続を停止するには、actionパラメータの値がstopである必要があります。

結果: clientIdパラメータが存在する場合、次の阻止条件がいずれもtrueでなければ、接続のクライアントIDは指定された値に設定されます:

  • クライアントIDがすでに接続の値に設定されています。

  • 接続が、作成されたときに開始されました。

  • 接続がいずれかの操作に使用されています。

  • クライアントIDが他のアプリケーションで使用中です。

阻止条件のいずれかがtrueの場合、400エラー・レスポンスが生成されます。

注意:

REST APIクライアントがクライアントIDを接続で設定する場合、その接続が存在するかぎり、他の接続が同じクライアントIDをそこに設定することはできなくなります。 結果として、他の接続がそのクライアントIDの永続サブスクリプションを作成、削除または消費することはできません。 たとえば、次の状況で考えてみます:

  • クライアントに障害が発生するか、クライアントIDによる接続が含まれるメッセージング・コンテキストを識別するJSESSIONID HTTP Cookieの値を失います。

  • クライアントIDを使用する接続を削除することも、その接続が含まれるメッセージング・コンテキストのMIIを0に設定することでメッセージング・コンテキストが期限切れになることもなく、クライアントが終了します。

これらのケースはいずれも、メッセージング・コンテキストが期限切れになるまで、どのクライアントも指定されたクライアントIDで新規の接続を作成できません。 これらの状況を避けるため、接続でクライアントIDを設定するREST APIクライアントは次の作業を行う必要があります:

  • クライアントIDによる接続が含まれるメッセージング・コンテキストのMIIを最小可能値に設定することで、クライアントに障害が発生するか、JSESSIONID HTTP Cookieの値を失った場合に、クライアントIDを再利用できるまでの時間が最小になるようにします。

  • 接続リソースで明示的にDELETEを実行するか、接続が含まれるメッセージング・コンテキストのMIIを0に設定することで(これによってコンテキスト内のすべての接続が終了します)、終了前にクライアントIDによる接続を削除します。

エラー・レスポンス:

エラー・メッセージ 説明

clientIdFailure

接続のクライアントIDに対して指定されている値が、JMSプロバイダによって拒否されます。

clientIdの値が他のアプリケーション(メッセージ・プッシュ・リスナーを含む)で使用されている可能性があります。

connectionNotFound

リクエストされた接続は存在しません。

clientIdUnsettable

すでに設定済か、クライアントIDがすでに設定できない状態の後で操作が実行されている(例: 接続の開始、セッションの作成)かのいずれかの理由で設定が不可能な接続で、クライアントIDを設定しようとしました。

operationFailed

クライアントIDを取得しようとして低レベルの例外が発生したか、その値が拒否されました。

接続の削除

このトピックでは、接続の削除に関する情報を提供します。

メソッド: DELETE

パス: /connections/connectionName

有効範囲: メッセージング・コンテキスト

認可: Messaging AdministratorまたはMessaging Worker

結果: 接続をクローズして削除します。 接続で作成されたセッション、プロデューサ、コンシューマ、一時宛先およびキュー・ブラウザもすべてクローズして削除されます。

エラー・レスポンス:

エラー・メッセージ 説明

connectionNotFound

リクエストされた接続は存在しません。

セッションの作成および管理

メッセージをMessage Transmission APIによって送信または受信できるようになるには、接続とセッションを作成する必要があります。 セッションは、メッセージがクライアントとOracle Messaging Cloud Service間で送信および受信されることの意味を定義する、動作コンテキストを提供します。

トピック:

セッションの作成

このトピックでは、セッションの作成に関する情報を提供します。

メソッド: PUT

パス: /sessions/sessionName

有効範囲: メッセージング・コンテキスト

認可: Messaging AdministratorまたはMessaging Worker

リクエスト・パラメータ:

パラメータ 説明

connection

セッションの作成に使用される接続の名前を指定します。

transacted

オプション。 存在する場合は、値trueまたはfalseを持っていなければなりません。デフォルトはfalseです。 セッションがトランザクション処理されるかどうかを判断します。

ackMode

オプション。 存在する場合は、値autoclient、またはdups_okを持っていなければなりません。デフォルトはautoです。 セッションで受信されたメッセージがどのように承認されるかを判断します。 このパラメータは、transactedパラメータがtrueかどうかには無関係です。 auto値は、受信されたメッセージがその受信時に自動的に承認されることを意味します。 client値は、メッセージがクライアントによって明示的に承認される必要があることを意味します。 dups_ok値は、メッセージが自動的に承認されるが迅速ではないため、承認が遅れる可能性があることを意味します。

結果: セッションを作成します。

エラー・レスポンス:

エラー・メッセージ 説明

missingParameter

connectionパラメータが指定されませんでした。

badParameter

transactedパラメータの値にtrueまたはfalse以外の値があるか、ackModeパラメータの値に許容値以外の値がありました。

sessionAlreadyExists

指定された名前のセッションはすでに存在します。

connectionParameterNotFound

connectionパラメータに指定された名前の接続は存在しません。

operationFailed

セッションの作成中に低レベルの例外がスローされました。

セッションの承認、コミット、ロールバックまたはリカバリ

このトピックでは、セッションの承認、コミット、ロールバックの実行またはリカバリに関する情報を提供します。

メソッド: POST

パス: /sessions/sessionName/state

有効範囲: メッセージング・コンテキスト

認可: Messaging AdministratorまたはMessaging Worker

リクエスト・パラメータ:

パラメータ 説明

action

必須。 値はacknowledgecommitrollbackまたはrecoverにする必要があります。 セッションで受信された未承認のメッセージを承認、未コミットの送信および受信をコミット、未コミットの送信および受信をロールバック、または未承認のメッセージをリカバリ、のいずれの操作を行うかを値が決定します。

結果: 指定された操作を実行します。 アクションがacknowledgeまたはrecoverであり、セッションが自動的に(確認モードautoまたはdups_okのいずれかを使用して)メッセージを確認応答するように設定されている場合、これはノー・オペレーションです。 アクションがcommitまたはrollbackで、セッションが処理済でない場合、これは無処理です。 アクションがrecoverで、セッションが処理済の場合、500エラー・レスポンスが生成されます。

HTTPリクエスト/レスポンスのシーケンスの例については、「トランザクションを使用したメッセージの処理」を参照してください。

エラー・レスポンス:

エラー・メッセージ 説明

missingParameter

actionパラメータが指定されませんでした。

badParameter

actionパラメータの値がacknowledgecommitrollbackまたはrecoverではありませんでした。

sessionNotFound

指定された名前のセッションはありません。

operationFailed

指定されたアクションを指定されたセッションで実行しようとして低レベルの例外がスローされました。

永続サブスクリプションの削除

このトピックでは、永続サブスクリプションの削除に関する情報を提供します。

メソッド: DELETE

パス: /sessions/sessionName/subscriptions/subscriptionName

有効範囲: メッセージング・コンテキスト

認可: Messaging AdministratorまたはMessaging Worker

結果: クライアントIDが接続で設定されているIDで、名前がパスで指定されている名前のサブスクリプションを削除します。

エラー・レスポンス:

エラー・メッセージ 説明

sessionNotFound

パスで指定されたセッションは存在しません。

subscriptionInUse

サブスクリプションはコンシューマを持っています。

subscriptionNotFound

パスで指定されたサブスクリプションは存在しません。

operationFailed

サブスクリプションを削除しようとして低レベルの例外がスローされました。

セッションのクローズおよび削除

このトピックでは、セッションのクローズおよび削除に関する情報を提供します。

メソッド: DELETE

パス: /sessions/sessionName

有効範囲: メッセージング・コンテキスト

認可: Messaging AdministratorまたはMessaging Worker

結果: 名前sessionNameのセッションがクローズして削除されます。 セッションに関連付けられたプロデューサ、コンシューマおよびキュー・ブラウザもすべて暗黙的にクローズして削除されます。

エラー・レスポンス:

エラー・メッセージ 説明

sessionNotFound

指定された名前のセッションはありません。

operationFailed

指定されたセッションをクローズおよび削除しようとして低レベルの例外がスローされました。

メッセージの送信

この項では、REST APIを使用したメッセージの送信に関する情報を提供します。

トピック:

メッセージを宛先に送信するHTTPリクエストの例については、「メッセージのトピックへの送信」を参照してください。

プロデューサの作成

このトピックでは、プロデューサの作成に関する情報を提供します。

メソッド: PUT

パス: /producers/producerName

有効範囲: メッセージング・コンテキスト

認可: Messaging AdministratorまたはMessaging Worker

リクエスト・パラメータ:

パラメータ 説明

session

必須。 この値はプロデューサを作成するためのセッションの名前です。

destination

オプション。 存在する場合、値は次のいずれかのフォームを取る必要があります:

  • /queues/queueName

  • /topics/topicName

  • /temporaryQueues/queueName

  • /temporaryTopics/topicName

プロデューサ経由で送信されるメッセージのデフォルトの宛先を指定します。

このパラメータが省略される場合、メッセージの送信先の宛先は、このプロデューサ経由で実行される各送信操作でパラメータとして指定する必要があります。

messageIdEnabled

オプション。 存在する場合、値はtrueまたはfalseでなければなりません。デフォルトはtrueです。 プロデューサ経由で送信されたメッセージに対するIDをプロデューサで生成するかどうかを決定します。

注意: このパラメータの値はサービスに対するヒントで、値は無視される可能性があります。

deliveryMode

オプション。 存在する場合、値はpersistentまたはnon_persistentでなければなりません。デフォルトはpersistentです。 生成されたメッセージが永続かどうかを判断します。

ttl

オプション。 存在する場合、値は厳密に正のlong型整数または値maximumでなければなりません。デフォルトはmaximumです。 メッセージがディスパッチされるときと、まだ未配信の場合はJMSブローカによってメッセージが削除されるときの間の時間(ミリ秒)を決定します。 maximumは、サービスで許可されている最大存続期間(2週間以内のミリ秒数)を使用する必要があることを示します。

結果: プロデューサを作成します。

エラー・レスポンス:

エラー・メッセージ 説明

missingParameter

sessionパラメータ値が指定されませんでした。

badParameter

次のいずれかが発生しました:

  • destinationパラメータ値がキューまたはトピックの指定として解析されませんでした。

  • messageIdEnabledパラメータにtrueまたはfalse以外の値がありました。

  • deliveryModeパラメータの値が配信モードとして解析されませんでした。

  • ttlパラメータの値が有効な存続期間ではありませんでした。

sessionParameterNotFound

プロデューサを作成するためのセッションは存在しません。

destinationParameterNotFound

プロデューサに指定されたデフォルトの宛先は存在しません。

producerAlreadyExists

指定された名前のプロデューサはすでに存在します。

timeToLiveTooLarge

ttlパラメータは指定されましたが、サービスで許可されている値(2週間以内のミリ秒数)を上回る整数でした。

operationFailed

プロデューサを作成しようとして低レベルの例外がスローされました。

プロデューサのプロパティの設定

この項では、プロデューサのプロパティの設定に関する情報を提供します。

メソッド: POST

パス: /producers/producerName

有効範囲: メッセージング・コンテキスト

認可: Messaging AdministratorまたはMessaging Worker

リクエスト・パラメータ:

パラメータ 説明

messageIdEnabled

オプション。 存在する場合、値はtrueまたはfalseにする必要があります。 プロデューサ経由で送信されたメッセージに対するIDをプロデューサで生成するかどうかを決定します。

注意: このパラメータの値はサービスに対するヒントで、値は無視される可能性があります。

deliveryMode

オプション。 存在する場合、値はpersistentまたはnon_persistentでなければなりません。 生成されたメッセージが永続かどうかを判断します。

ttl

オプション。 存在する場合、値は厳密な正の長整数または値maximumにする必要があります。 メッセージがディスパッチされるときと、まだ未配信の場合はJMSブローカによってメッセージが削除されるときの間の時間(ミリ秒)を決定します。 maximumは、サービスで許可されている最大存続期間(2週間以内のミリ秒数)を使用する必要があることを示します。

結果: パラメータに関連付けられたプロパティが、すべての存在するパラメータに対して指定された値に設定されます。

エラー・レスポンス:

エラー・メッセージ 説明

badParameter

次のいずれかが発生しました:

  • messageIdEnabledパラメータにtrueまたはfalse以外の値がありました。

  • deliveryModeパラメータの値が配信モードとして解析されませんでした。

  • ttlパラメータの値が有効な存続期間ではありませんでした。

producerNotFound

変更するために指定されたプロデューサは存在しません。

timeToLiveTooLarge

ttlパラメータは指定されましたが、サービスで許可されている値(2週間以内のミリ秒数)を上回る整数でした。

operationFailed

プロデューサを変更しようとして低レベルの例外がスローされました。

プロデューサのクローズおよび削除

このトピックでは、プロデューサのクローズおよび削除に関する情報を提供します。

メソッド: DELETE

パス: /producers/producerName

有効範囲: メッセージング・コンテキスト

認可: Messaging AdministratorまたはMessaging Worker

結果: 名前producerNameのプロデューサをクローズして削除します。

エラー・レスポンス:

エラー・メッセージ 説明

producerNotFound

クローズおよび削除するために指定されたプロデューサは存在しません。

operationFailed

プロデューサをクローズおよび削除しようとして低レベルの例外がスローされました。

メッセージのプロデューサ経由の送信

この項では、プロデューサを介したメッセージの送信に関する情報を提供します。

メソッド: POST

パス: /producers/producerName/messages

有効範囲: メッセージング・コンテキスト

認可: Messaging AdministratorまたはMessaging Worker

結果: HTTPヘッダーで指定されたメッセージと、後述のように指定された宛先へのリクエスト本文を送信します。

リクエスト・パラメータ、ヘッダーおよびリクエスト本文の説明は「RESTクライアントからメッセージを送信するHTTPリクエストのプロパティ」にあり、リクエスト・パラメータの次のような差異を示します:

パラメータ 説明

deliveryMode

このヘッダーのデフォルト値はプロデューサによって定義されます。

ttl

このヘッダーのデフォルト値はプロデューサによって定義されます。

destination

プロデューサが宛先で作成されなかった場合は必須です。この場合はメッセージが指定された宛先に送信されます。 存在する場合、次のいずれかのフォームを取る必要があります:

  • /queues/queueName

  • /topics/topicName

  • /temporaryQueues/queueName

  • /temporaryTopics/topicName

プロデューサが宛先で作成された場合は禁止です。この場合はメッセージが、プロデューサが作成された宛先に送信されます。

groupId

オプション。 このパラメータは、送信中のメッセージのJMSXGroupIDプロパティの設定に使用されます。 これは、このメッセージが含まれるメッセージ・グループの名前です(存在する場合)。

注意:

  • JMSXGroupIDプロパティがHTTPリクエスト・ヘッダーとして設定されている場合、エスケープ値文字列に設定される必要があります。そうしないと、badParameterエラー・レスポンスが生成されます。 エスケープ値文字列の詳細は、「エスケープ値文字列について」を参照してください。 JMSXGroupIDプロパティが問合せ文字列パラメータとして設定されている場合、問合せ文字列パラメータをエスケープするための通常の規則が保持されます。

  • このパラメータはオプションですが、groupSeqが設定されている場合のみ、設定する必要があります。

groupSeq

オプション。 このパラメータは、送信中のメッセージのJMSXGroupSeqプロパティの設定に使用されます。 これは、groupIdパラメータで指定されたメッセージ・グループ内のメッセージのシーケンス番号です。 groupSeqパラメータは整数に設定する必要があります。そうしないと、badParameterエラー・レスポンスが生成されます。

このパラメータはオプションですが、groupIdが設定されている場合のみ、設定する必要があるので注意してください。

レスポンス・ヘッダー:

ヘッダー 説明

X-OC-DESTINATION

次のいずれかの値がこのヘッダーに設定されます:

  • /queues/メッセージが送信された先のキューの名前

  • /topics/メッセージが送信された先のトピックの名前

  • /temporaryQueues/メッセージが送信された先の一時キューの名前

  • /temporaryTopics/メッセージが送信された先の一時トピックの名前

X-OC-MESSAGE-ID

メッセージのID (存在する場合)

X-OC-DELIVERY-MODE

persistentまたはnon_persistent 詳細は、「永続および非永続メッセージについて」を参照してください。

X-OC-TIMESTAMP

メッセージがJMSブローカに引き渡された時間(存在する場合)。 これはUNIX時間として解釈される長整数です。

X-OC-EXPIRATION

メッセージの有効期限。これはUNIX時間として解釈される長整数です。

X-OC-PRIORITY

これは常にデフォルト値の4です。

エラー・レスポンス:

エラー・メッセージ 説明

badParameter

次のいずれかが発生しました:

  • リクエストでdestinationパラメータに指定された値はキューまたはトピックの指定として解析されませんでした。

  • deliveryModeパラメータの値が配信モードとして解析されませんでした。

  • ttlパラメータの値が有効な存続期間ではありませんでした。

  • replyToパラメータの値がキューまたはトピックの指定として解析されませんでした。

  • messageTypeパラメータの値がこのパラメータの許容値の1つではありませんでした。

badProperty

X-OC-type-PROPERTY-nameヘッダーに、指定されたタイプのプロパティの形式に一致しない値がありました。

forbiddenContentType

HTTPリクエストのContent-Typeヘッダーに値application/x-www-form-urlencodedがありました。 詳細は、「エラー・キー、ステータス・コードおよびエラー・メッセージ」を参照してください。

multipleDestinations

プロデューサにデフォルトの宛先がなく宛先がリクエストで指定されなかったか、プロデューサにデフォルトの宛先があり、さらに宛先がリクエストで指定されたか、のいずれかです。

destinationParameterNotFound

メッセージに指定された宛先は存在しません。

producerNotFound

メッセージを送信するために指定されたプロデューサは存在しません。

messageHeadersTooLarge

リクエストのメッセージ関連ヘッダーが最大サイズを超えました。

messageBodyTooLarge

リクエストの本文が最大サイズを超えました。

timeToLiveTooLarge

ttlパラメータは指定されましたが、サービスで許可されている値(2週間以内のミリ秒数)を上回る整数でした。

maxMessagesOnTargetDestinationReached

サービス・インスタンスにはすでに、メッセージの指定された宛先に最大数のメッセージがあります。

maxMessageBytesOnTargetDestinationReached

ターゲット設定された宛先がメッセージのバイト数に対するハード割当て制限に達し、まだソフト割当て制限を下回っていないため、メッセージを送信できませんでした。

詳細は、「ハード割当て制限とソフト割当て制限」を参照してください。

operationFailed

メッセージ本文が含まれる入力ストリームをサーバーが取得できなかったか、メッセージを送信しようとしてJMSブローカによって低レベルの例外がスローされました。

メッセージの受信

この項では、REST APIを使用したメッセージの受信に関する情報を提供します。

トピック:

コンシューマの作成

このトピックでは、コンシューマの作成に関する情報を提供します。

メソッド: PUT

パス: /consumers/consumerName

有効範囲: メッセージング・コンテキスト

認可: Messaging AdministratorまたはMessaging Worker

リクエスト・パラメータ:

パラメータ 説明

session

必須。 この値はコンシューマを作成するためのセッションの名前です。

destination

オプション。 存在する場合、値は次のいずれかのフォームを取る必要があります:

  • /queues/queueName

  • /topics/topicName

  • /temporaryQueues/queueName

  • /temporaryTopics/topicName

コンシューマがメッセージを消費する元の宛先を指定します。 destinationパラメータが存在する場合、後述のように他のパラメータで指定された文字でコンシューマが作成されます。 destinationパラメータが存在しない場合、作成中のコンシューマは、すでに作成された永続サブスクリプションを介したトピックのコンシューマである必要があります。

selector

オプション。 コンシューマが受信するメッセージのサブセットを指定します。 パラメータの値はセレクタである必要があります。 セレクタの構文については、javax.jms.Messageクラスに対するJava APIリファレンスの「Message Selectors」の項を参照してください。

localMode

オプション。 存在する場合、値はGET_LOCALまたはNO_LOCALにする必要があります。 トピック上のコンシューマが、コンシューマが含まれる接続によって送信されるメッセージを受信するかどうかを指定します。 GET_LOCALの値は接続経由で送信されたメッセージが受信されることを意味し、NO_LOCALの値はこのようなメッセージが受信されないことを意味します。 デフォルトはGET_LOCALです。

subscriptionName

オプション。 永続サブスクリプションの名前を指定します。 存在しない場合、作成されたコンシューマは永続トピック・サブスクライバになります(このため、destinationパラメータがトピックを指定する必要があります)。 HTTPリクエスト/レスポンスのシーケンスの例については、「永続サブスクリプションの作成」を参照してください。

結果: コンシューマを作成します。 destinationパラメータが存在してキューを指定する場合、コンシューマはキューから消費します。 destinationパラメータが存在してトピックを指定する場合、コンシューマはトピックから消費します。

注意:

subscriptionNameパラメータが存在する場合、正確な結果はdestinationパラメータが存在するかどうかによって大きく変わります。

destinationパラメータが存在する場合、次のように他のパラメータで指定された文字でコンシューマが作成されます:

  • destinationがトピックを指定し、クライアントIDが接続に設定されてsubscriptionNameが存在する場合、クライアントIDおよびサブスクリプション名で指定されたトピックに対する永続サブスクリプション経由でコンシューマがメッセージを消費します。

  • 指定されたクライアントIDおよび名前の永続サブスクリプションが存在しない場合、指定されたトピックに指定されたセレクタによってサブスクリプションが作成されます。

  • IDおよび名前の永続サブスクリプションがすでに存在し、トピックおよびセレクタが永続サブスクリプションを作成したメソッド内のものと同じである場合、既存の永続サブスクリプションが使用されます(したがって、サブスクリプションが作成されたときからトピックに送信されたメッセージでサブスクリプションによって消費されていないものを、消費できるようになります)。

  • IDおよび名前の永続サブスクリプションがすでに存在しますが、このメソッドで指定されたトピックまたはセレクタ(またはそれがない場合も)が、既存の永続サブスクリプションを作成したメソッドで指定されたトピックおよびセレクタ(またはそれがない場合も)と異なる場合、既存のサブスクリプションは削除され、それによって保存されたメッセージは破棄されて、指定されたID、名前およびトピックで指定されたセレクタによって新規の永続サブスクリプションが作成されます。

destinationパラメータが存在しない場合、クライアントIDが接続で設定されている必要があり、subscriptionNameパラメータが存在する必要があり、selectorパラメータが存在しない必要があり、指定されたクライアントおよびサブスクリプション名の永続サブスクリプションが存在する必要があります。 (localModeのセマンティクスは未変更です。) この場合、作成されたコンシューマは既存のサブスクリプションに対するトピック上のコンシューマで、既存のサブスクリプションのセレクタ(またはそれがない場合も)とともに、既存のサブスクリプションを使用します。 この場合、メソッドでサブスクリプションは作成または削除されません

レスポンス・ヘッダー:

既存の永続サブスクリプションでのコンシューマの作成に対するレスポンスには、サブスクライバのプロパティを提供する次のヘッダーが含まれます。

  • X-OC-DESTINATION

    サブスクリプションのトピックを示します。

  • X-OC-SELECTOR

    サブスクリプションのセレクタを示します(ある場合)。

エラー・レスポンス:

エラー・メッセージ 説明

missingParameter

sessionパラメータ値が指定されませんでした。

badParameter

次のいずれかが発生しました:

  • destinationパラメータ値がキューまたはトピックの指定として解析されませんでした。

  • selectorパラメータ値が非整形式で、許可されていない識別子が含まれていました。

  • localModeパラメータ値が許容値の1つではありませんでした。

  • メソッドがdestinationパラメータを指定していませんが、消費される予定だった既存の永続サブスクリプションに無効なセレクタがありました。

noDestinationForConsumer

宛先もサブスクリプション名もどちらも指定されませんでした。

localModeNonTopic

localModeおよびdestinationパラメータが指定されましたが、destinationパラメータではトピックが指定されていません。

subscriptionInUse

永続サブスクリプションがすでにコンシューマを持つ場合に、その永続サブスクリプションでコンシューマを作成しようとしました。

subscriptionNonTopic

サブスクリプション名およびdestinationパラメータが指定されましたが、destinationパラメータがトピックを指定しません。

sessionParameterNotFound

プロデューサを作成するためのセッションは存在しません。

destinationParameterNotFound

コンシューマがメッセージを取得する元の宛先が存在しません。

consumerAlreadyExists

指定された名前のコンシューマはすでに存在します。

subscriptionNotFoundNoInfo

メソッドがdestinationパラメータを指定していませんが、消費される予定だった既存の永続サブスクリプションが見つかりませんでした。

maxDurableSubscriptionsReached

作成が試行されたコンシューマが存在していた永続サブスクリプションは現在存在せず、このメソッドの呼出しによってサブスクリプションが(もし存在しなければ)作成され、サービス・インスタンスは永続サブスクリプションの最大数になります。

operationFailed

メソッドがdestinationパラメータを指定していませんが、消費される予定だった既存の永続サブスクリプションに無効な宛先があったか、低レベルの例外がコンシューマの作成中にスローされました。

コンシューマのクローズおよび削除

このトピックでは、コンシューマのクローズおよび削除に関する情報を提供します。

メソッド: DELETE

パス: /consumers/consumerName

有効範囲: メッセージング・コンテキスト

認可: Messaging AdministratorまたはMessaging Worker

結果: コンシューマをクローズして削除します。

エラー・レスポンス:

エラー・メッセージ 説明

consumerNotFound

クローズするために指定されたコンシューマは存在しません。

operationFailed

指定されたコンシューマのクローズおよび削除中に低レベルの例外がスローされました。

メッセージのコンシューマ経由の受信

この項では、コンシューマを介したメッセージの受信に関する情報を提供します。

メソッド: POST

パス: /consumers/consumerName/messages

有効範囲: メッセージング・コンテキスト

認可: Messaging AdministratorまたはMessaging Worker

リクエスト・パラメータ:

パラメータ 説明

timeout

必須。 値のミリ秒数は、5分の最大受信タイムアウトを上回らない、厳密な正の長整数にする必要があります。 nullメッセージを返す前に、メッセージがコンシューマから使用可能になるまで待機する時間(ミリ秒)を指定します。

HTTPリクエスト/レスポンスのシーケンスの例については、「セレクタによるキューからのメッセージの受信」および「永続サブスクリプションからのメッセージの受信」を参照してください。

結果:

  • セレクタ(コンシューマで設定されている場合)の条件に合うメッセージがコンシューマのキューにある場合、またはtimeoutのミリ秒数内でキューを入力する場合、これはHTTPレスポンスで返されます。 そうでない場合はnullレスポンスが返されます。

  • トピックから受信する場合、コンシューマが作成されてからメッセージがトピックにパブリッシュされている場合、またはtimeoutのミリ秒数内でメッセージがトピックにパブリッシュされている場合、これらのメッセージの1つがHTTPレスポンスで返されます。 そうでない場合はnullレスポンスが返されます。

  • コンシューマが永続サブスクリプションから消費している場合、および永続サブスクリプションに現在格納されているメッセージがある場合、またはtimeoutのミリ秒数内で永続サブスクリプションを入力する場合、これはHTTPレスポンスで返されます。 そうでない場合はnullレスポンスが返されます。

注意:

コンシューマが作成されたセッションが処理済の場合、または処理済ではないがクライアント承認が設定されている場合、セッションをコミット(セッションが処理済の場合)または承認(セッションが処理済ではないがクライアント承認が設定されている場合)する前に、1つのメッセージのみがそのコンシューマ経由で受信される可能性があります。 適切なコミットまたは承認アクションが行われるまで、それ以外ではコンシューマの宛先から受信される可能性がある他のメッセージが存在する場合でも、そのコンシューマからの受信でnullレスポンスが返されます。

レスポンス・ヘッダー: メッセージが返される場合、ヘッダーには「メッセージを配信するHTTPリクエストおよびレスポンスのプロパティ」の説明どおりにメッセージで決定される内容が含まれます。 それ以外の場合、ヘッダーX-OC-NULL: trueのコンテンツのないレスポンスが返されます。

エラー・レスポンス:

エラー・メッセージ 説明

missingParameter

リクエストにtimeoutパラメータが指定されていませんでした。

badParameter

timeoutパラメータの値が長い整数値として解析されなかったか、timeoutパラメータの値が0または負の数でした。

consumerNotFound

受信するために指定された元のコンシューマは存在しません。

timeoutTooLarge

timeoutパラメータの値が最大許容値(5分)を超えました。

operationFailed

受信中に低レベルの例外がスローされたか、受信されたメッセージから情報を抽出しようとして例外がスローされました。

永続サブスクリプションの作成および管理

この項では、Oracle Messaging Cloud Serviceの永続サブスクリプションの作成および管理に関する情報を提供します。

トピック:

永続サブスクリプションの作成

永続サブスクリプションは、特殊なタイプのコンシューマの作成によって暗黙的に作成されます。

永続サブスクリプションを作成するには、「コンシューマの作成」項で特にsubscriptionNameおよびclientIdについての注記を参照してください。

永続サブスクリプションのリスト

この項では、永続サブスクリプションのリストに関する情報を提供します。

メソッド: GET

パス: /subscriptions

有効範囲: メッセージング・コンテキスト

認可: Messaging AdministratorまたはMessaging Worker

リクエスト・パラメータ:

パラメータ 説明

subscriptionName

サブスクリプションの名前。

topicName

トピックの名前。 永続サブスクリプションはトピックのみに適用されるため、このパラメータの値は/topics/nameという形式ではなく、この形式のname部分のみなので注意してください。

clientId

サブスクリプションに関連付けられたクライアントID。

これらのパラメータはいずれも必須ではありませんが、後述のように特定の組合せのみが許可されています。

結果: 指定されたリクエスト・パラメータに応じて、1つ以上の永続サブスクリプションに関する情報を返します:

  • clientIdsubscriptionName

    リクエストで指定されたネームスペース(存在する場合)の指定された名前およびクライアントIDに対する、一意の永続サブスクリプションを指定するXMLドキュメントまたはJSONドキュメントを返します。

    XML形式は次のようになります:

    <subscription>
        <clientId>client ID<clientId>
        <name>subscription name</name>
        <topic>topic name</topic>
        <selector>selector</selector>
        <canonicalLink>relative path to the subscription</canonicalLink>
    </subscription>

    JSON形式は次のようになります:

    { 
        "clientId": "client ID", 
        "name": "subscription name", 
        "topic": "topic name", 
        "selector": "selector", 
        "canonicalLink": "relative path to the subscription" 
    }

    すべての子要素が存在しますが、selectorは例外で、サブスクリプションがセレクタに関連付けられている場合に存在します。 clientIdおよびname要素は常に対応するパラメータと同じ値を持ちます。

  • clientId

    リクエストで指定されたネームスペースの指定されたクライアントIDに対する、すべての永続サブスクリプションを指定するXMLドキュメントまたはJSONドキュメントを返します。

    XML形式は次のようになります:

    <subscriptions>
        <items>
            <clientId>client ID<clientId>
            <name>name</name>
            <topic>topic name</topic>
            <selector>selector</selector>
            <canonicalLink>relative path to the subscription</canonicalLink>
        </items>
        ...
        <canonicalLink>relative path to the subscription list</canonicalLink>
    </subscriptions>

    JSON形式は次のようになります:

    { 
       "subscriptions": 
          { 
            "clientId": "client ID",
            "name": "subscription name"
            "topic": "topic name", 
            "selector": "selector", 
            "canonicalLink": "relative path to the subscription" 
          } 
        "canonicalLink": "relative path to the subscription list" 
    }

    クライアントIDにサブスクリプションがない場合、この要素は空である可能性があります。 個々の子は一意の永続サブスクリプションを指定します。 すべてのsubscription要素のclient IDは対応するリクエスト・パラメータの値と同じです。nameの各値は、永続サブスクリプションがクライアントIDおよびサブスクリプション名で指定される際に一度だけ表示されます。

  • topicName

    リクエストで指定されたネームスペースの指定された名前のトピックに対する、すべての永続サブスクリプションを指定するXMLドキュメントまたはJSONドキュメントを返します。 永続サブスクリプションはトピックのみに適用されるため、このパラメータの値は/topics/nameという形式ではなく、この形式のname部分のみなので注意してください。 レスポンス内のXMLドキュメントの形式は、clientIdについて前述したXML形式と同じです。 トピックにサブスクリプションがない場合、この要素は空である可能性があります。 個々の子は一意の永続サブスクリプションを指定します。 すべてのsubscription要素のtopic>の内容は、対応するリクエスト・パラメータの値と同じです。「クライアントID」nameの各値のペアは、クライアントIDとサブスクリプション名によって永続サブスクリプションが指定されるため、1回だけ表示されます。

  • いずれのパラメータも指定されない

    リクエストで指定されたネームスペースに対する、すべての永続サブスクリプションを指定するXMLドキュメントまたはJSONドキュメントを返します。 フォーマットは、前述のclientIdsubscriptionNameclientId、およびtopicNameと同じです。 ネームスペースに永続サブスクリプションがない場合、この要素は空である可能性があります。 個々の子は一意の永続サブスクリプションを指定します。 すべてのsubscription要素のtopic値は対応するリクエスト・パラメータの値と同じです。client IDおよびnameの各値のペアは、永続サブスクリプションがクライアントIDおよびサブスクリプション名で指定される際に一度だけ表示されます。

エラー・レスポンス:

エラー・メッセージ 説明

disallowedSubscriptionLookup

subscriptionNameclientIdおよびtopicNameパラメータの指定されている組合せは、先にリストした組合せの1つではありません。

destinationParameterNotFound

topicNameパラメータが指定されましたが、その名前のトピックがネームスペースにありません。

subscriptionNotFoundFull

クライアントIDおよびサブスクリプション名がリクエストで指定されましたが、このようなサブスクリプションは存在しません。

operationFailed

低レベルの例外が発生しました。

永続サブスクリプションの削除

永続サブスクリプションは、特殊なタイプのコンシューマの作成によって暗黙的に作成されます。 永続サブスクリプションは、各メッセージが受信されるまでトピックに送信されたすべてのメッセージを格納します。

セッションによる永続サブスクリプションの削除の詳細は、「永続サブスクリプションの削除」を参照してください。

一時宛先の作成および管理

この項では、Oracle Messaging Cloud Serviceの一時宛先の作成および管理に関する情報を提供します。

トピック:

一時宛先の作成

次の種類の一時宛先を作成できます:

  • 一時キュー: TemporaryQueueは、接続の期間に対して作成される一意のキュー・オブジェクトです。 メッセージは一時キューからのみ、それが作成された接続を通して消費される可能性があります。

  • 一時トピック: TemporaryTopicは、接続の期間に対して作成される一意のトピック・オブジェクトです。 メッセージは一時トピックからのみ、それが作成された接続を通して消費される可能性があります。

メソッド: POST

パス:

  • 一時キューを作成する場合のパスは/temporaryQueues

  • 一時トピックを作成する場合のパスは/temporaryTopics

有効範囲: メッセージング・コンテキスト

認可: Messaging AdministratorまたはMessaging Worker

リクエスト・パラメータ:

パラメータ 説明

session

セッション名を指定します。 このパラメータは必須です。

結果: 一時キューまたは一時トピックを作成します。

レスポンス・ヘッダー:

Location

新規に作成された一時キューまたは一時トピックのURLが含まれます。

レスポンス本文:

宛先タイプ XML形式 JSON形式

一時キュー

<temporaryQueue>
    <name>queue name</name>
    <connection>name of the connection with which the queue is associated</connection>
    <canonicalLink>relative path to temporary queue</canonicalLink>
</temporaryQueue>
{ 
    "type": "temporaryQueue",
    "name" "queue name", 
    "connection": "name of the connection with which the queue is associated",
    "canonicalLink": "relative path to temporary queue" 
}

一時トピック

<temporaryTopic>
    <name>topic name</name>
    <connection>name of the connection with which the topic is associated</connection>
    <canonicalLink>relative path to temporary topic</canonicalLink>
</temporaryTopic>
{ 
    "type": "temporaryTopic",
    "name" "topic name", 
    "connection": "name of the connection with which the topic is associated",
    "canonicalLink": "relative path to temporary topic" 
}

一時キュー(複数)

<temporaryQueues>
    <name>queue name</name>
    <connection>name of the connection with which the queue is associated</connection>
    <canonicalLink>relative path to temporary queue</canonicalLink>
	...
	<canonicalLink>relative path to list of temporary queues</canonicalLink>

</temporaryQueues>
{ 
    "temporaryQueues": [ 
        { 
            "name": "queue name", 
            "connection": "name of the connection with which the queue is associated", 
            "canonicalLink": "relative path to temporary queue" 
        } 
        ... 
    ], 
    "canonicalLink": "relative path to list of temporary queues" 
}

一時トピック(複数)

<temporaryTopics>
    <name>topic name</name>
    <connection>name of the connection with which the topic is associated</connection>
    <canonicalLink>relative path to temporary topic</canonicalLink>
	...
	<canonicalLink>relative path to list of temporary topics</canonicalLink>
</temporaryTopics>
{ 
    "temporaryTopics": [ 
        { 
            "name": "topic name", 
            "connection": "name of the connection with which the topic is associated", 
            "canonicalLink": "relative path to temporary topic" 
        } 
        ... 
    ], 
    "canonicalLink": "relative path to list of temporary topics" 
}

nameフィールドのコンテンツは、新しく作成された一時キューまたはトピックに対してサービスで生成された擬似ランダム名です。

connectionフィールドは、メッセージング・コンテキストの接続から宛先が作成されなかった場合、省略されます。

エラー・レスポンス:

エラー・メッセージ 説明

sessionNotFound

指定された名前のセッションは存在しません。

一時宛先のリスト

この項では、一時宛先のリストに関する情報を提供します。

一時キューまたは一時トピックのリスト

メソッド: GET

パス:

  • メッセージング・コンテキスト内のすべての一時キューをリストする場合のパスは/temporaryQueues

  • メッセージング・コンテキスト内のすべての一時トピックをリストする場合のパスは/temporaryTopics

有効範囲: メッセージング・コンテキスト

認可: Messaging AdministratorまたはMessaging Worker

リクエスト・パラメータ:

パラメータ 説明

connection

オプション。 connectionパラメータを指定して、connection-nameという名前の接続に関連するすべての一時キューまたはトピックをリストします。

結果: メッセージング・コンテキスト内のすべての一時キューまたは一時トピックのリストが返されます。

レスポンス本文:

XMLで、HTTP Cookieに関連付けられたすべての一時キューをリストするための形式は次のとおりです:

<temporaryQueues>
    <items>
        <name>queue name</name>
        <connection>name of the connection with which the queue is associated</connection>
        <canonicalLink>relative path to temporary queue</canonicalLink>
    </items>
    ...
    <canonicalLink>relative path to list of temporary queues</canonicalLink>
</temporaryQueues>

XMLで、HTTP Cookieに関連付けられたすべての一時トピックをリストするための形式は次のとおりです:

<temporaryTopics>
    <items>
        <name>topic name</name>
        <connection>name of the connection with which the topic is associated</connection>
        <canonicalLink>relative path to temporary topic</canonicalLink>
    </items>
    ...
    <canonicalLink>relative path to list of temporary topics</canonicalLink>
</temporaryTopics>

<name>要素の内容は、queueNameまたはtopicNameです。<connection>要素は、クライアントのメッセージング・コンテキストに関連付けられた接続から一時キューまたはトピックが作成された場合にのみ存在します。

一時キューまたはトピックが他の場所で作成され、たとえばメッセージのReply-Toヘッダー内で受信された場合、<connection>要素は存在しません。

エラー・レスポンス:

エラー・メッセージ 説明
connectionParameterNotFound

REST APIクライアントが、特定の指定された接続で作成された一時宛先をすべてリストするメソッドを呼び出しましたが、その名前の接続はメッセージング・コンテキストに存在しません。

シングル一時キューまたはシングル一時トピックのプロパティの取得

メソッド: GET

パス:

  • シングル一時キューのプロパティを取得するためのパスは/temporaryQueues/queueName

  • シングル一時トピックのプロパティを取得するためのパスは/temporaryTopics/topicName

有効範囲: メッセージング・コンテキスト

認可: Messaging AdministratorまたはMessaging Worker

結果: 指定された名前の一時キューまたは一時トピックのプロパティが返されます。

レスポンス本文:

シングル一時キューをリストするための形式は次のとおりです:

<temporaryQueue>
    <name>queue name</name>
    <connection>name of the connection with which the queue is associated</connection>
    <canonicalLink>relative path to temporary queue</canonicalLink>
</temporaryQueue>

シングル一時トピックをリストするための形式は次のとおりです:

<temporaryTopic>
    <name>topic name</name>
    <connection>name of the connection with which the topic is associated</connection>
    <canonicalLink>relative path to temporary topic</canonicalLink>
</temporaryTopic>

<name>要素の内容は、queueNameまたはtopicNameです。<connection>要素は、クライアントのメッセージング・コンテキストに関連付けられた接続から一時キューまたはトピックが作成された場合にのみ存在します。

一時キューまたはトピックが他の場所で作成され、たとえばメッセージのReply-Toヘッダー内で受信された場合、<connection>要素は存在しません。

エラー・レスポンス:

エラー・メッセージ 説明

destinationNotFound

リクエストされた一時宛先は存在しません。

一時宛先の削除

この項では、一時宛先の削除に関する情報を提供します。

メソッド: DELETE

パス:

  • 一時キューを削除する場合のパスは/temporaryQueues/queueName

  • 一時トピックを削除する場合のパスは/temporaryTopics/topicName

有効範囲: メッセージング・コンテキスト

認可: Messaging AdministratorまたはMessaging Worker

結果: 指定された名前の一時宛先が削除されます。

注意:

削除中の一時宛先が同じメッセージング・コンテキスト内の接続から作成された場合、一時宛先はバックエンドから削除されます。 それ以外の場合はメッセージング・コンテキストからのみ削除され、バックエンドからは削除されません。

バックエンドから削除された後で、一時宛先を他のクライアントで使用することはできません。

エラー・レスポンス:

エラー・メッセージ 説明

destinationNotFound

削除がリクエストされた一時宛先は存在しません。

キュー・ブラウザの作成および管理

この項では、Oracle Messaging Cloud Serviceのキュー・ブラウザの作成および管理に関する情報を提供します。

トピック:

キュー・ブラウザの作成

クライアントは、キュー上のメッセージを削除せずに参照する際にキュー・ブラウザを使用します。 キュー・ブラウザはセッションから作成されます。

キュー・ブラウザは、キュー内のすべてのメッセージ、またはメッセージ・セレクタに一致するメッセージのみを参照する際に使用される可能性があります。 キューに対するブラウザが作成された後にメッセージがそのキューに送信される場合、そのメッセージはキュー・ブラウザで表示できない可能性があるので注意してください。

メソッド: PUT

パス: /queueBrowsers/browserName

有効範囲: メッセージング・コンテキスト

認可: Messaging AdministratorまたはMessaging Worker

リクエスト・パラメータ:

パラメータ 説明

session

この値はキュー・ブラウザを作成する必要があるセッションの名前です。

destination

宛先名を指定します。 値は/queues/queueNameという形式である必要があります。

selector

メッセージ・セレクタ(オプション)。

結果: destinationパラメータでキュー・ブラウザを作成します。

エラー・レスポンス:

エラー・メッセージ 説明

sessionNotFound

指定された名前のセッションはありません。

destinationNotFound

リクエストされた宛先は存在しません。

queueBrowserAlreadyExists

指定された名前のキュー・ブラウザはすでに存在します。

badParameter

次のいずれかが発生しました:

  • destinationパラメータ値がキューの指定として解析されませんでした。

  • selectorパラメータ値が非整形式で、許可されていない識別子が含まれていました。

キュー・ブラウザのプロパティの取得

この項では、キュー・ブラウザ・プロパティの取得に関する情報を提供します。

メソッド: GET

パス: /queueBrowsers/browserName

有効範囲: メッセージング・コンテキスト

認可: Messaging AdministratorまたはMessaging Worker

結果: 名前browserNameのキュー・ブラウザのプロパティが返されます。

レスポンス本文:

XMLでは、キュー・ブラウザのプロパティの形式は次のとおりです。

<queueBrowser>
    <name>client-assigned name of the browser</name>
    <queue>path specifying the persistent or temporary queue browsed</queue>
    <selector>selector expression<selector>
    <canonicalLink>relative path to queue browser</canonicalLink>
</queueBrowser>

JSONでは、キュー・ブラウザのプロパティの形式は次のとおりです。

{ 
    "name": "client-assigned name of the browser", 
    "queue": "path specifying the persistent or temporary queue browsed", 
    "selector": "selector expression", 
    "canonicalLink": "relative path to queue browser" 
}

queue要素の内容は、ブラウザがqueueNameという永続的なキューをブラウズする場合は/queue/queueNameという形式になります。ブラウザがqueueNameという名前の一時キューをブラウズする場合は、/temporaryQueue/queueNameの形式をとります。

selector要素は、キュー・ブラウザがセレクタに関連付けられている場合のみ存在します。

エラー・レスポンス:

エラー・メッセージ 説明

queueBrowserNotFound

リクエストされたキュー・ブラウザは存在しません。

メッセージの参照

このトピックでは、キュー・ブラウザのメッセージの参照に関する情報を提供します。

メソッド: POST

パス: /queueBrowsers/browserName

有効範囲: メッセージング・コンテキスト

認可: Messaging AdministratorまたはMessaging Worker

結果: ブラウザ内にメッセージがある場合、HTTPレスポンスで返されます。 そうでない場合はnullレスポンスが返されます。

レスポンス・ヘッダー:

trueを持つX-OC-NULLヘッダーがある場合、ブラウザ内にすでにメッセージがないことを示します。

エラー・レスポンス:

エラー・メッセージ 説明

queueBrowserNotFound

リクエストされたキュー・ブラウザは存在しません。

キュー・ブラウザの削除

この項では、キュー・ブラウザの削除に関する情報を提供します。

メソッド: DELETE

有効範囲: メッセージング・コンテキスト

パス: /queueBrowsers/browserName

認可: Messaging AdministratorまたはMessaging Worker

結果: キュー・ブラウザをクローズして削除します。

エラー・レスポンス:

エラー・メッセージ 説明

queueBrowserNotFound

リクエストされたキュー・ブラウザは存在しません。