JAX-RPC 핸들러를 사용하지 마십시오

이 규칙은 다음에 대한 참조를 플래그 지정합니다. <handler> 요소 내의 web.xml , webservicesclient.xml , webservices.xml ejb-jar.xml 파일만. 핸들러는 각 요청 또는 응답에 적용되는 추가 처리 단위입니다. 서로 연결할 수 있습니다, 여러 핸들러가 요청을 순차적으로 처리할 수 있습니다. 클라이언트가 요청을 보내면, 요청은 공급자에게 전송되기 전에 처리된 후 배포 설명자에 지정된 순서대로 각 핸들러에 의해 공급자에게 전송됩니다. 예를 들어 예를 들어 각 클라이언트 요청을 기록하려면 각 요청 메시지를 읽고 파일에 쓰는 핸들러를 정의할 수 있습니다 를 파일에 기록하는 핸들러를 정의할 수 있습니다. 핸들러는 요청과 응답을 수정할 수도 있습니다. 새로운 클래스의 구현으로 인해 의 구현으로 인해, 핸들러 클래스에서 재정의되거나 구현된 모든 메서드가 업데이트되었습니다.

JAX-RPC와 JAX-WS 사이에 핸들러 API에 여러 가지 중요한 변경 사항이 있으며, 그 중 일부는 다음과 같습니다 입니다:
- 명명 규칙이 변경되었습니다. 시작 javax.xml.rpc.handler.Handler - javax.xml.ws.handler.soap.SoapHandler .
- 제거는 HandlerInfo 객체입니다.
- 이전에 핸들러가 구현/확장하는 데 필요했던 두 개의 클래스가 제거되었습니다. 다음과 같습니다 javax.xml.rpc.handler.Handler javax.xml.rpc.handler.GenericHandler . 이제 핸들러는 javax.xml.ws.handler.soap.SoapHandler 또는 javax.xml.ws.handler.LogicalHandler .

JAX-RPC 핸들러와 JAX-WS SOAPHandler의 구현 차이를 보여주는 예는 LoggingHandler 다음 예제입니다.
JAX-RPC 핸들러를 사용할 때 클래스 선언은 다음과 같습니다 처럼 보일 것입니다:

import javax.xml.rpc.handler.GenericHandler;
    
public 클래스 LoggingHandler extends GenericHandler {
// 로그인 핸들러를 여기에 구현하세요
   }

그리고 JAX-WS에서 소프 핸들러를 사용하여 동일한 클래스를 정의합니다:

import javax.xml.ws.handler.soap.SOAPHandler;
import javax.xml.ws.handler.soap.SOAPMessageContext;
    
public 클래스 LoggingHandler 구현 SOAPHandler<SOAPMessageContext> {
// 로그인 핸들러를 여기에 구현하세요
   }