いくつかの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のインポートが含まれています)?