ユーザーガイド > リソースの公開 > Webサービスへのリソースの公開 > RESTサービスの公開
 
RESTサービスの公開
このセクションでは、REST準拠のデータサービスを追加する方法について説明します。構成手順はオプションです。
RESTサービスを公開するための構成オプション
RESTデータサービスの公開
RESTサービスを公開するための構成オプション
この設定は、パラメーターが汎用XMLタイプである場合に、TDV REST WebサービスでXML出力パラメーターをラッパー要素で囲むかどうかを決定します。
XML出力パラメーターラッパー要素を構成するには
1.[Administration(管理)]メニューから[Configuration(構成)]を選択します。
2.Generic XML REST出力パラメーターラッパーパラメーターを検索またはナビゲートします。
3.ラッパー要素を除外する場合は、値をFalseに設定します。ラッパー要素を含める場合は、値をTrueに設定します。
4.パラメーター値の変更が認識されるように、TDVサーバーを停止して再起動します。
5.定義するプロシージャに「XML」データタイプの変数があることを確認します。
次のコードスニペットのOutputパラメーターがcust_dataであり、データタイプが汎用XMLタイプであるとします。 
<ns1: cust_addr>
<mail_addr>
. . .
</mail_addr>
</ns1:cust_addr>
 
[Generic XML REST Output Parameter Wrapper(汎用XML REST出力パラメーターラッパー)]パラメーターをtrueに設定して、次のような出力を取得します。
<cust_data>
<ns1: cust_addr>
<mail_addr>
. . .
</mail_addr>
</ns1:cust_addr>
</cust_data>
 
出力にパラメーター名ラッパーを含めない場合は、構成パラメーターをfalseに設定します。例:
<ns1: cust_addr>
<mail_addr>
. . .
</mail_addr>
</ns1:cust_addr>
 
RESTデータサービスの公開
RESTデータサービスを公開するには
1.Studioリソースツリーで[Data Services(データサービス)]の下にある[Web Services(Webサービス)]ノードを選択します。
2.右クリックして、[New Composite Web Service(新しい複合Webサービス)]を選択します。
3.[Data Service Name(データサービス名)]に、Webサービスの名前を入力します。
4.[OK]をクリックします。
5.リソースツリーから、先ほど作成したデータサービスを開きます。
デフォルトでは、[SOAP]タブが表示されます。
6.必要に応じて、ビューとプロシージャをWebサービスに公開します。
a. リソースツリーから1つ以上のテーブル、ビュー、またはプロシージャを選択し、右クリックします。
b. [Publish(公開)]を選択します。
c. [Publish(公開)]ウィンドウで、公開リソースに使用する名前を入力します。
d. リソースの公開先のWebサービスを選択します。
e. [OK]をクリックします。
7.[REST]タブを選択します。
8.画面の[Service(サービス)]部分で、次のプロパティの値を入力または選択します。
プロパティにデフォルト値がある場合、値は必須です。
プロパティ
必須
説明
[Enabled(有効)]
はい
true (デフォルト)は、このタブで定義した情報を使用するようにシステムに指示します。
[Target Namespace(ターゲット名前空間)]
はい
デフォルト値をRESTインストールの場所に置き換えます。
[Service Name(サービス名)]
はい
サービスに付ける名前です。
[Enable SSL/TLS(SSL/TLSを有効にする)]
はい
[Require SSL/TLS(SSL/TLSが必要)] — True/false
[Require Client Certificate(クライアント証明書が必要)] — True/false
SSLは、デジタル証明書、信頼できる認証局(CA)、および暗号化キーを使用します。
これをtrueに設定すると、HTTPS/JSONおよびHTTPS/XMLエンドポイントのURLが[Operations(操作)]セクションの下部にある[Property(プロパティ)]リストに追加されます。
[JSON Context Url Pat(JSONコンテキストURLのパス)]
 
デフォルト値は/jsonです。
[XML Context Url Pat(XMLコンテキストURLのパス)]
 
デフォルト値は/xmlです。
[JSON Format(JSON形式)]
はい(JSONの場合)
[JSON Package Name(JSONパッケージ名)] — JSONサービスのデフォルト名。このパッケージ名は入力データと出力データで使用されます。
[Use Parameter Name of Procedure(プロシージャのパラメーター名を使用)] — trueの場合、パラメーター形式のJSONオブジェクト名は、プロシージャで定義された元の名前と同じになります。デフォルト値はfalseです。falseの場合、形式は次のとおりです。
<package name> + '.' + <procedure name>+<parameter name>
 
[Validate XML Schema Definition Set(XMLスキーマ定義セットを検証)] - デフォルト値はtrueです。このオプションは、XML/JSON変換を使用するストリーミングモードで機能し、XML定義セットを使用してJSON応答構造をXML値に対して検証します。検証が失敗すると、空またはデータの一部を取得します。このオプションを「false」に設定しても、正しいJson応答データを取得できます。
[Wrapped Cursor(ラップされたカーソル)] — trueの場合、JSON行オブジェクトがテーブルとプロシージャのカーソル出力のラッパーとして追加されます。
[Wrapped Table(ラップされたテーブル)] — trueの場合、テーブル出力は次のパターンを持つ出力JSONオブジェクトでラップされます。
<package name> + '.' + <table name> + 'output'
 
ラップオプションでは、デフォルト値はtrueです。デフォルト値はXML定義と一致します。
[Enable HTTP Basic(HTTP Basicを有効にする)]
はい
有効な値はtrueまたはfalseです。trueに設定すると、Base64アルゴリズムによってエンコードされた文字列になるユーザー名とパスワードを(リクエストを行うときに)提供するメソッドが有効になります。
[Enable HTTP NTLM(HTTP NTLMを有効にする)]
いいえ
HTTPを介したNTLM認証を有効にする場合に使用します。
[Enable HTTP Negotiate(HTTPネゴシエーションを有効にする)]
いいえ
HTTPを介したKerberosおよびActive Directory認証を有効にする場合に使用します。
9.[Operations(操作)]セクションの上部で、画面の一部で、使用可能なWebサービスビューまたはプロシージャを選択します。
このウィンドウが開いているときに新しいビューまたはプロシージャをWebサービスに公開した場合、そのビューまたはプロシージャをリストに表示するには、このウィンドウを閉じてから再度開く必要がある場合があります。
10.[Operations(操作)]セクションの下部で、次の表に記載されているプロパティの値を入力または選択します。
プロパティ
説明
[HTTP Method(HTTPメソッド)]
プロシージャに関連付けられている動詞(GET、POST、PUT、DELETEなど)を選択します。操作フィールドで行った選択によっては、これらのオプションがすでに定義されている場合があります。
[Operation URL Path(操作URLのパス)]
操作用に定義されている操作URLのパスを指定します。エンドポイントURLのガイドラインに従って値を構成します。中括弧タグを使用できます。
各Webサービスモジュールで使用するエンドポイントURLの一部を指定できます。公開されたWSDLファイルでは、ターゲットエンドポイントのアドレスを定義するURLは、ポートのsoap:address要素のlocation属性にあります。
入力メッセージ
 
[Parameter Style(パラメータースタイル)]
入力引数またはメッセージの形状を判別するには、このフィールドを使用します。この値はすべてのパラメーターに適用されます。
BODYの場所を使用するパラメーターが複数ある可能性がある場合は、[WRAPPED(ラップ)]を選択します。ラッパー要素はREST BODYの子であり、パラメーター要素はラッパー要素の子です。
BODYの場所があるパラメーターが1つだけで、その要素がREST BODYの唯一の子である場合は、[BARE(ベア)]を選択します。同じ方向の他のすべてのパラメーターは、別の場所(HEADERなど)にマップする必要があります。
 
[Wrapper(ラッパー)]
 
 
[Element Name(要素名)]
ラッパー要素の一意の名前。たとえば、ここに「wrappedOrderParams」と入力すると、WSDL XMLに次の要素が含まれます。
<wrappedOrderParams> </wrappedOrderParams>
 
[Element Type(要素タイプ)]
これは行要素のタイプ値です。
出力メッセージ
 
[Parameter Style(パラメータースタイル)]
この値はすべてのパラメーターに適用されます。
BODYの場所を使用するパラメーターが複数ある可能性がある場合は、[WRAPPED(ラップ)]を選択します。ラッパー要素はREST BODYの子であり、パラメーター要素はラッパー要素の子です。
BODYの場所があるパラメーターが1つだけで、その要素がREST BODYの唯一の子である場合は、[BARE(ベア)]を選択します。同じ方向の他のすべてのパラメーターは、別の場所(HEADERなど)にマップする必要があります。
 
[Wrapper(ラッパー)]
 
 
[Element Name(要素名)]
ラッパー要素に付ける一意の名前。たとえば、ここに「wrappedOrderParams」と入力すると、WSDL XMLに次の要素が含まれます。
<wrappedOrderParams> </wrappedOrderParams>
 
[Element Type(要素タイプ)]
これは行要素のタイプ値です。
エンドポイントURL
 
[HTTP/JSON]
この操作のHTTP/JSONエンドポイントURLが表示されます。
 
[HTTPS/JSON]
この操作のHTTPS/JSONエンドポイントURLが表示されます。このパネルの[Service(サービス)]セクションで[Enable SSL(SSLを有効にする)]がtrueになっている場合にのみ表示されます。
 
[HTTP/XML]
この操作のHTTP/XMLエンドポイントURLが表示されます。
 
[HTTPS/XML]
この操作のHTTPS/XMLエンドポイントURLが表示されます。このパネルの[Service(サービス)]セクションで[Enable SSL(SSLを有効にする)]がtrueになっている場合にのみ表示されます。
11.設定を保存します。
12.Webサービス用に定義する操作またはビューごとに「SOAPデータサービスの公開」の手順を繰り返します。
13.操作にパラメーターがある場合は、画面の[Parameters(パラメーター)]部分に移動し、上部のリストからパラメーターを選択します。
14.下部で、入力パラメーターまたは出力パラメーターの次のプロパティの値を入力または選択します。
プロパティ
リソースタイプ
説明
[Name(名前)]
すべて
パラメーターの名前。編集できません。
[Row Element Name(行要素名)]
テーブル
ビュー
入力パラメーター、出力パラメーター、または出力カーソルに付ける完全修飾名。または、列に付ける名前(カーソルパスに相対的)。
[Row Type Name(行タイプ名)]
テーブル
ビュー
(カーソルのみ)この行要素の値を入力します。
[Cursor Type Name(カーソルタイプ名)]
テーブル
ビュー
(カーソルのみ)グローバルカーソル要素を定義するタイプの一意の名前。
[Element Name(要素名)]
すべて
NULLにすることができます。[Element Name(要素名)]フィールドのデフォルト値は、暗号化されるRESTメッセージのスキーマを指定します。このプロシージャを使用すると、RESTメッセージ本文を暗号化できます。
[Binding Location(バインディング場所)]
プロシージャ
選択した操作がプロシージャの場合、バインディング場所を定義できます。メッセージが[BARE(ベア)]の場合、1つのパラメーターのみでBODYバインディング場所を使用する必要があります。
入力に使用できる場所は次のとおりです。
ENTITY (GETでは使用できません)、QUERY、HEADER
出力に使用できる場所は次のとおりです。
エンティティー
[Query(クエリー)]
プロシージャ
クエリー文字列のパラメーター名部分。クエリー引数はNULL値を受け入れることができます。たとえば、次のクエリー引数はどちらも有効です。
http://localhost:9410/json/goody/data?name_arg={name_arg_value}
http://localhost:9410/json/goody/data
[Default Value(デフォルト値)]
プロシージャ
オプション。パラメーター値がリクエストによって渡されない場合に使用するデフォルト値。
[Nullable(Nullを許可)]
プロシージャ
このフィールドで値なしが許可されるかどうかを指定します。trueに設定すると、パラメーターを値なしでサーバーに渡すことができます。パラメーターの値がない場合、すべてのデータがクエリーから返されます。
[Element Name(要素名)]
プロシージャ
NULLにすることができます。[Element Name(要素名)]フィールドのデフォルト値は、暗号化されるRESTメッセージのスキーマを指定します。このプロシージャを使用すると、RESTメッセージ本文を暗号化できます。
[Direction(方向)]
すべて
入力パラメーター、出力パラメーター、または出力カーソルの方向を示します。編集できません。
15.Webサービス用に定義するパラメーターごとに手順を繰り返します。
16.定義を保存します。
公開済みRESTサービスへのアクセス
TDVは、公開されたすべてのRESTサービスにOpen API準拠の仕様を提供します。このツールにアクセスするには、TDV Studioを開き、[Help(ヘルプ)] -> [Published REST Web Services(公開済みREST Webサービス)]メニュー項目をクリックします。次のURLを使用して仕様にアクセスすることもできます。 http://localhost:9400/rest/api-docs/webservice.html
このツールを使用すると、ユーザーは応答スキーマを取得し、それが予期したとおりであることを確認できます。
注意: ユーザーは、読み取り権限を持つ公開済みRESTサービスのみを表示できます。