0

myEclipse10.0のTomcat6(組み込みサーバー)とApacheCXFをWebサービスアプリに使用しています。私の問題は、サービスコードが含まれているwarファイルがあるサーバーに接続しようとしていることです。ただし、コードを介してヒットしようとすると、CXFから次のエラーが発生します。

警告:インターセプターが例外をスローし、アンワインドするようになりましたorg.apache.cxf.interceptor.Fault:メッセージを送信できませんでした。

そして、根本的な問題と思われるこのエラー:

原因:javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIXパスの構築に失敗しました:sun.security.provider.certpath.SunCertPathBuilderException:要求されたターゲットへの有効な認証パスが見つかりません

InstallCert.javaを使用してサーバーにアクセスしましたが、次のようになりました。

KeyStore jssecacertsを読み込んでいます...:443への接続を開いています...SSLハンドシェイクを開始しています...

エラーなし、証明書はすでに信頼されています

Porticleを使用してcacertsファイルを表示し、サーバーのsha1とmd5の情報がサーバー上の情報と完全に一致していることを確認しました。cacertsファイルはjava/jre6 / lib / securityフォルダーの下にあり、ロード時にtomcatによって自動的に取得されると思いました。

また、別のアイデアとして.binフォルダーを作成し、それをtomcatのwebappsディレクトリーの下に置き、サーバーxmlを次のように変更しました。

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
               maxThreads="150" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS" 
               keystoreFile="<path on my machine>/webapps/tomcat.bin" keystorePass="changeit" />

証明書をキーストアにロードする方法を示した記事をいくつか見つけましたが、それがこのエラーの一般的な解決策であるにもかかわらず、それは問題ではないようです。何か足りないものがありますか、それともこのエラーが発生する別の理由がありますか?

4

1 に答える 1

0

myEclipseには、独自のデフォルトのcacertsファイルを実行する独自のjreがあることが判明しました。私のマシンでは、C:\ MyEclipse \ Common \ binary \ com.sun.java.jdk.win32.x86_1.6.0.013 \ jre \ lib\securityでした。

ProcessExplorerを使用してjavaw.exeプロセスを表示してから、検索(コントロールキー+ Fキー)を実行すると、ロードされた追加のjreが表示されました。正しいcacertsをそのディレクトリにコピーしてすべてを再起動すると、機能しました。

于 2012-10-03T21:55:29.280 に答える