2008-09-15 9 views
12

Apache Axis를 사용하여 Java 응용 프로그램을 웹 서버에 연결하고 있습니다. 나는 나를 위해 스텁을 생성 할 WSDL2Java의 사용,하지만 난 스텁을 사용하려고하면, 나는 다음과 같은 예외 얻을 :Apache Axis ConfigurationException

org.apache.axis.ConfigurationException을 : <web service name>를라는 이름의 서비스를 사용할 수

없다

어떤 아이디어?

답변

2

그냥 추측 할 수 있지만 오류 메시지가 서비스 이름을 비워 뒀다 고보고하는 것처럼 보입니다. 난 당신이 사용하고 있지만 서버 및 클라이언트와 Java2WSDL 기본을 만들 모두 Axis2를 사용하고 축의 버전을 모르는

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

내 코드는 다음과 같습니다. 잘 작동하는 것 같습니다. 서비스 검색기를 사용하거나 서비스를 만드는 중입니까?

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

: 그 오류 메시지를 생성하는 코드는 다음과 같습니다 상상 localhost의 서비스 끝점입니다. WSDL2Java로 클라이언트 스텁을 만들면 스텁의 기본 생성자가 localhost를 가리 킵니다. 서비스가 다른 끝점에 있으면 매개 변수로 끝 점이있는 생성자를 사용해야합니다 ... 아마도 문제는 그다지 문제가 아니지만 WSDL2Java 입력으로 사용하는 WSDL2Java 입력을 사용하면 다른 답변에 말한 것처럼 말하기 어렵습니다 .

19

사용할 수 없습니다,이 예외가 다소 잘못된 것입니다. 서비스를 찾기위한 첫 번째 시도에서 ConfigurationException이 던져 져서 잡힌다. DEBUG 수준에서 ConfigurationException 클래스에 의해 기록됩니다. 그런 다음 성공할 수있는 서비스를 찾기 위해 다른 방법을 사용하여 다른 시도가 이루어집니다. 이에 대한 해결 방법은 log4j.properties에서 ConfigurationException 클래스의 로그 수준을 INFO로 변경하는 것입니다.

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