41.2.2. 데이터 유형
41.2.2.1. 개요
낮은 수준의 오브젝트이므로 공급자 구현에서는 상위 수준 소비자 API와 동일한 JAXB 생성 유형을 사용할 수 없습니다. 공급자 구현은 다음 유형의 오브젝트에서 작동합니다.
41.2.2.2. 소스 오브젝트 사용
공급자 구현은 javax.xml.transform.Source 인터페이스에서 파생된 개체를 수락 및 반환할 수 있습니다. 소스 개체는 XML 문서를 보유하는 낮은 수준의 개체입니다.Source objects are low level objects that hold XML documents. 각 소스 구현은 저장된 XML 문서에 액세스하고 해당 콘텐츠를 조작하는 메서드를 제공합니다. 다음 오브젝트는 소스 인터페이스를 구현합니다.
DOMSource
-
XML 메시지를 Document Object Model(DOM) 트리로 보관합니다. XML 메시지는
getNode()
메서드를 사용하여 액세스하는Node
오브젝트 세트로 저장됩니다. 노드는setNode()
메서드를 사용하여 DOM 트리에 업데이트되거나 추가될 수 있습니다. saXSource
-
XML 메시지를SAX(Simple API for XML) 개체로 보유하고 있습니다. SAX 오브젝트에는 원시 데이터와 원시 데이터를 구문 분석하는
XMLReader
개체를 보유하는InputSource
개체가 포함되어 있습니다. StreamSource
- XML 메시지를 데이터 스트림으로 보관합니다. 데이터 스트림은 다른 데이터 스트림과 동일하게 조작될 수 있습니다.
일반 소스 개체를 사용하도록 Provider 개체를 생성하는 경우 Apache CXF는 메시지를 SAXSource
개체로 반환합니다.
이 동작은 끝점의 source-preferred-format
속성을 사용하여 변경할 수 있습니다. Apache CXF 런타임 구성에 대한 자세한 내용은 IV 부. 웹 서비스 엔드 포인트 구성 을 참조하십시오.
Source 개체를 사용할 때 개발자는 필요한 모든 바인딩 특정 래퍼가 메시지에 추가되도록 담당합니다. 예를 들어 SOAP 메시지가 필요한 서비스와 상호 작용할 때 개발자는 필요한 SOAP 봉투가 발신 요청에 추가되고 SOAP 봉투의 콘텐츠가 올바른지 확인해야 합니다.
41.2.2.3. SOAPMessage 오브젝트 사용
공급자 구현에서는 다음 조건이 true인 경우 javax.xml.soap.SOAPMessage
오브젝트를 사용할 수 있습니다.
- 공급자 구현에서는 SOAP 바인딩을 사용하고 있습니다.
- 공급자 구현에서는 메시지 모드를 사용합니다.
SOAPMessage
오브젝트에는 SOAP 메시지가 있습니다. 하나의 SOAPPart
오브젝트와 1개 이상의 AttachmentPart
오브젝트가 포함됩니다. SOAPPart
오브젝트에는 SOAP 봉투, 모든 SOAP 헤더 및 SOAP 메시지 본문을 포함한 SOAP 메시지의 SOAP 특정 부분이 포함되어 있습니다. AttachmentPart
오브젝트에는 첨부 파일로 전달되는 바이너리 데이터가 포함되어 있습니다.
41.2.2.4. DataSource 개체 사용
공급자 구현에서는 다음 조건이 true인 경우 javax.activation.DataSource 인터페이스를 구현하는 개체를 사용할 수 있습니다.
- 구현에서는 HTTP 바인딩 사용
- 구현은 메시지 모드를 사용합니다.
데이터 소스 오브젝트는 URL, 파일, 바이트 배열을 포함하여 다양한 소스의 MIME 형식 데이터를 사용하기 위한 메커니즘을 제공합니다.