Apache Axis2とRampartを使用したWebサービスクライアントの作成
質問
IBM WebSphere Integration Developer 6.1にユーザー名トークンセキュリティを備えたWebサービスが作成された要件があります。これをテストするには、JavaでWebサービスクライアントを開発する必要があります。要件は、Apache axis2を使用してこれを完了することです。これをたくさん読んだ後、AXIS2を使用して、認証を必要としない単純なWebサービスのクライアントを生成することができ、正しくテストすることができました。しかし、axis2を使用してユーザー名トークンセキュリティを使用するためには、ランパートが必要であることを知るようになりました。
今、私はEclipseでaxis2でrampartを使用する方法を知る必要があります。 Apacheサーバーはシステムにインストールされていませんが、Eclipseに展開しています。同じ記事をたくさん読んだ後でも、私はランパートを機能させることができませんでした。
誰かがEclipseでRampartを構成する手順と、ユーザー名トークンを使用してWebサービスクライアントの生成に使用する方法を案内していただけますか?
これまでのところ、axis2を使用して、以前は次の手順を実行していました。 1. Javaプロジェクトを作成し、必要なWSDLをITにインポートします。 2. WSDLSを使用して、WebServiceClientを作成し、次のタイプのファイルが生成されます。 Javaインターフェイスファイルb。 AC A APACHE.AXIS.CLIENT.STUBを拡張し、ADに記載されているインターフェイスを再びインターフェイスであるJavaサービスファイルを実装するAC A Javaスタブファイルに記載されているインターフェイスを実装するJavaプロキシファイル。上記のインターフェイスを実装するJava ServiceLocatorファイル。
そのため、ユーザー名トークンWebサービスをテストするためにこれらのファイルを使用する方法も知る必要があります。
ダイナミックWebプロジェクトを使用して上記を行い、WSDLSを右クリックして[クライアントの生成]をクリックすると、ServiceCallBackhandler.javaとhttpsRvicestubファイルが作成されます。これらを使用してテストを実現するにはどうすればよいですか?
ありがとう。
解決
私はユーザー名トークンにRampartを使用していませんが、私のサービス(署名と暗号化)にはIBMドキュメントが本当に役に立ちました。見て: http://www.ibm.com/developerworks/java/library/j-jws4/ Java Webサービス:Axis2 WS-Security Basics; rampartをaxis2にインストールし、usernametokenハンドリングを実装する方法をご覧ください
私のプロジェクトでは、WS-Security(作業環境)を使用し、WS-Security(テスト環境)を使用しない場合、Javaソースは同じです。クライアント側で私がしなければならないことはすべて、ランパートの構成を有効/無効にするために my_client/axis-repo/conf/axis2.xml
. 。見て: http://wso2.org/library/240 あなたが役立つ可能性のある構成の例を見つける場所:
<parameter name="OutflowSecurity">
<action>
<items>UsernameToken</items>
<user>bob</user>
<passwordCallbackClass>org.apache.rampart.
samples.sample02.PWCBHandler</passwordCallbackClass>
</action>
</parameter>
他のヒント
まず、uはaxis2モジュールファイルにランパートモジュールファイルをロードする必要があります。次に、rampart in libフォルダーに必要なライブラリをロードします。次に、ユーザー名とパスワードのロジックを定義するコールバックハンドラークラスを使用します。 RamartソースコードとRampart Folder.uでベイル可能な上記のすべてのことは、Rampart Webサイトからダウンロードする必要があります。
<parameter name="InflowSecurity">
<action>
<items>UsernameToken</items>
<user>jaideep</user>
<passwordCallbackClass>com.mltvacations.externalapi.callbackhandler.PasswordCallbackHandler</passwordCallbackClass>
<passwordType>PasswordText</passwordType>
</action>
</parameter>
タグで。次に、Webサービスを実行し、WSDLのアドレスをコピーしてSoapuiに入れてから、認証ヘッダーを追加します。そしてそれをチェックしてください。
問題がある場合は、私に教えてください。私はあなたに満足のいく答えを与えますbeacuse私はランパートのセキュリティを使用しました。