Вопрос

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

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

Есть идеи?

Это было полезно?

Решение

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

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

Другие советы

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

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

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top