高度なカスタマイズ > Info*Engine ユーザーガイド > Task Webject リファレンス > Management Webject > Generate-WSDL
  
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
ここで、RPCcom.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.0rpc であるため、デフォルトでは、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.0rpc であるため、デフォルトでは、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>