Web サービス展開用ビルドスクリプトの使用
Windchill とともに、Web サービスの生成と展開の両方に使用できる Apache Ant ビルドスクリプトがリリースされています。Web サービスを手動で作成し、提供されているプロジェクトのサポートを利用する場合は、このスクリプトが自動的に呼び出されます。したがって、直接的にその機能を理解しておく必要はありません (security.properties コンフィギュレーションについては知識が必要)。ただし、再度パッケージ化して展開する必要のないレガシー Web サービス (たとえば、Windchill とともにリリースされている com.ptc.windchill.ws という一般的な Web サービス) がすでにインストールされている場合は、このスクリプトを手動で実行することができます (提供されている Apache Ant フレームワークを使用することでも同じ結果を達成できます)。入力プロパティを使用せずにこのスクリプトを実行すると、その要件のみが表示されるため、少なくとも servlet.name および type.id または webservice.class プロパティを入力として指定する必要があります。コマンドラインで -D<propertyName>=<propertyValue> 引数を追加して security.properties に含まれているプロパティを明示的にオーバーライドすることもできます。たとえば、設定したデフォルト値と異なる security.policy プロパティの値を指定できます。
com.ptc.windchill.ws を、SAML 送信者保証を使用してセキュリティが確保された後に再展開することもできます。これを GenericWebService というサーブレットのもとで再展開するには、以下のコマンドを実行します。
% cd <Windchill>/bin/adminTools/WebServices
% ant -Dservlet.name=GenericWebService -Dtype.id=com.ptc.windchill.ws
-Dsecurity.policy=samlsv generate
たとえば、コマンドラインで security.policy プロパティを明示的に指定することもできます。このプロパティは、単に security.properties ファイル内のセキュリティポリシーのコンフィギュレーションを使用する場合は不要です。
上記のコマンドラインを実行すると、以下の操作が実行されます。
1. Info*Engine ベースの com.ptc.windchill.ws を公開する JAX-WS ベースの Web サービスを生成する。
2. wsgen ユーティリティを使用して、Web サービスの展開をサポートする必要な Java ソースのコンポーネントを生成する。
3. 以前に生成されたソースをコンパイルする。
4. これは、設定されているセキュリティポリシーに基づいて、適切なセキュリティポリシー情報をサービスによって使用されるために適用します。ほとんどのポリシーについては、これにより、<Windchill>/codebase/WEB-INF に <wsit-class>.xml というファイルが生成されます。これには、Web サービスレイヤー用のセキュリティポリシーに関する指示が含まれています。
5. コンパイルされた Web サービスのクラスを Windchill で使用されるように Java でアーカイブする。
6. 以下のロケーションに Web サービスのサーブレットとサーブレットマッピング展開情報を追加します。
<Windchill>/codebase/WEB-INF/web.xml
7. Web サービスを展開するために <Windchill>/codebase/WEB-INF/sun-jaxws.xml を作成または更新し、セキュリティ情報を設定済みのセキュリティポリシーに対応する SOAP リクエストから抽出するサーバー側コールバックハンドラを関連付けます。
Web サービスを展開するために Windchill が実行されている必要はありません。ただし、Web サービスを展開または再展開するためのスクリプトを実行した後に Windchill を再起動する必要はあります。