2011-07-11 13 views
1

httpsサービスURLを取得しています。 SAAJを使用してJavaクライアントを作成しました。PrivilegedActionExceptionを取得中:com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl:メッセージ送信に失敗しました.Webサービスを呼び出す

java.security.PrivilegedActionException:com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl:PKIXパスの構築に失敗しました:メッセージの送信が sun.security.validator.ValidatorExceptionが失敗しました - は:しかし、私は次の例外を取得しています:sun.security.provider.certpath.SunCertPathBuilderException:(。ブラウザを使用して)

要求されたターゲットへの有効な証明書パスを見つけることができない私は、その後使用してこれをimporetdサービスURLから証明書をエクスポートし、jssecacerts として保存します次のコマンド - > keytool -import -file jssecacerts -keystore cacerts

私は真剣にいる....私は私が間違っているところを知らない

System.setProperty("javax.net.ssl.keyStore", "C:/Program Files/Java/jre6/lib/security/cacerts"); 
System.setProperty("javax.net.ssl.keyStorePassword", "changeit"); 
URL url = new URL("https://whatever.com/service"); 
SOAPConnectionFactory scf = SOAPConnectionFactory.newInstance(); 
connection = scf.createConnection(); 
response = connection.call(message, url); 

... ...私を助けてください - :

は今、私は以下のようにSAAJを使用してJavaクライアントを書きました問題が発生しました。 ありがとうございます。

+0

これの回避策を見つけることができましたか? –

答えて

1

これらのシステムプロパティを設定する必要はありません。 jreのcacertsファイルにcertsを正常にインポートした場合は、それらはうまくいくはずです。私は "C:/ Program Files/Java/jre6/bin/java.exe"から "java"を使用して実際にプログラムを実行していると仮定しています。

btw、なぜあなたはPrivilegedActionExceptionを取得していますか?それはあなたが何らかのSecurityManagerやPrivilegedActionコールの中で動作していることを意味していますか?

+1

今後の質問/回答用です。時間があり新しい質問を投稿したら、助けを求めて答えを求めてから、問題が解決されたときに解決策を提示してください。「私はbyby tnxを修正しました」だけではありません。 – AlenBer

関連する問題