Java Apache Axis配置异常

Java Apache Axis配置异常,java,apache,axis,Java,Apache,Axis,我正在使用ApacheAxis将Java应用程序连接到web服务器。我使用wsdl2java为我创建存根,但是当我尝试使用存根时,我得到以下异常: org.apache.axis.ConfigurationException:没有名为的服务可用 有什么想法吗?这就是我的代码。它似乎工作得很好。 您是在使用服务定位器还是只是在创建服务 SomeServiceLocator locator = new SomeServiceLocator(); SomeService service = null;

我正在使用ApacheAxis将Java应用程序连接到web服务器。我使用wsdl2java为我创建存根,但是当我尝试使用存根时,我得到以下异常:

org.apache.axis.ConfigurationException:没有名为
的服务可用


有什么想法吗?

这就是我的代码。它似乎工作得很好。 您是在使用服务定位器还是只是在创建服务

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

只是一个猜测,但似乎错误消息报告您将服务名称留空。我想象生成该错误消息的代码如下所示:

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

我不知道您使用的是Axis的哪个版本,但我将Axis2用于服务器和客户机,Java2WSDL将为localhost上的服务创建默认端点。如果使用WSDL2Java创建客户机存根,则存根的默认构造函数将指向localhost。如果服务位于另一个端点上,则必须使用该端点作为参数的构造函数。。。
也许问题根本不在于此,但正如在其他答案中所说的,如果没有用作WSDL2Java输入的WSDL,很难说清楚。

这是Axis的控制流使用的一个例外

-->org.apache.axis.ConfigurationException:没有名为XXX的服务可用

根据@arnnym链接到的链接,此异常有点误导。在第一次尝试查找服务时,会抛出并捕获ConfigurationException。它由ConfigurationException类在调试级别记录。然后,使用不同的方法进行另一次尝试,以找到可能随后成功的服务。解决方法是将ConfigurationException类上的日志级别更改为log4j中的信息。属性:

log4j.logger.org.apache.axis.ConfigurationException = INFO