|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectjavax.xml.soap.SOAPMessage
public abstract class SOAPMessage
すべての SOAP メッセージのルートクラスです。ワイヤー上を転送されるため、SOAP メッセージは XML 文書または最初の本体が XML/SOAP 文書である MIME メッセージです。
SOAPMessage オブジェクトは、SOAP 部および省略可能な 1 つ以上の添付部から構成されます。SOAPMessage オブジェクトの SOAP 部は SOAPPart オブジェクトであり、メッセージのルーティングおよび識別に使用される情報を含み、アプリケーション固有のコンテンツが含まれることもあります。メッセージの SOAP 部のすべてのデータは、XML 形式でなければなりません。
デフォルトで、新しい SOAPMessage オブジェクトは次のものが含まれます。
SOAPPart オブジェクト
SOAPEnvelope オブジェクト
SOAPBody オブジェクト
SOAPHeader オブジェクト
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 をスローし、特定の動作を提供するメソッドによって SAAJ 実装コードがオーバーライドする必要があります。ただし、本来書かれた仕様よりもあとのバージョンの仕様に準拠しているという主張がなされない限り、従来のクライアントコードにはこの制約はありません。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()
新しい空の 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 |
| フィールドの詳細 |
|---|
public static final String CHARACTER_SET_ENCODING
SOAPMessage.setProperty,
定数フィールド値public static final String WRITE_XML_DECLARATION
SOAPMessage.setProperty,
定数フィールド値| コンストラクタの詳細 |
|---|
public SOAPMessage()
| メソッドの詳細 |
|---|
public abstract void setContentDescription(String description)
SOAPMessage オブジェクトのコンテンツの説明を設定します。
description - メッセージの内容を表す
StringgetContentDescription()public abstract String getContentDescription()
SOAPMessage オブジェクトのコンテンツの説明を取得します。
String
または説明が設定されていない場合は nullsetContentDescription(java.lang.String)public abstract SOAPPart getSOAPPart()
SOAPMessage オブジェクトの SOAP 部を取得します。
SOAPMessage オブジェクトは 1 つ以上の添付を含んでおり、SOAP Part はメッセージで最初の MIME 本体である必要があります。
SOAPMessage オブジェクトの SOAPPart
オブジェクト
public SOAPBody getSOAPBody()
throws SOAPException
SOAPMessage オブジェクトに含まれる SOAP Body を取得します。
SOAPMessage オブジェクトの SOAPBody
オブジェクト
SOAPException - SOAP Body が存在しないか、取得できない場合
public SOAPHeader getSOAPHeader()
throws SOAPException
SOAPMessage オブジェクトに含まれる SOAP Header を取得します。
SOAPMessage オブジェクトの SOAPHeader
オブジェクト
SOAPException - SOAP Header が存在しないか、取得できない場合public abstract void removeAllAttachments()
SOAPMessage オブジェクトに追加された AttachmentPart オブジェクトをすべて削除します。 このメソッドは、SOAP 部には影響を与えません。
public abstract int countAttachments()
SOAPMessage オブジェクトの一部である
AttachmentPart オブジェクトの数public abstract Iterator getAttachments()
SOAPMessage オブジェクトの一部である AttachmentPart オブジェクトをすべて取得します。
public abstract Iterator getAttachments(MimeHeaders headers)
AttachmentPart オブジェクトをすべて取得します。返される添付には、指定したもの以外のヘッダーも含まれます。
headers - 検索する MIME ヘッダーを含む MimeHeaders
オブジェクト
public abstract void removeAttachments(MimeHeaders headers)
AttachmentPart オブジェクトをすべて削除します。削除される添付には、指定したもの以外のヘッダーも含まれます。
headers - 検索する MIME ヘッダーを含む MimeHeaders
オブジェクト
public abstract AttachmentPart getAttachment(SOAPElement element)
throws SOAPException
SOAPElement が参照する添付と関連付けられた AttachmentPart オブジェクト、またはそのような添付が存在しない場合は null を返します。参照は、SOAP Messages with Attachments で説明されている href 属性またはスキーマ型 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 - 添付にアクセスしようとしたときにエラーが発生した
場合public abstract void addAttachmentPart(AttachmentPart AttachmentPart)
AttachmentPart オブジェクトをこの SOAPMessage オブジェクトに追加します。AttachmentPart オブジェクトは、メッセージに追加する前に作成する必要があります。
AttachmentPart - この SOAPMessage オブジェクトの部分となる
AttachmentPart オブジェクト
IllegalArgumentExceptionpublic abstract AttachmentPart createAttachmentPart()
AttachmentPart オブジェクトを作成します。addAttachmentPart メソッドは、新しい AttachmentPart を SOAPMessage オブジェクトの添付にするために、 新しい AttachmentPart とともにパラメータとして呼び出される必要があります。
SOAPMessage オブジェクトに追加される
新しい AttachmentPart オブジェクトpublic AttachmentPart createAttachmentPart(DataHandler dataHandler)
AttachmentPart オブジェクトを作成し、指定した DataHandler オブジェクトを使用して生成します。
dataHandler - この SOAPMessage オブジェクトのコンテンツを生成する
javax.activation.DataHandler
オブジェクト
DataHandler オブジェクトによって生成されるデータを含む
新しい AttachmentPart オブジェクト
IllegalArgumentException - 指定した DataHandler オブジェクトの指定時に問題があった
場合DataHandler,
DataContentHandlerpublic abstract MimeHeaders getMimeHeaders()
SOAPMessage オブジェクトのトランスポート固有の MIME ヘッダーすべてを、トランスポートに依存しない形式で返します。
MimeHeader オブジェクトを含む MimeHeaders
オブジェクト
public AttachmentPart createAttachmentPart(Object content,
String contentType)
AttachmentPart オブジェクトを作成し、指定したコンテンツタイプの指定したデータを使用して生成します。Object の型は、Content-Type で指定した値に対応する必要があります。
content - 作成される AttachmentPart オブジェクトのコンテンツを
含む ObjectcontentType - コンテンツの型を示す String オブジェクト。
たとえば、"text/xml"、"text/plain"、および "image/jpeg"
AttachmentPart
オブジェクト
IllegalArgumentException - contentType がコンテンツオブジェクトの型と
一致しない場合、または指定したコンテンツオブジェクトを
示す DataContentHandler オブジェクトがない場合に
スローされるDataHandler,
DataContentHandler
public abstract void saveChanges()
throws SOAPException
SOAPMessage オブジェクトに加えられた変更をすべて更新します。このメソッドは、writeTo(OutputStream) が呼び出されると自動的に呼び出されます。ただし、受信したメッセージまたはすでに送信されたメッセージに対して変更が加えられた場合は、saveChanges メソッドを明示的に呼び出して変更を保存する必要があります。メソッド saveChanges は、リードバックされるすべての変更 (たとえば、メッセージ ID をサポートするプロファイル内の MessageId) も生成します。送信目的で作成されるメッセージ内のすべての MIME ヘッダーは、saveChanges が呼び出されたあとでのみ有効な値を持つことが保証されます。
さらに、このメソッドは、構成するすべての AttachmentPart オブジェクトからのデータがメッセージに入れられたポイントにマークを設定します。
SOAPException - このメッセージへの変更を保存時に
問題があった場合
SOAPExceptionpublic abstract boolean saveRequired()
SOAPMessage オブジェクトに対して、saveChanges メソッドを呼び出す必要があるかどうかを示します。
saveChanges を呼び出す必要がる場合は true、
そうでない場合は false
public abstract void writeTo(OutputStream out)
throws SOAPException,
IOException
SOAPMessage オブジェクトを指定した出力ストリームに書き込みます。外部化形式は、SOAP 1.1 with Attachments 仕様で定義されているものと同じです。
添付がない場合は、XML ストリームだけが書き出されます。添付があるメッセージでは、writeTo が MIME でエンコードされたバイトストリームを書き込みます。
このメソッドは、メッセージのトランスポート固有の MIME ヘッダーは書き込みません。
out - SOAPMessage オブジェクトが書き込まれる対象の OutputStream
オブジェクト
IOException - 入出力エラーが発生した場合
SOAPException - この SOAP メッセージの外部化で問題があった場合
public void setProperty(String property,
Object value)
throws SOAPException
有効なプロパティー名には、WRITE_XML_DECLARATION および CHARACTER_SET_ENCODING が含まれます。標準 SAAJ プロパティーにはすべて、先頭に「javax.xml.soap」が付けられます。ベンダーは実装に固有のプロパティーを追加できます。これらのプロパティーは、ベンダー固有のパッケージ名を先頭に付ける必要があります。
プロパティー WRITE_XML_DECLARATION を "true" に設定すると、SOAP メッセージの最初に XML 宣言が書き出されます。デフォルト値の「false」は、この宣言を抑止します。
プロパティー CHARACTER_SET_ENCODING のデフォルト値は "utf-8" で、SOAP メッセージは UTF-8 を使用してエンコードされます。CHARACTER_SET_ENCODING を "utf-16" に設定すると、SOAP メッセージは UTF-16 を使用してエンコードされます。
ある実装では、UTF-8 および UTF-16 に加えて別のエンコーディングも可能です。詳細はベンダーのマニュアルを参照してください。
property - 指定される値が関連付けられる
プロパティーvalue - 指定されるプロパティーに関連付けられる値
SOAPException - プロパティー名が認識されない場合
public Object getProperty(String property)
throws SOAPException
property - 取得するプロパティーの名前
null
SOAPException - プロパティー名が認識されない場合
|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。