特にWebSphereIntegrationDeveloper V7を使用していますが、Rational Software Architect V 7.5.1を使用することもできます(両方を使用しているため)。
コンテキスト: JAX-WSを介して公開されるWebSphere ProcessServerV7のHumanTaskManagerおよびBusinessFlowManagerサービスを呼び出すためのJAX-WSクライアントを作成しようとしています。デフォルトでは、ポリシーセットと、いくつかのWS-Security設定を指定するプロバイダーバインディングが添付されています(これらはWSDLで定義されていないため)。
動的Webプロジェクトを使用してそれを機能させる方法を理解しました。WSDLからJAX-WSクライアントコードを生成することができました。ポリシーセットとプロバイダーおよびクライアントバインディングをProcessServerからエクスポートし、それらをワークスペースにインポートすることができました。ポリシーセットとクライアントバインディングをクライアントサービスに添付することができました。Webサービスを呼び出すための(クライアントをテストするための)ページとサーブレットを設定することができました。そして、デプロイメント記述子とWebsphereバインディング/拡張ファイルでセキュリティ設定をセットアップして、それを機能させることができました。
これはすべて素晴らしいことですが、実際には、Webサービスクライアントを私たちが作成している他のアプリケーションに公開するためだけに戦争に耳を傾けることは望んでいません。Webサービスクライアントjarを生成し、他のアプリケーションと一緒にパッケージ化します。
この考え方を踏まえて、IDEで通常のJavaプロジェクトを使用し、それにWebサービスクライアントを生成する方法を理解することができました。ポリシーセットとクライアントバインディングをクライアントに添付することもできました。
私の問題は、これをどのように呼び出すかです。クライアントをテストするために、以前と同じようにページとサーブレットを使用して動的Webプロジェクトを作成しました。クライアントプロジェクトをWebライブラリの依存関係として設定して、クライアントコードにアクセスできるようにしました。以前と同じようにデプロイメント記述子を設定して、ログインと認証を強制することもできます。現在の唯一の問題は、Webサービスが独自の「jar」にあるため、Webサービスに資格情報を渡す方法がわからないことです。TokenGeneratorとCallbackHandlerを設定するためのメニューにアクセスする前。クライアントが動的Webプロジェクトに含まれていないため、これらのメニューにアクセスできません。これで「切断」が発生し、サーバーで実行しようとするともちろん失敗します。
これを行う方法が必要です。クライアントjarを生成し、必要なものを渡すことができるはずです。誰かが以前にこれに遭遇しましたか?