Apache Axisを使用してJavaアプリケーションをWebサーバーに接続しています。私は私のためにスタブを作成するためのWSDL2Javaを使用しますが、私はスタブを使用しようとすると、私は次の例外を取得:Apache Axis ConfigurationException
利用できませんがorg.apache.axis.ConfigurationException:
<web service name>
という名前のサービスが
アイデア?
Apache Axisを使用してJavaアプリケーションをWebサーバーに接続しています。私は私のためにスタブを作成するためのWSDL2Javaを使用しますが、私はスタブを使用しようとすると、私は次の例外を取得:Apache Axis ConfigurationException
利用できませんがorg.apache.axis.ConfigurationException:
<web service name>
という名前のサービスが
アイデア?
ちょっと推測しますが、サービス名を空白のままにしたというエラーメッセージが表示されているようです。
throw new ConfigurationException("No service named" + serviceName + " is available");
これは私のコードのようです。それはうまくいくようです。 サービスロケータを使用しているのか、サービスを作成していますか?
SomeServiceLocator locator = new SomeServiceLocator();
SomeService service = null;
try
{
service = locator.getSomeServiceImplPort();
}
catch (ServiceException e)
{
e.printStackTrace();
}
私はあなたが使用している軸のどのバージョンかわからないが、私は、サーバーとクライアントの両方のためのAxis2を使用していますし、Java2WSDLのデフォルトを作成します。私は、そのエラー・メッセージを生成するコードは次のようになります想像しますlocalhost上のサービスのエンドポイント。 WSDL2Javaを使用してクライアント・スタブを作成すると、スタブのデフォルトのコンストラクタがlocalhostを指します。サービスが他のエンドポイントにある場合は、エンドポイントをパラメータとして使用してコンストラクタを使用する必要があります... 問題はそれほど問題ではありませんが、WSDL2Java入力として使用している。
Axisの制御フローで使用される例外です。
http://wiki.apache.org/ws/FrontPage/Axis/DealingWithCommonExceptions - > org.apache.axis.ConfigurationException:XXXという名前のサービスが@arnonymによってリンクdocumentationによると、この例外はやや誤解を招く
ありません。最初にサービスを検出しようとすると、ConfigurationExceptionがスローされ捕捉されます。これは、ConfigurationExceptionクラスによってDEBUGレベルで記録されます。次に、別の方法を使用して別の試行が行われ、成功する可能性のあるサービスが見つかります。この問題を回避するには、Log4j.propertiesのConfigurationExceptionクラスのログレベルをINFOに変更するだけです。
log4j.logger.org.apache.axis.ConfigurationException = INFO