SAAJ 버전에서의 차이점
SAAJ(SOAP with Attachments API for Java™) 인터페이스 버전 1.3은 웹 서비스 환경의 SOAP 1.2 메시지 지원을 확장합니다. SAAJ 1.2 및 SAAJ 1.3 간의 여러 차이점이 이 주제에 나와 있습니다.
일반 웹 서비스 환경에서는 일련의 Java 오브젝트를 변환하기 위해 Java 표준을 기반으로 하는 기본 코드에 의존합니다. SAAJ 인터페이스는 SOAP 메시지를 읽고, 쓰고, 송수신하기 위해 API를 제공하며 SOAP 메시지에 첨부로 전송되는 2진 컨텐츠를 지원합니다.
SAAJ 1.3은 SOAP 1.1 및 SOAP 1.2 메시지와 제휴하며 JAX-WS(Java API for XML Web Services) 프로그래밍 모델 및 JAX-RPC(Java API for XML-Based RPC) 프로그래밍 모델에서 지원합니다. SAAJ 1.2는 SOAP 1.1 메시지에 대해서만 작동합니다.
String text = soapFault.getFaultString();
getFaultString ()은 메시지가 SOAP 1.1에 기반을 두고 있는 경우 faultString 값을
리턴합니다. SOAP 1.2를 사용 중이면 getFaultString ()은 Reason
값을 리턴합니다. 또한 SAAJ 1.3 인터페이스는 특정 Reason 값을 가져오는 새 메소드인 getReasonText
(로케일)을 제공합니다. getReasonText (로케일) 메소드는
메시지가 SOAP 1.1에 기반을 두고 있는 경우 문서화된 예외를 리턴합니다. SAAJ
1.3 인터페이스는 SOAP 1.1 및 SOAP 1.2
메시지를 둘 다 처리하기 위해 기존 코드를 지원합니다. SAAJ 1.2 및 SAAJ 1.3 간의 다른 차이점은 다음 목록에 나와 있습니다.
- SAAJMetaFactory 인터페이스
단일 위치에 SOAP 팩토리 클래스 작성을 지원하기 위해 SAAJMetaFactory SPI가 도입됩니다.
- SAAJResult 클래스
SAAJResult 오브젝트는 SAAJ 트리에서 JAX-P(Java API for XML Processing) 변환 또는 JAXB(Java Architecture for XML Binding) 마샬링(marshalling) 결과에 대한 홀더의 역할을 합니다. 변환 결과가 유효한 SAAJ 트리로 예측될 때 유용성을 향상시키기 위해 SAAJResult 클래스가 도입되었습니다.
- 이름 대신에 QName을 허용하는 과부하된 메소드
QName은 XML 규정화 이름을 표시하는 것이 더 좋습니다. 따라서 과부하된 메소드는 모든 SAAJ API에서 도입되며, 여기서 해당 메소드는 인수로 javax.xml.soap.Name 이름을 허용합니다.
- AttachmentPart, SOAPBody 및 SOAPElement 인터페이스 및 클래스의
새 메소드
새 SOAP 기능으로 작업할 경우 지원하려면 이 새 메소드를 사용하십시오.
- SOAPPart는 이제 javax.xml.soap.Node 메소드입니다.
SOAPPart 오브젝트는 이제 SOAP 노드 메소드로 간주되기도 합니다.
지원되는 표준 및 스펙의 전체 목록은 웹 서비스 스펙과 API 문서를 참조하십시오.