2016-05-30 4 views
0

私はWSDLファイルを与えられ、それを介してJAVAクライアントを作成するように頼んだので、空の動的Webプロジェクトを作成し、そのプロジェクトにWSDLをインポートし、右クリックしてEclipse 4.5.2を実行します。WSDLクライアント用のCAをインポートする方法は?

  1. のWebサービス - >クライアント
  2. セット構成生成:Tomcatの7.0、Apache Axisの
  3. "完了" をクリックし、例外をポップアップ:PKIXの建物のパスが

を失敗したので、私はそのWSDL内で見て、それをテストサービスに接続する必要のあるリンクが含まれています:

<soap:address location="https://example.com/testwebservice.svc" /> 

私はStackoverflowを見渡して、そのHTTPSサービスサイトからCAをインポートする必要があるようです。しかし、コードが生成されていない間にCAを "インポート"する方法はわかりません。

この問題を解決する方法を教えてください。私は私の開発に移ります。ありがとう!

=====================

更新

私は私のcacertsにそのCAをインポートした後に、この問題はまだ残っていますか?これは、このWSDLがブラウザ経由で接続するすべてのCAをエクスポートして以来、変わっています(keytoolは、このCAが最初のインポート後にすでに存在していることを私に伝え続けます)。

IWAB0399E Error in generating Java from WSDL: javax.wsdl.WSDLException: WSDLException (at /wsdl:definitions/wsdl:types/xsd:schema): faultCode=OTHER_ERROR: An error occurred trying to resolve schema referenced at 'https://example.com/CPP/download/xsd0.xsd', relative to 'file:/D:/project/java_client/java_client.wsdl'.: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target 
javax.wsdl.WSDLException: WSDLException (at /wsdl:definitions/wsdl:types/xsd:schema): faultCode=OTHER_ERROR: An error occurred trying to resolve schema referenced at 'https://example.com/CPP/download/xsd0.xsd', relative to 'file:/D:/project/java_client/java_client.wsdl'.: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target 
at com.ibm 

答えて

0

このサービスを使用するにはいくつかの手順があります。

  1. 公開サービスの取得/抽出証明書。これは、そのサービスの開発者に証明書を提供するよう依頼するか、ブラウザを使用してサービスにアクセスし、可能であれば証明書を抽出できます。

  2. javaのデフォルトのトラストストアを特定します。 Java/JREには、Javaインストールにあるグローバルトラストストアが付属しています。 cacertsファイルを探します。このファイルは/ jre/lib/securityにあります。

  3. 信頼ストアに証明書をインポートします。 keytoolコマンドを使用してcacertsファイル内のWebサービスの証明書をインポートします。

    のkeytool -import -v -trustcacerts -aliasサーバー別名-file server.cer -keystore cacertsを-keypass changeitと-storepass changeitと

これが信頼するよう、これはアプローチを推奨されませんのでご注意ください現在のサーバー/ワークステーション上の証明書だけです。このファイルは、次のJavaアップグレードで上書きされる可能性があります。また、このアプリケーションを配備するすべての場所でこの手順を実行する必要があります。

あなたはサービスプロキシ(エクリプス/ Apacheの軸のプロジェクト生成)

+0

を作成するために、上記のステップを実行する必要がありますが、私はのcacertsにCAをインポートしますが、この例外は、まだポップアップします。例外コンテンツが私の投稿で更新されました。 – user6309529

+0

ブラウザを使用してWSDLファイルをローカルに保存し、eclipseでインポートしようとすることができます。 –

+0

これらのXSDをローカルにダウンロードし、tomcat設定をworkspace/serverにコピーすると、最終的に動作します!これは私が期待していたような良い解決策ではありませんが、それ以上の選択肢もありません。 – user6309529

関連する問題