2008-09-15 23 views
12

Estoy usando Apache Axis para conectar mi aplicación Java a un servidor web. Solía ​​wsdl2java para crear los talones para mí, pero cuando trato de usar los talones, me sale el siguiente excepción:Apache Axis ConfigurationException

org.apache.axis.ConfigurationException: No hay servicio llamado <web service name> está disponible

alguna idea?

Respuesta

2

Solo supongo, pero parece que el mensaje de error informa que ha dejado en blanco el nombre del servicio. Me imagino que el código que genera ese mensaje de error es el siguiente:

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

Así es como se ve mi código. Parece que funciona bien. ¿Está utilizando un localizador de servicios o está simplemente creando su servicio?

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

No sé qué versión de Axis está utilizando, pero estoy usando Axis2 para el servidor y el cliente y el Java2WSDL crear un valor predeterminado punto final para el servicio en localhost. Si crea el stub del cliente con WSDL2Java, el constructor predeterminado del stub apuntará a localhost. Si el servicio está en otro punto final, debe usar el constructor con el punto final como parámetro ... Quizás el problema no sea eso en absoluto, pero como se dijo en otras respuestas, sin el WSDL que está usando como entrada WSDL2Java es difícil decirlo .

19

De acuerdo con la documentation vinculado a por @arnonym, esta excepción es algo engañoso. En el primer intento de encontrar el servicio, se lanza y captura una ConfigurationException. Se registra a nivel de DEPURACIÓN mediante la clase ConfigurationException. Luego, se realiza otro intento utilizando un método diferente para encontrar el servicio que luego puede tener éxito. La solución para esto es simplemente cambiar el nivel de registro en la clase ConfigurationException a INFO en su log4j.properties:

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