OData コネクタの設定
Windchill Navigate では、OData コネクタと Windchill REST Services を組み合わせて使用して、カスタムタスクのデータにアクセスすることがサポートされています。
|
|
WindchillConnector (ptc-windchill-demo-thing) は Windchill Navigate 9.2 から除去されています。必要に応じて、OData コネクタを使用するようにカスタムタスクを更新してください。
|
必要条件
OData コネクタを使用する前に、ThingWorx Integration Runtime を設定する必要があります。一般的に、ThingWorx Integration Runtime は、インストールプロセスの一部として Windchill Navigate インストールツールによって設定されます。
コネクタの作成
OData コネクタの設定には、2 つのオプションがあります。新規にコネクタのインスタンスを作成する方法と、既成のコネクタ ptc-windchill-OData-connector を使用する方法です。ユースケースに最適なオプションを選択します。
Info*Engine タスクを使用するカスタムタスクには、既成の ptc-windchill-OData-connector を使用することをお勧めします。既成のコネクタでは、Info*Engine サービスが最初から利用可能になっているためです。
新規の OData コネクタインスタンスを作成するには、次の手順に従います。
1. ThingWorx Composer で、「モデリング」 > 「統合コネクタ」の順にブラウズし、「新規」をクリックします。
2. 「テンプレートを選択」ウィンドウで ODataConnector Thing Template を選択し、「OK」をクリックします。
3. コネクタの名前とプロジェクトを入力します。
これで、コネクタを設定する準備ができました。
コネクタの設定
1. Composer で、作成したコネクタを開くか、ptc-windchill-OData-connector をサーチして開きます。「一般情報」ページが開きます。
2. 「コンフィギュレーション」タブをクリックします。「コンフィギュレーション」ページが開きます。
コンフィギュレーションは、認証方法 (シングルサインオン、Windchill 認証、または固定認証) によって異なります。
シングルサインオン
シングルサインオンが設定されている場合は、次の手順を実行します。
1. 「ジェネリックコネクタ接続の設定」の「認証タイプ」で、OAuth の「(セッションユーザー)」を選択します。
2. 「認証サーバー ID」に、sso-settings.json で指定した AuthorizationServerSettingsID の値を入力します (「PingFed1」など)。
3. 「認証サーバーの範囲設定」で、「追加」をクリックします。AuthorizationServerScopesSettings ウィンドウが開きます。
4. 「範囲」に、PingFederate に登録した Windchill 範囲を入力します (「WINDCHILL」など)。
5. 「追加」をクリックします。
6. 「CSRF 設定」で、次の情報を入力します。
◦ 「CSRF Get リクエストの相対 URL」 - /servlet/odata
◦ 「CSRF トークン名」 - CSRF_NONCE
7. 「HTTP コネクタ接続の設定」で、次の情報を入力します。
◦ 「ベース URL」 - Windchill URL。URL の末尾は /oauth でなければなりません。次のフォーマットを使用します。
[https]://[Windchill Host]:[port]/[Windchill-web-app]/oauth
このフォーマットでは、接続で OAuth 標準が使用され、リソースプロバイダのデータのリクエストが有効になるように指定しています。
◦ 「相対 URL」 - /servlet/odata
ユーザー名とパスワードを入力する必要はありません。
8. 「保存」をクリックします。これで、OData コネクタは、シングルサインオン環境で動作するように設定されました。
Windchill 認証
Windchill 認証が設定されている場合は、次の手順に従います。
1. 「ジェネリックコネクタ接続の設定」の「認証タイプ」で、None を選択します。
2. 「CSRF 設定」で、次の情報を入力します。
◦ 「CSRF Get リクエストの相対 URL」 - /servlet/odata
◦ 「CSRF トークン名」 - CSRF_NONCE
3. 「HTTP コネクタ接続の設定」で、次の情報を入力します。
◦ 「ベース URL」 - ODataConnector から Info*Engine リクエストを受信する Windchill サーバー。次のフォーマットを使用します。
[https]://[Windchill Host]:[port]/[Windchill-web-app]/sslClientAuth
◦ 「相対 URL」 - /servlet/odata
◦ 「接続 URL」 - /servlet/WindchillGW/wt.httpgw.HTTPServer/ping
ユーザー名とパスワードを入力する必要はありません。
4. 「保存」をクリックします。
既成の ptc-windchill-OData-connector コネクタを使用している場合、これで、コネクタは、Windchill 認証環境で動作するように設定されました。
OData コネクタの新しいインスタンスを作成した場合は、次の追加手順に従います。
1. 「サービス」タブをクリックします。「サービス」ページが開きます。
2. GetCustomHeaderParameters サービスを見つけ、

をクリックしてサービスをオーバーライドします。
3. 次のコードをサービスに貼り付けます。
/*Get Current User Language*/
var Language = Resources["CurrentSessionInfo"].GetCurrentUserLanguage();
/*If it is undefined or "Default" use "en-US"*/
if (Language === undefined || Language === null || Language.length <= 0) {
Language = "en-US";
} else if (Language.indexOf("Default") !== -1) {
Language = Language.replace("Default", "en-US");
}
var params = {
infoTableName: "InfoTable",
dataShapeName: "PTC.WCODataCustomHeaderDataShape"
};
var result = Resources["InfoTableFunctions"].CreateInfoTableFromDataShape(params);
params = {
tableName: "GenericConnectorConnectionSettings" /* STRING */
};
var configTable = me.GetConfigurationTable(params);
var row = configTable.getRow(0);
var authType = row.getStringValue("AuthenticationType");
if ("None".equals(authType)) {
/*This is a case for Windchill as IDP connectivity type*/
var CurrentUser = Resources["CurrentSessionInfo"].GetCurrentUser();
/*Add authorization header having Base64 Encoded value of "username:emptypassword" */
var baseEncodedStr = base64EncodeString (CurrentUser + ':');
var authHeaderValue = "Basic " + baseEncodedStr;
row = {
"Accept-Language": Language,
"Authorization": authHeaderValue,
"Content-Type": "application/json",
"Prefer": "odata.maxpagesize=2000"
};
} else {
row = {
"Accept-Language": Language,
"Content-Type": "application/json",
"Prefer": "odata.maxpagesize=2000"
};
}
result.AddRow(row);
4. 「保存して続行」をクリックしてサービスを保存します。次に、「完了」をクリックします。
5. 「保存」をクリックしてコネクタを保存します。これで、OData コネクタは、Windchill 認証環境で動作するように設定されました。
固定認証
固定認証が設定されている場合は、次の手順に従います。
1. 「ジェネリックコネクタ接続の設定」の「認証タイプ」で、Fixed を選択します。
2. 「CSRF 設定」で、次の情報を入力します。
◦ 「CSRF Get リクエストの相対 URL」 - /servlet/odata
◦ 「CSRF トークン名」 - CSRF_NONCE
3. 「HTTP コネクタ接続の設定」で、次の情報を入力します。
◦ 「ユーザー名」 - Windchill 管理者ユーザー名
◦ 「パスワード」 - Windchill 管理者パスワード
◦ 「ベース URL」 - ODataConnector から Info*Engine リクエストを受信する Windchill サーバー。次のフォーマットを使用します。
[https]://[Windchill Host]:[port]/[Windchill-web-app]
◦ 「相対 URL」 - /servlet/odata
4. 「保存」をクリックします。これで、OData コネクタは、固定認証環境で動作するように設定されました。
コネクタ上でのサービスの公開
コネクタを設定した後の手順は、カスタムタスクによって異なります。