Apache Axis ConfigurationException

时间:2020-03-05 18:54:10  来源:igfitidea点击:

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

org.apache.axis.ConfigurationException: No service named <web service name> is available

任何的想法?

解决方案

回答

这就是我的代码的样子。它似乎工作正常。
我们是使用服务定位器还是只是创建服务?

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为本地主机上的服务创建默认端点。如果使用WSDL2Java创建客户端存根,则存根的默认构造函数将指向localhost。如果服务在其他端点上,则必须使用构造函数,并将端点作为参数...
也许问题根本不是全部,而是其他答案所述,如果没有将WSDL用作WSDL2Java输入,很难说。