例 12: IMS データベース内の位置から読み取る

次の例では、File Manager Service Provider REST API 呼び出しを実行して、<Test> ビューによってマップされた File Manager/IMS データベースにアクセスし、指定されたキー位置から 1 セグメントを読み取ります。

この例は、一致するビューを使用して IMS データベースをマップするサービス・アーカイブが作成され、デプロイされていることを前提とします。例えば、サービス・アーカイブは次のプロパティー・ファイルを使用して作成できます。

name=fmExample12
description=IFB2:HDOU#1 MAPPED BY MY.IMS.VIEW(HDOU#1)
version=1.0
provider=filemanager
host=10.1.1.2
port=9043
userid=admin
passwd=s3cr3t
ssid=IFB2
database=HDOU#1
psbMember=PHDOU#1
pcbNumber=1
regionType=BMP
view=MY.IMS.VIEW(HDOU#1)
timeout=300
connid=default

この例では、サブシステム IFB2 の IMS データベース HDOU#1 を PSB メンバー PHDOU#1 にマッピングします。pcbNumber=1 は、PSB メンバーの最初の PCB を使用するよう File Manager に指示します。領域タイプは BMP であり、データベースは、MY.IMS.VIEW(HDOU#1) で検出された FM/IMS ビューによってマップされます。この例では、生成された SAR ファイルと関連する組み込みの API が z/OS® Connect WLP サーバーにデプロイされていることを前提としています。

初回要求

IMS データ・リソースからデータを読み取る初回 API 呼び出しには、IMS データ・リソースへの以降のアクセスで呼び出し元を認証できるように、HTTP Basic 認証ヘッダーが必要です。例:

Authorization : Basic dXNlcmlkOnBhc3N3b3Jk

ここで、Basic キーワードに続くストリングは、userid:password の Base64 エンコードを示します。

また、JSON ペイロードがあるすべての要求でも、値が application/json の Content-Type ヘッダーが必要です。

初回要求では、データ・リソースに命名したり、ビュー情報を指定したりする必要はありません。この情報は API に関連付けられたサービス・アーカイブに既に含まれています。このため、API 呼び出し元が指定する必要があるのは、必要に応じて、オプションの operation パラメーターと position パラメーターのみです。

{
    "operation" : 
    {
        "numSegments" : 1,
        "session" : false
    } ,
    "position" : 
    {
        "segmentKeys" :
        [
            {
                "segmentName" : "PARTROOT",
                "keyValue" : "02922399-001",
                "operator" : "EQ"
            }
        ]
    }  
}

この要求では、IMS サブシステム IFB2 の IMS データベース HDOU#1 内の所定の位置から 1 セグメントを読み取ります。この要求では、FM/IMS ビュー IMS.VIEW(HDOU#1) を使用して、応答でセグメント・フィールドをマップアウトします。

File Manager/IMS が false に設定されているため、サービス・プロバイダーは session セッションを維持しません。

成功時の応答

成功時の応答 (HTTP ステータス・コード 200) は次のようになります。

{
    "segments": 
    [
        {
            "PARTROOT": 
            {
                "PARTROOT": 
                {
                    "ROOT-KEY": "922399-001",
                    "ROOT-SPACES": " ",
                    "ROOT-TYPE": "02",
                    "ROOT-WOSNAME": "CONNECTOR"
                }
            }
        }
    ]
}