IT한 것/webservice

AXIS에서 클라이언트용 JAXRPC 핸들러 만들때 유의 점.

lovian 2006. 11. 7. 16:51
기존에 웹로직에서 잘~ 작동하던 핸들러가 AXIS에서는 작동하지 않았다. 클라이언트건 서버건 어떠한 핸들러도 돌아가지 않았다.

신나는 구글링 끝에 개인 블로그에서
특정 메서드를 호출하면 AXIS가 핸들러를 호출하지 않는다는 내용의 글을 발견했다.

그래서 변경한 것이.
ServiceFactory.createService() 메서드를 호출하던 것을 ServiceFactory.createService( URL, QName )으로,
Service.createCall() 을 호출 하는 것을 Service.cretaeCall( QName )로 변경했고.
Call.setPortTypeName( QName), Call.setTargetEndPointAddress( String ) 메서드를 주석처리 했다.

이렇게 하니까 핸들러가 호출이 되는 것을 확인 하였다.

그러나, 이 글을 쓰면서 주석좀 살려봤는데, 역시 작동하였다.
아무래도 메서드 호출이 문제라기 보다는 createService() 또는 createCall() 메서드의 문제가 아닌가 한다.
그래도 클라이언트에서의 호출 문제는 해결 했다.
출처는 이곳.