Apache Axis ConfigurationException - PullRequest
       23

Apache Axis ConfigurationException

14 голосов
/ 15 сентября 2008

Я использую Apache Axis для подключения моего приложения Java к веб-серверу. Я использовал wsdl2java для создания заглушек для меня, но когда я пытаюсь использовать заглушки, я получаю следующее исключение:

org.apache.axis.ConfigurationException: Служба с именем <web service name> недоступна

есть идеи?

Ответы [ 5 ]

20 голосов
/ 01 августа 2013

Согласно документации , на которую ссылается @arnonym, это исключение несколько вводит в заблуждение. При первой попытке найти службу выдается и перехватывается исключение ConfigurationException. Это регистрируется на уровне DEBUG классом ConfigurationException. Затем делается другая попытка с использованием другого метода для поиска службы, которая затем может быть успешной. Обойти это можно, просто изменив уровень журнала в классе ConfigurationException на INFO в вашем log4j.properties:

.
log4j.logger.org.apache.axis.ConfigurationException = INFO
2 голосов
/ 07 октября 2008

Просто предположение, но похоже, что это сообщение об ошибке сообщает, что вы оставили имя службы пустым. Я представляю код, который генерирует это сообщение об ошибке, выглядит так:

throw new ConfigurationException("No service named" + serviceName + " is available");
1 голос
/ 27 июня 2011

Это исключение, используемое потоком управления Axis.

http://wiki.apache.org/ws/FrontPage/Axis/DealingWithCommonExceptions -> org.apache.axis.ConfigurationException: Служба с именем XXX недоступна

0 голосов
/ 14 октября 2008

Я не знаю, какую версию Axis вы используете, но я использую Axis2 как для сервера, так и для клиента, и Java2WSDL создает конечную точку по умолчанию для службы на локальном хосте. Если вы создадите заглушку клиента с помощью WSDL2Java, конструктор заглушки по умолчанию будет указывать на localhost. Если служба находится на другой конечной точке, вы должны использовать конструктор с конечной точкой в ​​качестве параметра ... Возможно, проблема вовсе не в этом, а в том, что сказано в других ответах, без WSDL, который вы используете как вход WSDL2Java, трудно сказать.

0 голосов
/ 15 сентября 2008

Вот так выглядит мой код. Вроде нормально работает. Вы используете сервисный локатор или просто создаете свой сервис?

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