2012-01-04 24 views
0

wsdlc ANTタスクを使用してwsdlからJAXWS Webサービスを作成し、Weblogic 10.3.0にデプロイしました。また、Verisign Server証明書がインストールされ、Webサービス要求をweblogicに転送するように設定されているSunのJava Server 7.0もあります。JAXWSクライアントがX509サーバ認証を使用してJAXWS Webサービスを呼び出す

webserviceを呼び出すためにwsimport antタスクを使用してJAXWSクライアントを作成しました。 https URLを使用してクライアントを実行すると、weblogicでXMLリクエストが表示され、webserviceが正常に処理されます。しかし、私はxml要求/応答でx509証明書の証拠を見つけることができませんでした。 wsimportを使ってスタブを生成する以外に、クライアント側で何かする必要がありますか?私はブラウザを通してwsdlを見ると、ブラウザを通して証明書の詳細を見ることができます。

答えて

4

HTTPS経由でWebServiceに接続すると、クライアントとサーバーはx509証明書交換を行います。これは接続レベルで実行されるものです。wsimportはそれとは関係ありません。あなたがそのレベルにX509証明書を使用したい場合は、Java HTTPS client certificate authentication/Java client for the X.509 secured web-serviceに、サーバー側Securing WebLogic Server: Configuring SSLに掘るする必要があります。

また、レベルを下げることもできます.HTTPプロトコルを使用してサーバーに接続し、SOAPレベルで暗号化/署名/認証を実行します。次にMetro/JAX-WSサービスの場合はUser authenticate in SOAPまたはUsing JAX-WS-Based Web Services with SSL、Apache CXFの場合はWS-Security、選択するフレームワークによっては、Spring Security With X.509 Certificate(Spring Securityの場合)を参照してください。

+0

はい、私たちは、トランスポートレベルでの認証を必要とします。 Webサービスが呼び出されたときに認証が実際に行われていることを確認するにはどうすればよいですか?私はSOAPレベルで、XMLリクエストの証明書の詳細が正しいことを確認できますか? – Doss

+0

証明書ストアが初期化されていない状態でクライアントを実行してください。それは失敗するはずです。サーバー側でデバッグすることも役に立ちます。 –

+0

実際に私は店を初期化しませんでした。それは失敗しませんでした。だから私は考えていた証明書は、サーバー側では有効になっていませんが、私は、HTTPSを使用してブラウザからWSDLを見ていたとき、私は、ブラウザウィンドウから証明書の詳細を表示することができます。 – Doss

0

-Djavax.net.debug = allを使用してSSLハンドシェイクを確認できます。トラストストアを含めるようにクライアントを修正していないため、証明書が信頼できるCAによって署名されている場合は不要です。

関連する問題