8

いくつかのWebサービスクライアントをいくつかの古いJavaアプリケーションに更新して、axis2サードパーティのWebサービスを呼び出しています。私はwsdlファイルを提供されたので、次の(私の)投稿で説明されているように、このサービスへのクライアントを含むjarを開発しました:JAX-WSクライアント:ローカルWSDLにアクセスするための正しいパスは何ですか?

一部のアプリケーションでは機能しますがinaccessibleWSDLException、プロキシクラスのインスタンス化の瞬間にをスローする他のアプリケーションでは機能しません。以下に、jax-ws-catalogファイルを投稿しました。

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog" prefer="system">
    <system systemId="http://localhost/wsdl/SOAService.wsdl" uri="wsdl/SOAService.wsdl"/>
    <system systemId="http://schemas.xmlsoap.org/soap/encoding/" uri="wsdl/schemas.xmlsoap.org/soap/encoding.xsd"/>
    <system systemId="http://www.w3.org/2005/05/xmlmime" uri="wsdl/www.w3.org/2005/05/xmlmime.xsd"/>
</catalog>

これは常に私の開発環境(更新するプロジェクトに応じてnetbeans \ ecplise)とサーバー(テストクラスを備えたtomcat \ Jboss 4 \ jar)内で機能します。

次の場合は機能しません。

  • コマンドラインからjarを起動するか
  • jarをlivecycle8.0プロセスにロードします(jboss 4.0で実行されます)

どちらの場合も、「InaccessibleWSDLException」というエラーが発生します。特にライブサイクルでは、次のエラーが発生します。

2010-12-01 12:20:47,420 ERROR [com.adobe.workflow.AWS] stalling action-instance: 9989 with message: com.sun.xml.ws.wsdl.parser.InaccessibleWSDLException: 2 counts of InaccessibleWSDLException.

java.net.ConnectException: Connection refused
java.net.ConnectException: Connection refused

        at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.tryWithMex(RuntimeWSDLParser.java:172)
        at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.parse(RuntimeWSDLParser.java:144)
        at com.sun.xml.ws.client.WSServiceDelegate.parseWSDL(WSServiceDelegate.java:254)
        at com.sun.xml.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:217)
        at com.sun.xml.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:174)
        at com.sun.xml.ws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:104)
        at javax.xml.ws.Service.<init>(Service.java:56)
        at com.ibm.eci.soaservice.SOAService.<init>(SOAService.java:50)

この例外はどういう意味ですか?wsdlまたはその一部が見つかりませんか?ライブラリが見つかりませんか?Webにアクセスできません(wsdlには外部xsdのインポートが含まれています)?

4

2 に答える 2

8

つまり、livecycle 8.0はjax-ws-catalog.xmlを使用していないか、検出していないため、jaxwsランタイムはクライアントスタブに記載されているリテラルの場所、つまり http:// localhost/wsdlからWSDLを読み込もうとしています。 /SOAService.wsdlは、jax-ws-catalog.xmlで提供されているマッピングを確認し、アプリケーションjarのWSDLを使用する代わりに使用します。

手がかりは

java.net.ConnectException:接続が拒否されましたjava.net.ConnectException:接続が拒否されました

これは、jaxwsランタイムがhttp経由でWSDLにアクセスしようとしていることを示しています。

jax-ws-catalog.xmlはどこに置きますか?ライブサイクルの場合は、JARのMETA-INFディレクトリ以外の場所に配置する必要があります。

この質問をライブサイクルフォーラムに投稿する必要があると思います。

コマンドラインから作業しない場合、それは少し奇妙ですが、コマンドラインからどのように正確に実行しますか。

于 2011-02-10T18:29:31.300 に答える
0

証明書ファイルを探しているようです。どの証明書であったかを調べてください。その証明書をダウンロードし、サーバーを再起動してから試してください。

よろしく、Sridhar Goranti

于 2016-02-09T19:40:44.577 に答える