2008-09-15 13 views
12

Apache Axisを使用してJavaアプリケーションをWebサーバーに接続しています。私は私のためにスタブを作成するためのWSDL2Javaを使用しますが、私はスタブを使用しようとすると、私は次の例外を取得:Apache Axis ConfigurationException

org.apache.axis.ConfigurationException:<web service name>という名前のサービスが

利用できませんが

アイデア?

答えて

2

ちょっと推測しますが、サービス名を空白のままにしたというエラーメッセージが表示されているようです。

throw new ConfigurationException("No service named" + serviceName + " is available"); 
0

これは私のコードのようです。それはうまくいくようです。 サービスロケータを使用しているのか、サービスを作成していますか?

SomeServiceLocator locator = new SomeServiceLocator(); 
SomeService service = null; 
try 
{ 
    service = locator.getSomeServiceImplPort(); 
} 
catch (ServiceException e) 
{ 
    e.printStackTrace(); 
} 
0

私はあなたが使用している軸のどのバージョンかわからないが、私は、サーバーとクライアントの両方のためのAxis2を使用していますし、Java2WSDLのデフォルトを作成します。私は、そのエラー・メッセージを生成するコードは次のようになります想像しますlocalhost上のサービスのエンドポイント。 WSDL2Javaを使用してクライアント・スタブを作成すると、スタブのデフォルトのコンストラクタがlocalhostを指します。サービスが他のエンドポイントにある場合は、エンドポイントをパラメータとして使用してコンストラクタを使用する必要があります... 問題はそれほど問題ではありませんが、WSDL2Java入力として使用している。

19

ありません。最初にサービスを検出しようとすると、ConfigurationExceptionがスローされ捕捉されます。これは、ConfigurationExceptionクラスによってDEBUGレベルで記録されます。次に、別の方法を使用して別の試行が行われ、成功する可能性のあるサービスが見つかります。この問題を回避するには、Log4j.propertiesのConfigurationExceptionクラスのログレベルをINFOに変更するだけです。

log4j.logger.org.apache.axis.ConfigurationException = INFO 
関連する問題