Apache Axis ConfigurationException
Pergunta
Eu estou usando o Apache Axis para se conectar a minha aplicativo Java para um servidor web.Eu usei wsdl2java para criar stubs para mim, mas quando eu tento usar o stubs, eu recebo a seguinte exceção:
org.apache.eixo.ConfigurationException:Nenhum serviço chamado
<web service name>
está disponível
alguma idéia?
Solução
Apenas um palpite, mas parece que a mensagem de erro é de relatórios que você deixou o serviço de nome em branco.Eu imagino o código que gera a mensagem de erro parecido com este:
throw new ConfigurationException("No service named" + serviceName + " is available");
Outras dicas
De acordo com o documentação ligados por @arnonym, essa exceção é um pouco enganador.Na primeira tentativa para encontrar o serviço de um ConfigurationException é lançada e pegou.Ela está registrada no nível de DEPURAÇÃO pelo ConfigurationException classe.Em seguida, outra tentativa é feita usando um método diferente para encontrar o serviço, que podem ter sucesso.A solução para isso é só alterar o nível de log no ConfigurationException classe para INFO em seu log4j.propriedades:
log4j.logger.org.apache.axis.ConfigurationException = INFO
Ele é uma exceção usado por Eixo de controle de fluxo.
http://wiki.apache.org/ws/FrontPage/Axis/DealingWithCommonExceptions --> org.apache.eixo.ConfigurationException:Não existe um serviço chamado XXX está disponível
Este é o meu código de aparência.Ele parece funcionar bem.Você está usando um localizador de serviço ou apenas criando seu serviço?
SomeServiceLocator locator = new SomeServiceLocator();
SomeService service = null;
try
{
service = locator.getSomeServiceImplPort();
}
catch (ServiceException e)
{
e.printStackTrace();
}
Eu não sei qual é a versão do Eixo que você está usando, mas eu estou usando Axis2 servidor e do cliente e o Java2WSDL criar uma predefinição de ponto de extremidade para o serviço em localhost.Se você criar o stub de cliente com WSDL2Java, o construtor padrão de stub será, em seguida, aponte para localhost.Se o serviço é em outro ponto de extremidade, você deve usar o construtor com o ponto de extremidade como parâmetro de...Talvez o problema não é que em tudo, mas como disse em outras respostas, sem o WSDL que você está usando como WSDL2Java de entrada, é difícil dizer.