JavaTM Platform
Standard Ed. 6

javax.xml.soap
클래스 SOAPMessage

java.lang.Object 
  상위를 확장 javax.xml.soap.SOAPMessage


public abstract class SOAPMessage
extends Object

모든 SOAP 메세지의 루트 클래스입니다. 와이어상을 전송 되기 (위해)때문에, SOAP 메세지는 XML 문서 또는 최초의 본체가 XML/SOAP 문서인 MIME 메세지입니다.  

SOAPMessage 객체는, SOAP 부 및 생략 가능한 1 개(살) 이상의 첨부부로부터 구성됩니다. SOAPMessage 객체의 SOAP 부는 SOAPPart 객체이며, 메세지의 루팅 및 식별로 사용되는 정보를 포함해, 어플리케이션 고유의 컨텐츠가 포함되는 일도 있습니다. 메세지의 SOAP 부의 모든 데이터는, XML 형식이 아니면 안됩니다.  

디폴트로, 새로운 SOAPMessage 객체는 다음의 것이 포함됩니다.

메세지의 SOAP 부는,SOAPMessage.getSOAPPart() 메소드를 호출해 취득할 수 있습니다. SOAPEnvelope 객체는 SOAPPart 객체로부터 취득되어SOAPEnvelope 객체를 사용해,SOAPBody 객체 및 SOAPHeader 객체를 가져옵니다.
     SOAPPart sp = message.getSOAPPart();
     SOAPEnvelope se = sp.getEnvelope();
     SOAPBody sb = se.getBody();
     SOAPHeader sh = se.getHeader();
 

필수의 SOAPPart 객체에 가세해SOAPMessage 객체에는 제로개이상의 AttachmentPart 객체가 포함되는 경우가 있어, 각각은 어플리케이션 고유의 데이터가 포함되어 있습니다. SOAPMessage 인터페이스는 AttachmentPart 객체를 작성하는 메소드를 제공해,SOAPMessage 객체에 추가하는 메소드도 제공합니다. SOAPMessage 객체를 받은 옆은, 개개의 첨부부를 취득해 컨텐츠를 조사할 수가 있습니다.  

SOAP 메세지의 나머지의 부분과는 달라, 첨부부는 XML 형식일 필요는 없고, 단순한 텍스트로부터 이미지 파일까지 모든 형식이 가능합니다. 따라서, XML 형식이 아닌 메세지의 컨텐츠는,AttachmentPart 객체안에 넣을 필요가 있습니다.  

MessageFactory 객체는, 특정의 구현 또는 SAAJ 의 어플리케이션으로 특별한 동작을 하는 SOAPMessage 객체를 작성할 수 있습니다. 예를 들어,MessageFactory 객체는 ebXML 등의 특정의 프로파일에 적합하는 SOAPMessage 객체를 생성할 수 있습니다. 이 경우,MessageFactory 객체는 ebXML 헤더로 초기화된 SOAPMessage 객체를 생성하는 일이 있습니다.  

하위 소스 호환을 확보하기 위해(때문에), SAAJ 의 버젼 1.1 의 후에 이 클래스에 추가되는 메소드는, 모두 추상은 아니고 구상이며, 모두 디폴트의 구현을 가집니다. 이러한 메소드의 JavaDoc 로 특히 명기되어 있지 않은 한, 디폴트의 구현은 단지 UnsupportedOperationException 를 throw 해, 특정의 동작을 제공하는 메소드에 의해 SAAJ 구현 코드가 오버라이드(override) 할 필요가 있습니다. 다만, 본래 쓰여진 스펙보다 나머지의 버젼의 스펙에 준거하고 있다고 하는 주장이 이루어지지 않는 이상 종래의 클라이언트 코드에는 이 제약은 없습니다. SOAPMessage 클래스를 확장하는 종래의 클래스는, 변경하는 일 없이 후속의 버젼에 대해서 컴파일 또는 실행, 혹은 그 양쪽 모두를 실시할 수가 있습니다. 그러한 클래스가 정상적으로 구현되었을 경우, 쓰여진 스펙의 버젼에 대해서 계속 정상적으로 동작합니다.

관련 항목:
MessageFactory , AttachmentPart

필드의 개요
static String CHARACTER_SET_ENCODING
          SOAP 메세지의 문자 타입 인코딩을 지정합니다.
static String WRITE_XML_DECLARATION
          송신시, SOAP 메세지에 XML 선언을 포함할지 어떨지를 지정합니다.
 
생성자 의 개요
SOAPMessage ()
           
 
메소드의 개요
abstract  void addAttachmentPart (AttachmentPart  AttachmentPart)
          지정한 AttachmentPart 객체를 이 SOAPMessage 객체에 추가합니다.
abstract  int countAttachments ()
          이 메세지의 첨부의 수를 가져옵니다.
abstract  AttachmentPart createAttachmentPart ()
          새로운 빈 상태(empty)의 AttachmentPart 객체를 작성합니다.
 AttachmentPart createAttachmentPart (DataHandler  dataHandler)
          AttachmentPart 객체를 작성해, 지정한 DataHandler 객체를 사용해 생성합니다.
 AttachmentPart createAttachmentPart (Object  content, String  contentType)
          AttachmentPart 객체를 작성해, 지정한 컨텐츠 타입의 지정한 데이터를 사용해 생성합니다.
abstract  AttachmentPart getAttachment (SOAPElement  element)
          이 SOAPElement 가 참조하는 첨부와 관련지을 수 있었던 AttachmentPart 객체, 또는 그러한 첨부가 존재하지 않는 경우는 null 를 돌려줍니다.
abstract  Iterator getAttachments ()
          이 SOAPMessage 객체의 일부인 AttachmentPart 객체를 모두 가져옵니다.
abstract  Iterator getAttachments (MimeHeaders  headers)
          지정한 헤더와 일치하는 헤더 엔트리가 있는 AttachmentPart 객체를 모두 가져옵니다.
abstract  String getContentDescription ()
          SOAPMessage 객체의 컨텐츠의 설명을 가져옵니다.
abstract  MimeHeaders getMimeHeaders ()
          이 SOAPMessage 객체의 트랜스폴트 고유의 MIME 헤더 모든 것을, 트랜스폴트에 의존하지 않는 형식에서 돌려줍니다.
 Object getProperty (String  property)
          지정된 프로퍼티의 값을 가져옵니다.
 SOAPBody getSOAPBody ()
          이 SOAPMessage 객체에 포함되는 SOAP Body 를 가져옵니다.
 SOAPHeader getSOAPHeader ()
          이 SOAPMessage 객체에 포함되는 SOAP Header 를 가져옵니다.
abstract  SOAPPart getSOAPPart ()
          이 SOAPMessage 객체의 SOAP 부를 가져옵니다.
abstract  void removeAllAttachments ()
          이 SOAPMessage 객체에 추가된 AttachmentPart 객체를 모두 삭제합니다.
abstract  void removeAttachments (MimeHeaders  headers)
          지정한 헤더와 일치하는 헤더 엔트리가 있는 AttachmentPart 객체를 모두 삭제합니다.
abstract  void saveChanges ()
          SOAPMessage 객체에 더해진 변경을 모두 갱신합니다.
abstract  boolean saveRequired ()
          이 SOAPMessage 객체에 대해서,saveChanges 메소드를 호출할 필요가 있을지 어떨지를 나타냅니다.
abstract  void setContentDescription (String  description)
          지정한 설명으로 SOAPMessage 객체의 컨텐츠의 설명을 설정합니다.
 void setProperty (String  property, Object  value)
          지정한 값을 지정한 프로퍼티과 관련짓습니다.
abstract  void writeTo (OutputStream  out)
          이 SOAPMessage 객체를 지정한 출력 스트림에 기입합니다.
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

필드의 상세

CHARACTER_SET_ENCODING

public static final String  CHARACTER_SET_ENCODING
SOAP 메세지의 문자 타입 인코딩을 지정합니다. 유효한 값에는,"utf-8" 및 "utf-16" 가 포함됩니다. 한층 더 지원되는 값에 대해서는, 벤더로부터의 메뉴얼을 참조해 주세요. 디폴트는 "utf-8" 입니다.

도입된 버젼:
SAAJ 1.2
관련 항목:
SOAPMessage.setProperty , 정수 필드치

WRITE_XML_DECLARATION

public static final String  WRITE_XML_DECLARATION
송신시, SOAP 메세지에 XML 선언을 포함할지 어떨지를 지정합니다. 유효한 값은,"true" 와 "false" 뿐입니다. 디폴트는 "false" 입니다.

도입된 버젼:
SAAJ 1.2
관련 항목:
SOAPMessage.setProperty , 정수 필드치
생성자 의 상세

SOAPMessage

public SOAPMessage()
메소드의 상세

setContentDescription

public abstract void setContentDescription(String  description)
지정한 설명으로 SOAPMessage 객체의 컨텐츠의 설명을 설정합니다.

파라미터:
description - 메세지의 내용을 나타낸다 String
관련 항목:
getContentDescription()

getContentDescription

public abstract String  getContentDescription()
SOAPMessage 객체의 컨텐츠의 설명을 가져옵니다.

반환값:
메세지의 내용을 나타내는 String 또는 설명이 설정되어 있지 않은 경우는 null
관련 항목:
setContentDescription(java.lang.String)

getSOAPPart

public abstract SOAPPart  getSOAPPart()
SOAPMessage 객체의 SOAP 부를 가져옵니다.  

SOAPMessage 객체는 1 개 이상의 첨부를 포함하고 있어 SOAP Part 는 메세지로 최초의 MIME 본체일 필요가 있습니다.

반환값:
SOAPMessage 객체의 SOAPPart 객체

getSOAPBody

public SOAPBody  getSOAPBody()
                     throws SOAPException 
SOAPMessage 객체에 포함되는 SOAP Body 를 가져옵니다.  

반환값:
SOAPMessage 객체의 SOAPBody 객체
예외:
SOAPException - SOAP Body 가 존재하지 않는지, 취득할 수 없는 경우
도입된 버젼:
SAAJ 1.2

getSOAPHeader

public SOAPHeader  getSOAPHeader()
                         throws SOAPException 
SOAPMessage 객체에 포함되는 SOAP Header 를 가져옵니다.  

반환값:
SOAPMessage 객체의 SOAPHeader 객체
예외:
SOAPException - SOAP Header 가 존재하지 않는지, 취득할 수 없는 경우
도입된 버젼:
SAAJ 1.2

removeAllAttachments

public abstract void removeAllAttachments()
SOAPMessage 객체에 추가된 AttachmentPart 객체를 모두 삭제합니다.  

이 메소드는, SOAP 부에는 영향을 주지 않습니다.


countAttachments

public abstract int countAttachments()
이 메세지의 첨부의 수를 가져옵니다. 이 카운트에는, SOAP 부는 포함되지 않습니다.

반환값:
SOAPMessage 객체의 일부이다 AttachmentPart 객체의 수

getAttachments

public abstract Iterator  getAttachments()
SOAPMessage 객체의 일부인 AttachmentPart 객체를 모두 가져옵니다.

반환값:
이 메세지의 첨부 모두에 대한 반복자

getAttachments

public abstract Iterator  getAttachments(MimeHeaders  headers)
지정한 헤더와 일치하는 헤더 엔트리가 있는 AttachmentPart 객체를 모두 가져옵니다. 반환되는 첨부에는, 지정한 것 이외의 헤더도 포함됩니다.

파라미터:
headers - 검색하는 MIME 헤더를 포함한 MimeHeaders 객체
반환값:
지정한 헤더의 1 개에 일치하는 헤더를 포함한다 첨부 모두에 대한 반복자

removeAttachments

public abstract void removeAttachments(MimeHeaders  headers)
지정한 헤더와 일치하는 헤더 엔트리가 있는 AttachmentPart 객체를 모두 삭제합니다. 삭제되는 첨부에는, 지정한 것 이외의 헤더도 포함됩니다.

파라미터:
headers - 검색하는 MIME 헤더를 포함한 MimeHeaders 객체
도입된 버젼:
SAAJ 1.3

getAttachment

public abstract AttachmentPart  getAttachment(SOAPElement  element)
                                      throws SOAPException 
SOAPElement 가 참조하는 첨부와 관련지을 수 있었던 AttachmentPart 객체, 또는 그러한 첨부가 존재하지 않는 경우는 null 를 돌려줍니다. 참조는,SOAP Messages with Attachments 로 설명되고 있는 href 속성 또는 schema형 ref:swaRef(ref:swaRef )의 요소용으로 「WS-I Attachments Profile 1.0」으로 설명되고 있는 URI 를 포함한, 단일의 Text 자 노드를 개입시켜 실시할 수 있습니다. 이것들 2 개의 기구를 지원할 필요가 있습니다. href 속성을 사용한 참조의 지원란,xop:Include 요소 ( XOP )인 요소에 대해서, 이 메소드가 지원될 필요가 있다고 하는 의미이기도 합니다. 그 외의 참조 기구는, 이 표준의 개개의 구현에 의해 지원됩니다. 자세한 것은, 벤더에 연락해 주십시오.

파라미터:
element - Attachment 에의 참조를 포함한 SOAPElement
반환값:
참조된 AttachmentPart 또는 그러한 AttachmentPart 가 존재하지 않는 또는 이 SOAPElement 내에 참조가 발견되지 않는 경우는 null
예외:
SOAPException - 첨부에 액세스 하려고 했을 때에 에러가 발생했다 경우
도입된 버젼:
SAAJ 1.3

addAttachmentPart

public abstract void addAttachmentPart(AttachmentPart  AttachmentPart)
지정한 AttachmentPart 객체를 이 SOAPMessage 객체에 추가합니다. AttachmentPart 객체는, 메세지에 추가하기 전에 작성할 필요가 있습니다.

파라미터:
AttachmentPart - 이 SOAPMessage 객체의 부분이 된다 AttachmentPart 객체
예외:
IllegalArgumentException

createAttachmentPart

public abstract AttachmentPart  createAttachmentPart()
새로운 빈 상태(empty)의 AttachmentPart 객체를 작성합니다. addAttachmentPart 메소드는, 새로운 AttachmentPartSOAPMessage 객체의 첨부로 하기 위해서(때문에), 새로운 AttachmentPart 와 함께 파라미터로서 불려 갈 필요가 있습니다.

반환값:
데이터가 받아들여져 이 SOAPMessage 객체에 추가된다 새로운 AttachmentPart 객체

createAttachmentPart

public AttachmentPart  createAttachmentPart(DataHandler  dataHandler)
AttachmentPart 객체를 작성해, 지정한 DataHandler 객체를 사용해 생성합니다.

파라미터:
dataHandler - 이 SOAPMessage 객체의 컨텐츠를 생성한다 javax.activation.DataHandler 객체
반환값:
지정한 DataHandler 객체에 의해 생성되는 데이터를 포함한다 새로운 AttachmentPart 객체
예외:
IllegalArgumentException - 지정한 DataHandler 객체의 지정시에 문제가 있었다 경우
관련 항목:
DataHandler , DataContentHandler

getMimeHeaders

public abstract MimeHeaders  getMimeHeaders()
SOAPMessage 객체의 트랜스폴트 고유의 MIME 헤더 모든 것을, 트랜스폴트에 의존하지 않는 형식에서 돌려줍니다.

반환값:
MimeHeader 객체를 포함한 MimeHeaders 객체

createAttachmentPart

public AttachmentPart  createAttachmentPart(Object  content,
                                           String  contentType)
AttachmentPart 객체를 작성해, 지정한 컨텐츠 타입의 지정한 데이터를 사용해 생성합니다. Object 의 형태는,Content-Type 로 지정한 값에 대응할 필요가 있습니다.

파라미터:
content - 작성되는 AttachmentPart 객체의 컨텐츠를 포함한 Object
contentType - 컨텐츠의 형태를 나타내는 String 객체. 예를 들어,"text/xml","text/plain", 및 "image/jpeg"
반환값:
지정한 데이터를 포함한 AttachmentPart 객체
예외:
IllegalArgumentException - contentType 가 컨텐츠 객체의 형태와 일치하지 않는 경우, 또는 지정한 컨텐츠 객체를 가리키는 DataContentHandler 객체가 없는 경우에 throw 되는
관련 항목:
DataHandler , DataContentHandler

saveChanges

public abstract void saveChanges()
                          throws SOAPException 
SOAPMessage 객체에 더해진 변경을 모두 갱신합니다. 이 메소드는,writeTo(OutputStream) 가 불려 가면(자) 자동적으로 불려 갑니다. 다만, 수신한 메세지 또는 벌써 송신된 메세지에 대해서 변경이 더해졌을 경우는,saveChanges 메소드를 명시적으로 호출해 변경을 보존할 필요가 있습니다. 메소드 saveChanges 는, 리드 백되는 모든 변경 (예를 들어, 메세지 ID 를 지원하는 프로파일내의 MessageId)도 생성합니다. 송신 목적으로 작성되는 메세지내의 모든 MIME 헤더는,saveChanges 가 불려 간 후에 마셔 유효한 값을 가지는 것이 보증됩니다.  

게다가 이 메소드는, 구성하는 모든 AttachmentPart 객체로부터의 데이터가 메세지에 넣어진 포인트에 마크를 설정합니다.  

예외:
SOAPException - 이 메세지에의 변경을 보존시에 문제가 있었을 경우
SOAPException

saveRequired

public abstract boolean saveRequired()
SOAPMessage 객체에 대해서,saveChanges 메소드를 호출할 필요가 있을지 어떨지를 나타냅니다.

반환값:
saveChanges 를 호출할 필요경우는 true, 그렇지 않은 경우는 false

writeTo

public abstract void writeTo(OutputStream  out)
                      throws SOAPException ,
                             IOException 
SOAPMessage 객체를 지정한 출력 스트림에 기입합니다. 외부화 형식은, SOAP 1.1 with Attachments 스펙으로 정의되고 있는 것 것과 같습니다.  

첨부가 없는 경우는, XML 스트림만이 써내집니다. 첨부가 있는 메세지에서는,writeTo 가 MIME 로 encode 된 바이트 스트림을 기입합니다.  

이 메소드는, 메세지의 트랜스폴트 고유의 MIME 헤더는 기입하지 않습니다.

파라미터:
out - SOAPMessage 객체가 기입해지는 대상의 OutputStream 객체
예외:
IOException - 입출력 에러가 발생했을 경우
SOAPException - 이 SOAP 메세지의 외부화로 문제가 있었을 경우

setProperty

public void setProperty(String  property,
                        Object  value)
                 throws SOAPException 
지정한 값을 지정한 프로퍼티과 관련짓습니다. 이 프로퍼티과 관련지을 수 있었던 값이 벌써 존재하는 경우는, 낡은 값이 치환됩니다.  

유효한 프로퍼티명에는,WRITE_XML_DECLARATIONCHARACTER_SET_ENCODING 가 포함됩니다. 표준 SAAJ 프로퍼티에는 모두, 선두에 「javax.xml.soap」를 붙일 수 있습니다. 벤더는 구현에 고유의 프로퍼티을 추가할 수 있습니다. 이러한 프로퍼티은, 벤더 고유의 패키지명을 선두에 붙일 필요가 있습니다.  

프로퍼티 WRITE_XML_DECLARATION"true" 로 설정하면(자), SOAP 메세지의 최초로 XML 선언이 써내집니다. 디폴트 값의 「false」는, 이 선언을 억제합니다.  

프로퍼티 CHARACTER_SET_ENCODING 의 디폴트 값는 "utf-8" 로, SOAP 메세지는 UTF-8 를 사용해 encode 됩니다. CHARACTER_SET_ENCODING"utf-16" 로 설정하면(자), SOAP 메세지는 UTF-16 를 사용해 encode 됩니다.  

어느 구현에서는, UTF-8 및 UTF-16 에 가세해 다른 인코딩도 가능합니다. 자세한 것은 벤더의 메뉴얼을 참조해 주세요.

파라미터:
property - 지정되는 값을 관련지을 수 있다 프로퍼티
value - 지정되는 프로퍼티에 관련지을 수 있는 값
예외:
SOAPException - 프로퍼티명이 인식되지 않는 경우
도입된 버젼:
SAAJ 1.2

getProperty

public Object  getProperty(String  property)
                   throws SOAPException 
지정된 프로퍼티의 값을 가져옵니다.

파라미터:
property - 취득하는 프로퍼티의 이름
반환값:
이름 첨부의 프로퍼티에 관련지을 수 있었던 값, 또는 그러한 프로퍼티이 없는 경우는 null
예외:
SOAPException - 프로퍼티명이 인식되지 않는 경우
도입된 버젼:
SAAJ 1.2

JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.