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