Management Webject
以下の Webject は、プロパティの取得、資格証明のマッピング、例外の発生などのいくつかの一般的な機能を提供します。これらの機能は JSP ページやタスクを管理するときに役立ちます。
• Dispatch-Tasks
• Generate-WSDL
• Get-Properties
• Get-Resource
• List-Repositories
• Lookup-Services
• Map-Credentials
• Query-Schema
• Query-TypeHierarchy
• Throw-Exception
• Write-Log
すべての Management Webject は webject タグの type 属性値が MGT です。
Dispatch-Tasks
説明
指定された場所に常駐する指定されたタイプのオブジェクトに対して、指定された操作を実行できるタスクを選択します。この Webject を使用すると、複数のホストに分散された情報、または複数のオブジェクトタイプで構成される情報を操作するアプリケーションを簡単に開発できます。
構文
<ie:webject name="Dispatch-Tasks" type="MGT">
<ie:param name="ACCESS" data="http|soap|internal"/>
<ie:param name="ACTION" data="action_name"/>
<ie:param name="CLIMBER" data="class_name"/>
<ie:param name="DEFAULT_DOMAIN" data="domain_name"/>
<ie:param name="DEFAULT_TYPE" data="type_name"/>
<ie:param name="GROUP_IN" data="group_name"/>
<ie:param name="GROUP_VDB" data="group_name"/>
<ie:param name="ID_ATTRIBUTE" data="attr_name"/>
<ie:param name="ID_META_ATTRIBUTE" data="meta_name"/>
<ie:param name="MAX_CONCURRENT" data="integer"/>
<ie:param name="PARAM" data="name=value"/>
<ie:param name="TASKS" data="group_name_or_url"/>
<ie:param name="TYPE_ATTRIBUTE" data="attr_name"/>
<ie:param name="TYPE_META_ATTRIBUTE" data="meta_name"/>
</ie:webject>
パラメータ
必須
|
選択
|
オプション
|
ACTION
|
ACCESS
|
CLIMBER
|
GROUP_IN
|
ID_ATTRIBUTE
|
GROUP_VDB
|
TASKS
|
ID_META_ATTRIBUTE
|
MAX_CONCURRENT
|
|
TYPE_ATTRIBUTE
|
PARAM
|
|
TYPE_META_ATTRIBUTE
|
|
ACCESS
この Dispatch-Tasks 呼び出しの結果として呼び出されるタスクの、必要なアクセス設定を指定します。このパラメータの値は、ACTION パラメータの値が外部クライアントから供給された場合にのみ、考慮されます。タスク
page ディレクティブでの
access 属性とまったく同じ働きをします。値 (アクセス値) はパイプ区切りリスト形式で指定できます。値を何も指定しない場合、システムのデフォルトのタスクアクセス値が使用されます。
access 属性の詳細については、
ページディレクティブを参照してください。
ACTION
選択して実行したタスクによって実行された論理操作の名前を指定します。ACTION は、実行するタスクの選択時に使用されるプライマリセレクタです。このパラメータは必須です。
CLIMBER
タスク代理のサーチ時にデータタイプ階層を上に移動する Java クラスの名前を識別します。このパラメータを指定すると、適切なタスク代理の検索に成功するか、または階層の頂点に到達するまで、Webject によって呼び出され続けます。タスク代理が見つからないまま階層の頂点に到達すると、例外が発生します。このパラメータはオプションです。
DEFAULT_DOMAIN
オブジェクトのドメインを識別する属性またはメタデータがない場合、ローカル仮想マシンの名前からドメインを導出せずに使用するデフォルトのドメインを指定します。
DEFAULT_TYPE
オブジェクトのタイプを識別する属性またはメタデータがない場合、com.ptc.object の代わりに使用するデフォルトのタイプ名を指定します。
GROUP_IN
ACTION によって指定した論理操作を実行するオブジェクトを含んでいるグループの名前を指定します。このパラメータには複数の値を指定でき、その結果、ACTION を適用するオブジェクトの 2 つ以上のグループが形成されます。このパラメータは必須です。
GROUP_VDB
呼び出し先タスクの VDB で各タスクに提供される 1 つ以上のグループ名を指定します。これらの名前は、各呼び出し先タスクの VDB に、GROUP_IN パラメータとして指定されたグループ以外の初期のグループセットを挿入します。
ID_ATTRIBUTE
入力グループの各要素に含まれていて、各要素の一意のオブジェクト ID を指定する属性の名前を指定します。たとえば、このパラメータの値が OBID の場合、入力グループの各要素には OBID という名前の属性が含まれ、このような各属性値はそれらを含んでいる要素の一意のオブジェクト ID を識別すると見なされます。
このパラメータを指定すると、ID_ATTRIBUTE は ID_META_ATTRIBUTE より優先されます。ID_ATTRIBUTE と ID_META_ATTRIBUTE のどちらも指定されていない場合は、内部 API が呼び出され、要素の一意のオブジェクト ID を取得します。要素が Windchill タイプのインスタンスである場合、API はオブジェクトの Windchill タイプ識別子を返します。
ID_ATTRIBUTE または ID_META_ATTRIBUTE のいずれかが指定されている場合に、要素の一意のオブジェクト ID が解決されないと、内部 API を使用して一意のオブジェクト ID を取得します。
ID_META_ATTRIBUTE
入力グループの各要素に含まれていて、各要素の一意のオブジェクト ID を指定するメタデータアイテムの名前を指定します。たとえば、このパラメータの値が com.infoengine.obid の場合、入力グループの各要素には com.infoengine.obid という名前のメタデータアイテムが含まれ、このような各属性値はそれに関連付けられている要素の一意のオブジェクト ID を識別すると見なされます。
ID_META_ATTRIBUTE および ID _ATTRIBUTE の両方を指定すると、ID_ATTRIBUTE は ID_META_ATTRIBUTE よりも優先されます。ID_ATTRIBUTE と ID_META_ATTRIBUTE のどちらも指定されていない場合は、内部 API が呼び出され、要素の一意のオブジェクト ID を取得します。要素が Windchill タイプのインスタンスである場合、API はオブジェクトの Windchill タイプ識別子を返します。
ID_ATTRIBUTE または ID_META_ATTRIBUTE のいずれかが指定されている場合に、要素の一意のオブジェクト ID が解決されないと、内部 API を使用して一意のオブジェクト ID を取得します。
MAX_CONCURRENT
Webject が同時に実行できる選択されたタスクの最大数を指定します。このパラメータを指定しないで複数のタスクを選択すると、これらのタスクは順番に実行されます。このパラメータのデフォルトは 1 です。このパラメータはオプションです。
PARAM
選択して実行するタスクに渡される追加パラメータを指定します。このパラメータの各値は name=value のペアとして指定します。ここで、name は選択した各タスクに渡す追加パラメータの名前で、value はパラメータの値です。
PARAM を指定しない場合、追加パラメータは選択したタスクに渡されません。このパラメータには複数の値を指定できます。このパラメータはオプションです。
TASKS
LDAP URL またはグループの名前のいずれかを指定します。
LDAP URL を指定すると、URL はディレクトリサーバー、およびタスク定義のツリーのルートを設定する関連付けられたディレクトリ内のノードを識別します。タスクは、操作名 (ACTION パラメータから取得)、オブジェクトタイプ (オブジェクトごとに TYPE_ATTRIBUTE または TYPE_META_ATTRIBUTE に基づいて取得)、およびオブジェクトの場所 (ID_ATTRIBUTE または ID_META_ATTRIBUTE に基づいて各オブジェクトのオブジェクト ID のドメインコンポーネントから取得) に基づいてツリーから選択します。
グループ名を指定すると、タスク定義テーブルに表示されます。グループの各要素によって 1 つのタスク定義が指定され、このような各定義は以下の名前の属性を含んでいると見なされます。
◦ ACTION - この定義によってサポートされる操作の論理名を指定します。この属性は Webject の ACTION パラメータと比較されます。一致しない場合、定義は Webject のこの呼び出しに適用されません。
◦ TYPE - この定義を適用するオブジェクトタイプを指定します。この属性は、入力グループの各要素から取得したオブジェクトタイプと比較されます。一致しない場合、定義は要素に適用されません。この属性の値がアスタリスク (*) の場合、定義はすべてのオブジェクトタイプに適用されます。
◦ DOMAIN - この定義を適用する完全修飾ドメイン名を指定します。この属性は、入力グループの各要素の一意のオブジェクト ID から取得したドメインコンポーネントと比較されます。一致しない場合、定義は要素に適用されません。この属性の値がアスタリスク (*) の場合、定義はすべてのドメインに適用されます。
◦ TASK - この定義に関連付けられた操作を実装する Info*Engine タスクの URL を指定します。
◦ PROCESSOR - TASK 属性によって識別されるタスクを実行できる Info*Engine のタスクプロセッサの名前を指定します。この属性をタスク定義に指定していない場合、TASK 属性によって識別されるタスク実装は常にアクセスして実行できます。
このパラメータは必須です。
TYPE_ATTRIBUTE
入力グループの各要素に含まれていて、各要素のオブジェクトタイプを指定する属性の名前を指定します。たとえば、このパラメータの値が CLASS の場合、入力グループの各要素には CLASS という名前の属性が含まれ、このような各属性値はそれを含んでいる要素のオブジェクトタイプを識別すると見なされます。
TYPE_ATTRIBUTE および TYPE_META_ATTRIBUTE の両方を指定すると、TYPE_ATTRIBUTE は TYPE_META_ATTRIBUTE より優先されます。TYPE_ATTRIBUTE と TYPE_META_ATTRIBUTE の両方を指定しないと、内部 API が呼び出され、タイプ識別子が取得されます。要素が Windchill タイプのインスタンスである場合、この API はオブジェクトの Windchill タイプ識別子を返します。
TYPE_ATTRIBUTE または TYPE_META_ATTRIBUTE のいずれかが指定されている場合に、要素のタイプ識別子が解決されないと、内部 API を使用してタイプ識別子を取得します。
TYPE_META_ATTRIBUTE
入力グループのすべての要素に含まれ、各要素のオブジェクトタイプを指定するメタデータアイテムの名前を指定します。たとえば、このパラメータの値が com.infoengine.objectType の場合、入力グループのすべての要素には com.infoengine.objectType という名前の関連付けられたメタデータアイテムが含まれ、このような各メタデータオブジェクトの値はそれに関連付けられている要素のオブジェクトタイプを識別すると見なされます。
TYPE_META_ATTRIBUTE および TYPE _ATTRIBUTE の両方を指定すると、TYPE _ATTRIBUTE は TYPE_META_ATTRIBUTE より優先されます。TYPE_ATTRIBUTE と TYPE_META_ATTRIBUTE の両方を指定しないと、内部 API が呼び出され、タイプ識別子が取得されます。要素が Windchill タイプのインスタンスである場合、この API はオブジェクトの Windchill タイプ識別子を返します。
TYPE_ATTRIBUTE または TYPE_META_ATTRIBUTE のいずれかが指定されている場合に、要素のタイプ識別子が解決されないと、内部 API を使用してタイプ識別子を取得します。
例
<%@page language="java" session="true" errorPage="IEError.jsp" import="java.util.
Vector,java.util.Enumeration,com.infoengine.SAK.*" %>
<%@taglib uri="http://www.ptc.com/infoengine/taglib/core" prefix="ie" %>
<html>
<head>
<title>Dispatch Tasks</title>
</head>
<body bgcolor="#FFFFFF">
<ie:getService varName="ie"/>
<ie:webject name="Create-Group" type="GRP">
<ie:param name="group_out" data="tasks"/>
<ie:param name="delimiter" data=":"/>
<ie:param name="element"
data="action=query:type=part:domain=s1.ptc.com:task=infoengine/
com/company/CreateGroup.xml"/>
<ie:param name="element"
data="action=query:type=part:domain=s2.ptc.com:task=infoengine/
com/company/CreateGroupA.xml"/>
<ie:param name="element"
data="action=query:type=part:domain=s3.ptc.com:task=infoengine/
com/company/JdbcQueryEmp.xml"/>
</ie:webject>
<ie:webject name="Create-Group" type="GRP">
<ie:param name="group_out" data="parts"/>
<ie:param name="delimiter" data=":"/>
<ie:param name="element" data="ufid=part1@s1.ptc.com:class=part:number=1"/>
<ie:param name="element" data="ufid=part2@s2.ptc.com:class=part:number=2"/>
<ie:param name="element" data="ufid=part3@s3.ptc.com:class=part:number=3"/>
<ie:param name="element" data="ufid=part4@s1.ptc.com:class=part:number=4"/>
<ie:param name="element" data="ufid=part5@s2.ptc.com:class=part:number=5"/>
<ie:param name="element" data="ufid=part6@s3.ptc.com:class=part:number=6"/>
<ie:param name="element" data="ufid=part7@s1.ptc.com:class=part:number=7"/>
<ie:param name="element" data="ufid=part8@s2.ptc.com:class=part:number=8"/>
<ie:param name="element" data="ufid=part9@s3.ptc.com:class=part:number=9"/>
</ie:webject>
<% long start = System.currentTimeMillis (); %>
<ie:webject name="Dispatch-Tasks" type="MGT">
<ie:param name="tasks" data="tasks"/>
<ie:param name="group_in" data="parts"/>
<ie:param name="max_concurrent" data="$(@FORM[]threads[])" default="10"/>
<ie:param name="action" data="$(@FORM[]action[])" default="query"/>
<ie:param name="type_attribute" data="class"/>
<ie:param name="id_attribute" data="ufid"/>
<ie:param name="param" data="group_out=results"/>
<ie:param name="param" data="jdbcAdapter=$(@FORM[]jdbcAdapter[])"
default="jdbcAdapter"/>
</ie:webject>
<% long duration = System.currentTimeMillis () - start; %>
<h2>Execution time: <%= duration %> msec</h2><br>
<ie:webject name="Display-Object" type="DSP">
<ie:param name="group_in" data="results"/>
<ie:param name="border" data="1"/>
<ie:param name="display_attribute_name" data="true"/>
</ie:webject>
</body>
</html>
Generate-WSDL
説明
SOAP クライアントが使用する Web Service Definition Language (WSDL) を、指定された Info*Engine タスクから生成します。WSDL は、クライアントとサーバー間のインタフェースを定義するために使用される XML ベースの言語です。
Info*Engine SOAP サービスを予測どおりに動作させるには、生成された WSDL 内で公開されている SOAP ポートに対して指定した HTTP URL を使用して、そのサービスにバインドする必要があります。それは、WSDL には SOAP サービスの基本クラスに渡す照会パラメータがほかにも含まれているからです。
生成される WSDL には、SOAP RPC サーブレットに固有の SOAP 情報が含まれます。この情報により、SOAP RPC サーブレットは要求を正しくルーティングできます。生成される WSDL には、
IESoapPort という名前のポートにバインドされた
IESoapServlet という名前の単一のサービスが含まれており、CLASS パラメータで指定されたクラスに対してサポートされるすべてのメソッドおよびメソッド署名が記述されています。SOAP の詳細については、
Simple Object Access Protocol (SOAP) Web サービスを参照してください。
WSDL の生成に使用されるタスクの前には、Java ドキュメンテーションのコメント構文に似た、パラメータと結果を定義する特別なコメント行を置く必要があります。Webject は、指定された場所で検出されたすべてのタスクを解析し、内部の特別なコメント行を使用して WSDL を生成します。指定する Webject のパラメータによっては、WSDL を BLOB として書き戻したり、グループとして VDB に追加したりできます。
構文
<ie:webject name="Generate-WSDL" type="MGT">
<ie:param name="CLASS" data="class_name"/>
<ie:param name="GROUP_OUT" data="output_group_name"/>
<ie:param name="REPOSITORY" data="repository"/>
<ie:param name="REPOSITORY_TYPE" data="repository_type"/>
<ie:param name="SOAP_URI" data="uri"/>
<ie:param name="STYLE" data="rpc"/>
<ie:param name="TASKS" data="task_location"/>
<ie:param name="VERSION" data="1.0"/>
</ie:webject>
パラメータ
必須
|
選択
|
オプション
|
CLASS
|
GROUP_OUT
|
REPOSITORY
|
|
SOAP_URI
|
REPOSITORY_TYPE
|
|
|
STYLE
|
|
|
TASKS
|
|
|
VERSION
|
CLASS
WSDL メソッドが関連付けられる Java クラスを指定します。指定する値は、サポートする LDAP ディレクトリにある既存のタイプ識別子定義に対応している必要があります。REPOSITORY または REPOSITORY_TYPE パラメータを使用して Webject に LDAP 内の適切な場所を指示することでタイプ識別子を検出できます。このパラメータは必須です。
GROUP_OUT
作成する出力グループの名前を指定します。GROUP_OUT が指定されている場合、出力されたグループは、指定された名前が付けられ、VDB に追加されます。グループには、CLASS パラメータに対応するタイプ識別子によって公開される各コマンド代理ごとに 1 つの要素が含まれます。各グループ要素には、タスクパラメータごとに 1 つの属性が含まれます。パラメータ名が属性名になります。また、パラメータタイプが属性値になります。メソッド名とタスクはメタデータとして各要素に保存されます。その際に付けられる識別子は、それぞれ com.infoengine.soap.wsdl.methodName および com.infoengine.soap.wsdl.task です。タスク全体または個別のパラメータでコメントが指定されている場合、コメントはメタデータとして保存され、それには com.infoengine.soap.wsdl.comment という識別子が付けられます。タスクのコメントは、対応する要素のメタデータとして保存されます。パラメータのコメントは、対応する属性のメタデータとして保存されます。GROUP_OUT が指定されていない場合は、SOAP_URI を指定する必要があります。
REPOSITORY
リポジトリタイプに必要なタイプ識別子とタスク代理定義があるリポジトリの名前を指定します。たとえば、com.ptc.windchill というリポジトリタイプを持つインストール済みの Info*Engine インスタンスを表す host.myCompany.com を指定できます。このパラメータを指定しない場合、実行中の JVM の仮想マシン名に基づいてリポジトリタイプが生成されます。たとえば、仮想マシン名が com.myCompany.host.server であれば、リポジトリは host.myCompany.com になります。このパラメータはオプションです。
REPOSITORY_TYPE
必要なタイプ識別子とタスク代理定義があるリポジトリタイプの名前を指定します。以下に例を示します。com.ptc.windchillこのパラメータを指定しない場合、REPOSITORY パラメータで記述された動作を実行して、適切なリポジトリタイプの動的な検出を試みます。このパラメータはオプションです。
SOAP_URI
要求のルーティングに使用される SOAP サービスの URI を指定します。このパラメータに指定できるのは完全修飾 URI のみです。例:
http://localhost/Windchill/servlet/RPC
ここで、RPC は com.infoengine.soap.SoapRPCRouter のインスタンスです。このパラメータが指定されていると、WSDL が生成され、BLOB としてクライアントに返されます。GROUP_OUT が指定されていない場合は、SOAP_URI を指定する必要があります。
STYLE
有効な値は rpc または document です。このパラメータは、Info*Engine SOAP サービスを WSDL として生成する場合の表現方法や、サービスが実際にリクエストを処理し、レスポンスを生成するときの動作を制御します。この値が rpc の場合、生成される WSDL は Remote Procedure Call (rpc) スタイルの SOAP になります。この値が document の場合、生成される WSDL はドキュメントスタイルの SOAP になります。デフォルト値は rpc です。このパラメータは、VERSION パラメータが 1.1 に設定されている場合にのみ処理されます。このパラメータはオプションです。
VERSION および STYLE のデフォルト値はそれぞれ 1.0 と rpc であるため、デフォルトでは、Info*Engine SOAP サービスは rpc-エンコード形式の SOAP サービスになります。Info*Engine SOAP サービスを rpc-テキスト形式で動作させる場合は、STYLE および VERSION にそれぞれ rpc および 1.1 を指定してください。Info*Engine SOAP をドキュメント-テキスト形式で動作させる場合は、それぞれ document および 1.1 を指定します。
TASKS
WSDL を使用し、SOAP クライアントに対して外部化されるタスクの場所を、設定されたタスクルートを基準にして指定します。このパラメータはオプションです。
VERSION
有効な値は 1.0 または 1.1 です。このパラメータは、生成される WSDL が SOAP エンコード形式かテキスト形式かを制御します。デフォルト値は 1.0 です。これはエンコード形式の SOAP を生成します。このパラメータは STYLE パラメータと連動します。STYLE パラメータは VERSION パラメータが 1.1 である場合にのみ処理されます。このパラメータはオプションです。
VERSION および STYLE のデフォルト値はそれぞれ 1.0 と rpc であるため、デフォルトでは、Info*Engine SOAP サービスは rpc-エンコード形式の SOAP サービスになります。Info*Engine SOAP サービスを rpc-テキスト形式で動作させる場合は、STYLE および VERSION にそれぞれ rpc および 1.1 を指定します。Info*Engine SOAP をドキュメント-テキスト形式で動作させる場合は、それぞれ document および 1.1 を指定します。
例
次の Generate-WSDL サンプルは、Info*Engine タスクから WSDL を生成します。REPOSITORY パラメータは、実行中の仮想マシン名に基づいて生成されます (REPOSITORY パラメータ記述の説明どおり)。WSDL メソッドは、com.infoengine.soap という Java クラスに関連付けられています。リクエストは SOAP_URI で指定されている SOAP サービスを通じてルーティングされ、生成された WSDL は BLOB としてクライアントに返されます。
<ie:webject name="Generate-WSDL" type="MGT">
<ie:param name="CLASS" data="com.infoengine.soap"/>
<ie:param name="SOAP_URI"
data="http://host/Windchill/servlet/RPC"/>
</ie:webject>
Get-Properties
説明
Java プロパティリソースからグループを作成します。
構文
<ie:webject name="Get-Properties" type="MGT">
<ie:param name="ATTRIBUTE" data="name"/>
<ie:param name="GROUP_OUT" data="group_name"/>
<ie:param name="SOURCE" data="uri_or_file_pathname"/>
</ie:webject>
パラメータ
必須
|
選択
|
オプション
|
|
|
ATTRIBUTE
|
|
|
GROUP_OUT
|
|
|
ソース
|
ATTRIBUTE
出力グループ内で呼び出しと配置の対象となるプロパティ名を指定します。ATTRIBUTE が指定されていない場合は、SOURCE に指定されたすべてのプロパティが出力グループに配置されます。このパラメータはオプションです。
GROUP_OUT
メッセージキューのオブジェクトのキュー識別子を含んでいる、作成するグループ名を指定します。
GROUP_OUT に含まれる要素は 1 つのみです。要素の各属性は、プロパティソースから取得した 1 つのプロパティ名/値のペアを表示します。属性の名前は対応するプロパティの名前と同じです。また、属性の値はプロパティの値と同じです。
このパラメータはオプションです。
ソース
Get‑Properties Webject によって返されたプロパティの場所を指定します。相対または絶対 URI として指定できます。
◦ 相対 URI の参照ファイル。ローカル Info*Engine のタスクプロセッサに定義されたルートファイルシステムディレクトリに常駐します。
◦ 絶対 URI の参照ファイル。ローカルファイルシステム、またはリモート HTTP サーバーに常駐するか、またはアクセス可能な LDAP ディレクトリを介して参照されます。
これは、wt.properties などのプロパティファイルを参照するシステムファイルパスとして指定することもできます。このオプションのパラメータのデフォルトでは、GROUP_OUT の java.lang.System クラスによって定義されているプロパティを返します。
例
以下の Get-Properties の例は、あらかじめ決められたソースからプロパティを取得し、名前を付けたグループのプロパティを返します。
<%@page language="java" session="false"
errorPage="../IEError.jsp"%>
<%@taglib uri="http://www.ptc.com/infoengine/taglib/core"
prefix="ie"%>
<html>
<head><title>Get Properties</title></head>
<body>
<ie:webject name="Get-Properties" type="MGT">
<ie:param name="SOURCE" data="$(@FORM[]source[0])"
default=""/>
<ie:param name="GROUP_OUT" data="$(@FORM[]group_out[0])"
default=""/>
</ie:webject>
<ie:webject name="DISPLAY-TABLE" type="DSP"/>
</body>
</html>
この例を実際に実行するには、source および group_out 変数を識別するフォームを指定する必要があります。
Get-Resource
説明
Java リソースバンドルのローカライズされた文字列から Info*Engine グループを作成します。作成されたグループの文字列の言語は、クライアントの Web ブラウザの言語設定によって異なります。
Get-Resource Webject を Display‑Resource Webject とともに使用して、ローカライズされたテキストの Web ページへの挿入をサポートします。
構文
<ie:webject name="Get-Resource" type="MGT">
<ie:param name="BUNDLE" data="resource_bundle"/>
<ie:param name="GROUP_OUT" data="group_name"/>
</ie:webject>
パラメータ
必須
|
選択
|
オプション
|
BUNDLE
|
|
GROUP_OUT
|
BUNDLE
ローカライズされた文字列を読み込む Java クラスベースのリソースバンドルを識別します。このパラメータは必須です。
GROUP_OUT
読み込まれてローカライズされた文字列を保存する Info*Engine グループの名前を指定します。このパラメータのデフォルトは bundle です。このパラメータはオプションです。
例
以下の Get-Resource の例は、指定されたリソースバンドルからローカライズされた文字列を使用してグループを作成します。
<%@page language="java"
session="false"
errorPage="../IEError.jsp"%>
<%@ taglib uri="http://www.ptc.com/infoengine/taglib/core"
prefix="ie" %>
<html>
<head><title>Get Properties</title></head>
<body>
<ie:webject name="Get-Resource" type="MGT">
<ie:param name="BUNDLE"
data="com.infoengine.util.IEResource"/>
</ie:webject>
<ie:webject name="Display-Table" type="DSP">
<ie:param name="ATTRIBUTE" data="$(@FORM[]key[0])"
default="20" delim=","/>
</ie:webject>
</body>
</html>
キー変数はフォーム内で指定できます。または指定されたデフォルト値を使用します。
List-Repositories
説明
Info*Engine のリポジトリ エントリを一覧表示します。出力グループには、リポジトリごとに 1 つの要素が含まれます。そのコンテンツは、そのリポジトリの LDAP 属性です。さらに、各要素には、リポジトリエントリの識別名を格納する dn 属性と、タスク委任に使用できるリポジトリに関連付けられているドメイン名を格納する domain 属性が含まれます。
構文
<ie:webject name="List-Repositories" type="MGT">
<ie:param name="FILTER" data="ptcRepositoryType=com.ptc.windchill" />
<ie:param name="FILTER_MODE" data="[MATCH | NOMATCH]" />
<ie:param name="GROUP_OUT" data="repositories" />
</ie:webject>
パラメータ
必須
|
選択
|
オプション
|
|
|
FILTER
|
|
|
FILTER_MODE
|
|
|
GROUP_OUT
|
FILTER
既存のリポジトリのサブセットを返すのに使用するフィルタを指定します。フィルタのフォーマットは <属性>=<正規表現> であり、ここで <属性> は LDAP 属性 (ptcRepositoryType や ptcSupportingAdapter など)、<正規表現> は属性値を一致させる対象の正規表現です。このパラメータはオプションです。このパラメータのデフォルト値は ptcRepositoryType=.* です。これはすべてのリポジトリを ptcRepository 属性セットと一致させます。
FILTER_MODE
フィルタが一致する必要があるかないかを指定します。MATCH の値を指定すると、リポジトリエントリがフィルタによって指定された定義式と一致した場合、その定義式は出力グループに追加されます。このパラメータはオプションです。このパラメータのデフォルト値は MATCH です。
GROUP_OUT
作成する出力グループの名前を指定します。このパラメータはオプションです。このパラメータのデフォルト値は repositories です。
Lookup-Services
説明
この Webject は、ディレクトリサーチを実行して Info*Engine サービスを見つけます。結果として生成されるグループには、見つかったサービスごとに 1 つの要素が含まれます。各要素には、以下の属性が含まれる場合があります。
• dn
• description
• ptcRuntimeServiceName
• ptcServiceName
• ptcServiceClassName
• ptcMetaType
• ptcServiceAddress
• ptcObjectSerializationType
• ptcCoresidentService
(ptcApplicationServiceobjectClass のコンテンツと識別名)
ptcApplicationServiceobjectClass は ptcServiceName のみを必要とするため、dn と ptcServiceName はすべての要素にあり、その他が存在するかどうかはサービスのコンフィギュレーションによって異なります。
デフォルト値は、次のとおりです。
CLASS - なし
FILTER - (objectclass=ptcApplicationService) (使用可能なすべてのサービスエントリ)
GROUP_OUT - SERVICES
構文
<ie:webject name="Lookup-Services" type="MGT">
<ie:param name="GROUP_OUT" data="group name"/>
<ie:param name="FILTER" data="LDAP search filter"/>
<ie:param name="CLASS" data="class name"/>
</ie:webject>
パラメータ
必須
|
選択
|
オプション
|
|
|
CLASS
|
|
|
FILTER
|
|
|
GROUP_OUT
|
CLASS
GROUP_OUT パラメータによって指定された出力グループに含まれているオブジェクトのタイプを指定します。たとえば、Webject が CLASS=MyClassName と GROUP_OUT=data_1 を指定する場合、出力グループの XML 表現には以下のタグが含まれます。
<MyClassName NAME="data_1" TYPE="Object" STATUS="0">
</MyClassName>
このパラメータのデフォルトは Unknown-Class-Name です。これはオプションのパラメータです。
FILTER
このパラメータを使用して、ユーザーは (ptcServiceName=com.company.host.server) などの LDAP サーチフィルタを指定できます。デフォルト値は (objectclass=ptcApplicationService) です。デフォルト値を指定すると、ネーミングサービスのサーチベース内のすべてのサービスが返されます (サーチは常に VM のネーミングサービスサーチベース内で実行されます)。
GROUP_OUT
このパラメータを使用して、ユーザーは出力グループの名前を指定できます。デフォルト値は SERVICES です。出力グループにはサービスのみが含まれます (ptcApplicationService を objectClass として指定する LDAP ディレクトリエントリ)。出力グループには、見つかったサービスごとに 1 つの要素が含まれます。各要素には、少なくとも dn および ptcServiceName 属性が含まれます。各要素には、対応するサービスで値が設定されている場合には、ptcRuntimeServiceName、ptcServiceClassName、ptcMetaType、ptcServiceAddress、description、ptcCoresidentService、および ptcObjectSerializationType 属性も含まれることがあります。ptcServiceName、ptcServiceAddress、および ptcCoresidentService 属性は、指定する場合、複数の値をとることがあります。
Map-Credentials
説明
ファイルを読み取るか、タスクを実行して (またはその両方を行って)、Webject を実行するタスクの資格証明マップとしてグループを設定します。資格証明マップは、アダプタがバックエンド情報システムへの接続を確立するときに使用する認証情報を提供する Auth-Map コンテキストグループです。資格証明マップの各要素は、特定のバックエンドシステムへの接続に使用するユーザー名および関連付けられている資格証明を提供します。
タスクで Webject を常に明示的に指定して、タスクの Webject の残りの部分に影響を与える認証マップを作成したり変更したりします。.credentialsMapper コンフィギュレーションプロパティを設定すると、Map-Credentials もすべてのタスクのはじめに暗黙的に呼び出され、タスクの初期資格証明マップを作成します。デフォルトの認証マッピングタスクを設定していない場合、Map-Credentials Webject は暗黙的に呼び出されません。
資格証明マッピングの詳細については、
認証マッピングを参照してください。
構文
<ie:webject name="Map-Credentials" type="MGT">
<ie:param name="FILES" data="dir_path"/>
<ie:param name="TASK" data="uri"/>
<ie:param name="USERNAME" data="user_name"/>
</ie:webject>
パラメータ
必須
|
選択
|
オプション
|
|
FILES
|
USERNAME
|
|
TASK
|
|
FILES
特定のユーザーの資格証明マッピング情報を含んでいると見なされる各ファイルがあるシステムファイルパスディレクトリを指定します。USERNAME パラメータは FILES パラメータに連結され、1 つのファイルなどのパス名を生成します。結果のファイル名は以下のようにフォーマットされます。
FILES_parameter_value/USERNAME_parameter_value
ファイルが読み取られ解析されて、認証マップを生成します。ファイルの各行は以下のフォームであると見なされます。
instance:dbuser:passwd
ここで、
◦ instance は、WES または MSG Webject とともに使用する Info*Engine アダプタの名前またはインスタンス名を指定します。
◦ dbuser は、ユーザー名を指定します。
◦ passwd は、関連付けられているバックエンド情報システムに接続するためのアダプタに提供される資格証明を指定します。
FILES および TASK の両方を指定すると、ファイルベースのマッピングが先に実行され、次に認証マッピングのタスクが実行されます。これによって、一部のベースまたはデフォルトのマッピング情報がファイルを介して指定され、次にタスクによって補足されるか、オーバーライドされます。
FILES パラメータを省略すると、ファイルベースのマッピングは実行されません。この場合、認証マップは TASK パラメータによって指定されるタスクの出力からのみ導出されます。TASK パラメータを省略した場合は、FILES パラメータを指定する必要があります。
TASK
資格証明マップとして使用される Auth-Map グループを生成する Info*Engine タスクの URI を指定します。たとえば、認証マッピングタスクは以下のいずれかを実行できます。
◦ いったん、ユーザーを明示的に Info*Engine に認証させると、その後、Info*Engine はほかの企業情報システムに自動的にユーザーを認証します。
◦ 特定のユーザーによるロールを識別し、次に同じロールのユーザーと共有する認証情報を含んでいる出力グループを作成することによって、ネットワークリソースへの役割ベースのアクセスを可能にします。
FILES および TASK の両方を指定すると、ファイルベースのマッピングが先に実行され、次に認証マッピングのタスクが実行されます。これによって、一部のベースまたはデフォルトのマッピング情報がファイルを介して指定され、次にタスクによって補足されるか、オーバーライドされます。
このタスクで Webject によって生成される最終的なグループが認証マップになります。TASK パラメータを指定しなければ、資格証明マッピングのタスクは実行されません。この場合、認証マップは FILES パラメータからのみ導出されます。FILES パラメータを省略した場合は、TASK パラメータを指定する必要があります。
USERNAME
認証マップを作成するユーザー名を識別します。ユーザー名が指定されていなければ、資格証明マッピングタスクによって適切な操作が実行され、例外の発生などにより匿名のアクセスが却下されたり、匿名のアクセスにデフォルトの資格証明マップが指定されたりします。
このパラメータのデフォルトでは、Webject が SERVER コンテキストグループの auth-user という属性からユーザー名を取得します。このパラメータはオプションです。
Query-Schema
説明
LDAP ディレクトリまたは別のリポジトリからオブジェクトタイプに関するスキーマ情報を読み込みます。
構文
<ie:webject name="Query-Schema" type="MGT">
<ie:param name="TYPE" data=" com.myCompany.Address"/>
<ie:param name="SCHEMA_GENERATOR" data="<generatorClass>"/>
<ie:param name="GROUP_OUT" data="Attributes"/>
</ie:webject>
パラメータ
必須
|
選択
|
オプション
|
TYPE
|
|
GROUP_OUT
|
|
|
SCHEMA_GENERATOR
|
TYPE
スキーマを生成するタイプを定義します。
GROUP_OUT
生成する出力グループの名前を定義します。デフォルト値はありません。これが指定されていなければ、GROUP_OUT は生成されず、生成された SchemaObject ビーンのインスタンスが SOAP レスポンスとしてコレクションに保存されます。
SHEMA_GENERATOR
com.infoengine.schema.SchemaGenerator インタフェースを実装する Java クラスの完全修飾名を定義します。実装するクラスは、タイプ階層をナビゲートし、リクエストされた SchemaObject を生成する方法を認識している必要があります。このパラメータのデフォルトは、LDAP ディレクトリ内にある情報に基づいて SchemaObject インスタンスを生成する方法を認識している実装です。
SCHEMA_GENERATOR の値に基づいて、追加のパラメータの指定が必要になる場合があります。たとえば、LDAP SCHEMA_GENERATOR では、スキーマ情報を検索するディレクトリ内の場所を示すために REPOSITORY または REPOSITORY_TYPE などのパラメータが必要になる (または使用できる) 場合があります。
Query-TypeHierarchy
説明
既存のタイプ階層についての情報を取得できます。作成された Info*Engine グループには、タイプ階層内で検出された各タイプの情報と、トラバーサルの方向に応じてそのタイプの祖先または子孫のタイプのリストが含まれています。出力グループは、タイプのフラット表示リストまたはタイプ階層の構造を反映するネストされたグループのいずれかの形式でフォーマットされます。
構文
<ie:webject name="Query-TypeHierarchy" type="MGT">
<ie:param name="RESOLVER" data="typeGraph"/>
<ie:param name="TYPE" data="typeName"/>
<ie:param name="DIRECTION"
data="ANCESTORS | DESCENDANTS | BOTH"/>
<ie:param name="MODE" data="NESTED | FLAT"/>
<ie:param name="GROUP_OUT" data="groupName"/>
</ie:webject>
パラメータ
必須
|
選択
|
オプション
|
TYPE
|
|
DIRECTION
|
|
|
GROUP_OUT
|
|
|
MODE
|
|
|
RESOLVER
|
DIRECTION
トラバーサルの方向を指定します。有効な値は ANCESTORS、DESCENDANTS、および BOTH です。デフォルト値は BOTH です。このパラメータはオプションです。
GROUP_OUT
タイプ階層の情報を保存する Info*Engine グループの名前を指定します。
グループのコンテンツおよびフォーマットは、TYPE、DIRECTION、および MODE の値によって異なります。
◦ MODE の値が FLAT に指定されていて、タイプごとに 1 つの要素が出力グループに含まれている場合は、各要素に type および ancestors という 2 つの属性が含まれます。
◦ MODE が NESTED という値で指定されている場合、出力グループには type と ancestors または descendants の 2 つの属性を含んでいる 1 つのトップレベル要素が含まれます。
ancestors または descendants のどちらが使用されるかは、DIRECTION で指定されている値に応じて決定されます。DIRECTION の値が ANCESTORS に指定されている場合、ancestors 属性が含まれます。それ以外の場合には、descendants 属性が使用されます。ancestors または descendants 属性の値は、階層内での次のタイプを示し、次にその祖先または子孫を示す Info*Engine 要素です。
タイプ階層で、階層内のタイプごとに追加情報がサポートされている場合は、追加属性が出力グループの各要素に含まれる場合があります。たとえば、Windchill の実装では、interface、class、または soft のいずれかの値を持つ definition という属性を含めることによって、階層内の特定のタイプがモデル化であるかソフトであるかを指定します。
このパラメータのデフォルト値は hierarchy です。このパラメータはオプションです。
MODE
出力グループのフォーマット方法を指定します。有効な値は FLAT または NESTED です。デフォルト値は FLAT です。
RESOLVER
TYPE が検出可能な、タイプ階層の実装の名前を指定します。現在、このパラメータには 2 つの有効な値があります。
◦ com.infoengine.schema.type.LDAPTypeHierarchyGraph - LDAP に保存されるタイプ階層のトラバーサルを許可します。
◦ com.ptc.core.adapter.server.impl.WindchillTypeHierarchyGraph - Windchill の type 階層のトラバーサルを許可します (Windchill がインストールされている必要があります)。
デフォルト値は com.infoengine.schema.type.LDAPTypeHierarchyGraph です。このパラメータはオプションです。
TYPE
タイプ階層のトラバーサルを開始するタイプの名前を指定します。これは必須のパラメータです。
Throw-Exception
説明
例外を発生させます。タスク内のユニットのボディ内から Webject を呼び出す場合に、ブロックが存在すると、制御は failure ブロックに変換されます。Webject がユニット外から呼び出される場合、タスクは終了します。
|
Info*Engine は、タスクの実行時に発生した例外の名前とメッセージを整理して、exception-class および exception-message という名前の SERVER コンテキストグループの属性に自動的に登録します。これにより、ユニット内の失敗ブロックが例外を処理し、パラメータを渡さずに Throw‑Exception Webject を呼び出して例外を返すことができます。exception-object という SERVER コンテキスト属性は、ネステッド例外をアンラップし、未処理のラップされていない例外オブジェクトを作成して登録します。Throw-Exception Webject は、この SERVER コンテキスト属性を検索し、存在する場合は、関連する例外オブジェクトを直接生成します。
|
構文
<ie:webject name="Throw-Exception" type="MGT">
<ie:param name="BUNDLE" data="bundle_name"/>
<ie:param name="CLASS" data="exception_class_name"/>
<ie:param name="GROUP_IN" data="input_group"/>
<ie:param name="KEY" data="resource_key"/>
<ie:param name="MESSAGE" data="text_message"/>
<ie:param name="PARAM" data="resource_param"/>
</ie:webject>
パラメータ
必須
|
選択
|
オプション
|
|
BUNDLE
|
CLASS
|
|
GROUP_IN
|
|
|
KEY
|
|
|
MESSAGE
|
|
|
PARAM
|
|
BUNDLE
例外と関連付けるローカライズされたメッセージテンプレートを含んでいる、Java リソースバンドルのクラス名を識別します。
KEY および PARAM パラメータを使用するには、BUNDLE または GROUP_IN のいずれかも指定する必要があります。
CLASS
発生する例外の Java クラス名を指定します。CLASS を省略すると、Webject は exception-class という名前の SERVER コンテキストグループの属性からクラス名を取得します。属性が存在しない場合、クラス名はデフォルト値である com.infoengine.util.IEException になります。このパラメータはオプションです。
GROUP_IN
Get-Resource Webject によって生成されたグループなどの、ローカライズされたリソース定義を含んでいるグループを識別します。BUNDLE および GROUP_IN の両方を指定すると、BUNDLE が優先され、GROUP_IN は無視されます。
KEY および PARAM パラメータを使用するには、BUNDLE または GROUP_IN のいずれかも指定する必要があります。
KEY
バンドルまたはグループからローカライズされたメッセージテンプレートを選択します。KEY 値は数字または Java 変数参照名として指定できます。
このパラメータは、BUNDLE または GROUP_IN パラメータのいずれかも指定する場合のみ使用します。
MESSAGE
MESSAGE パラメータは、例外に関連付けられるテキストメッセージを指定します。このパラメータは、例外にローカライズ可能なメッセージを生成する必要がない場合のみ使用します。このパラメータを省略し、BUNDLE および GROUP_IN パラメータも省略した場合、Webject は exception-message という名前の SERVER コンテキストグループ属性からメッセージテキストを取得します。MESSAGE とともに BUNDLE または GROUP_IN を指定すると、MESSAGE パラメータが優先され、BUNDLE および GROUP_IN は無視されます。
PARAM
最終的なメッセージテキストを生成するために、ローカライズされたメッセージテンプレートに置換される 1 つまたは複数の値を指定します。PARAM を指定しない場合、BUNDLE または GROUP_IN および KEY パラメータによって識別されるメッセージテンプレートには置換キーワードが含まれず、したがって置換は実行されないと見なされます。
このパラメータは、BUNDLE または GROUP_IN パラメータのいずれかも指定する場合のみ使用します。
例
以下の Throw-Exception の例は、指定したリソースバンドルの KEY 番号 19 で識別されるローカライズされたメッセージを使用して、例外を発生させます。
<%@page language="java"
session="false"
errorPage="../IEError.jsp"%>
<%@ taglib uri="http://www.ptc.com/infoengine/taglib/core"
prefix="ie" %>
html>
<head><title>Throw Exception</title></head>
<body>
ie:webject name="Throw-Exception" type="MGT">
<ie:param name="BUNDLE"
data="com.infoengine.util.IEResource"/>
<ie:param name="KEY" data="19"/>
</ie:webject>
/body>
</html>
Write-Log
説明
実行するコンテキストに関連付けられたログにメッセージを書き込みます。たとえば、Webject が Info*Engine のタスクプロセッサ内で実行するタスクから呼び出される場合、メッセージはタスクプロセッサのログに書き込まれます。JSP ページから Webject が呼び出される場合は、JSP プロセッサログに書き込まれます。
|
Info*Engine タスクを作成するとき、Logging タグライブラリを使用してログステートメントを log4j に発行することをお勧めします。
|
構文
<ie:webject name="Write-Log" type="MGT">
<ie:param name="GROUP_IN" data="input_group"/>
<ie:param name="LOG" data="[DEBUG | INFO | ERROR | AUDIT |
TRANSACTION | STAT]"/>
<ie:param name="MESSAGE" data="message_text"/>
<ie:param name="TAG" data="author_supplied_tag"/>
</ie:webject>
パラメータ
必須
|
選択
|
オプション
|
|
|
GROUP_IN
|
|
|
LOG
|
|
|
MESSAGE
|
|
|
TAG
|
GROUP_IN
ログに使用する入力グループの名前を指定します。この入力グループは、XML としてレンダリングされ、LOG パラメータで指定されたログファイルに書き込まれます。このパラメータには複数の値を指定できます。すべての入力グループは、MESSAGE パラメータで指定された値の後にログが書き込まれます。
LOG
メッセージを書き込む必要があるログを指定します。このパラメータの有効な値は、DEBUG、INFO、ERROR、AUDIT、TRANSACTION、および STAT です。このパラメータのデフォルトは INFO です。このパラメータはオプションです。
MESSAGE
ログに書き込むメッセージの主要なテキストを指定します。
書き込まれる各ログメッセージのフォーマットは、
date-time#:#host#:#service#:#tag#:#user#:#messagevalue
です。
ここで、
date-time - メッセージが書き込まれた日付と時刻
host - メッセージが書き込まれたホストのインターネットドメイン名
service - メッセージを書き込んだ Info*Engine サービスの名前
tag - TAG パラメータによって指定される値
user - メッセージが書き込まれたときにサービスが動作していたユーザーの認証済みのユーザー名
messagevalue - MESSAGE パラメータによって指定される値
デフォルトは、空のメッセージ値を持つログメッセージの書き込みです。このパラメータはオプションです。
TAG
ログのサーチと並べ替えを容易にするために、ログエントリの一部として書き込まれるタグを指定します。TAG パラメータを使用すると、タスク著作者があるログメッセージをほかと区別するときに使用できる簡単な識別子を指定できます。たとえば、トラブルシューティングや、サイト定義した方法でメッセージを分類するために、特定のタグを使用できます。
このパラメータのデフォルトでは、Webject が呼び出されるタスクの名前を使用します。このパラメータはオプションです。
例
以下の Write-Log の例は、グループを作成し、メッセージを 2 つの異なるログに書き込んでから、出力を表示します。
<%@page language="java"
session="false"
errorPage="../IEError.jsp"%>
<%@ taglib uri="http://www.ptc.com/infoengine/taglib/core" prefix="ie" %>
<html>
<head>
<title>Write-Log Webject</title>
</head>
<body>
<!-- create a group -->
<ie:task uri="com/company/CreateGroup.xml"/>
<!-- Write a log message to the default log, "info" -->
<ie:webject name="Write-Log" type="MGT">
<ie:param name="TAG" data="-----Write-Log-----"/>
<ie:param name="MESSAGE" data="----Info log message----"/>
</ie:webject>
<!-- Write a log message to the "debug" log -->
<ie:webject name="Write-Log" type="MGT">
<ie:param name="TAG" data="-----Write-Log-----"/>
<ie:param name="MESSAGE"
data="----Debug log message----"/>
<ie:param name="LOG" data="DEBUG"/>
</ie:webject>
<!-- generate the output -->
<ie:webject name="Display-Table" type="DSP"/>
</body>
</html>