2014-02-18 6 views
0

weblogic10.3에 웹 서비스 응용 프로그램이 있습니다. 로깅을 위해 SOAP 메시지 처리기를 사용했습니다. 하지만 이제는 모든 패키지에 로그인하기 위해 비누 메시지 처리기 코드를 포함해야합니다. 이를위한 항아리를 만들고 원하는 모든 응용 프로그램에 포함시킬 수있는 방법이 있습니까? 그렇다면 알려주십시오. 감사합니다.응용 프로그램 비누 메시지 처리기

+0

당신은 모든 패키지에 포함 할 말할 때 당신은 무엇을 의미합니까? 각 패키지에서 동일한 정보를 로깅하는 데 어떤 이점이 있습니까? (패키지별로 서비스 측면에서 다른 코드 계층을 의미하는 경우)? – sakura

+0

모든 패키지에는 로그를 얻어야하는 몇 가지 웹 서비스가 있습니다. 그리고 웹 서비스에서 나는 다음과 같이 자바 파일의 이름을 부여한 @SOAPMessageHandlers annotation을 사용했다. className = "empdet.emplog" 나는 그것을 권장하지 않지만 필수 사항이다. 하지만 지금은 모든 패키지에 (로깅을 위해)이 자바 파일을 추가해야합니다. 동일한 정보를 제공하지 않습니다. – user3242906

답변

2

@SOAPMessageHandlers 더 이상 사용하지 않는 것이 좋습니다.

난 당신이 SOAPHandler<MessageContext> 인터페이스를 구현하고 방법 handleRequest() , handleResponse()와 'handleFault()를`무시할 추천 할 것입니다. messageContext는 들어오고 나가는 SOAP 메시지/오류의 세부 사항을 담고있다.

SOAP 계약에서 구현 클래스를 HandlerChain으로 추가해야합니다. 모든 서비스 패키지가 하나의 전개 가능한 war \ ear에있는 경우이 단일 SOAPHandler 구현을 포함하는 별도의 Jar를 작성할 필요가 없습니다.

자세한 내용은이 링크를 참조하십시오. 전체 샘플의 예를 들어

http://docs.oracle.com/cd/E13222_01/wls/docs103/webserv_adv_rpc/handlers.html

, 아래 링크를 도움이 될 것입니다 :

http://examples.javacodegeeks.com/enterprise-java/jws/jax-ws-soap-handler-example/

+0

나는 이미이 요구 사항에 따라이 비추천 주석을 사용해야한다고 말했고 이미 일반 핸들러를 확장 한 클래스가있다. HandlerChain 주석을 사용할 수 없습니다. – user3242906

관련 문제