public interface SOAPEnvelope extends SOAPElement
SOAPPartオブジェクトのSOAPHeaderとSOAPBody部分のコンテナです。デフォルトでは、SOAPMessageオブジェクトはSOAPEnvelopeオブジェクトを保持するSOAPPartオブジェクトで作成されます。デフォルトではSOAPEnvelopeオブジェクトは、空のSOAPBodyオブジェクトと空のSOAPHeaderオブジェクトを保有しています。SOAPBodyオブジェクトは必須です。SOAPHeaderオブジェクトはオプションですが、ほとんどの場合に使用されています。SOAPHeaderオブジェクトが不要な場合には、削除できます(後述)。
クライアントは、SOAPEnvelope.getHeaderやSOAPEnvelope.getBodyメソッドを呼び出すことで、SOAPHeaderやSOAPBodyオブジェクトにアクセスできます。次のコードでは、まずSOAPMessageオブジェクトのmessageでSOAPPartオブジェクトのspを取得した後、これらの2つのメソッドを使用します。spは次に、SOAPEnvelopeオブジェクトのseを取得するのに使用します。
SOAPPart sp = message.getSOAPPart();
SOAPEnvelope se = sp.getEnvelope();
SOAPHeader sh = se.getHeader();
SOAPBody sb = se.getBody();
SOAPEnvelopeオブジェクトの本体やヘッダーは、現行のものを取得したり、削除したり、新しいものを追加したりすることで変更できます。javax.xml.soap.NodeのメソッドdeleteNodeは、呼び出されたXML要素(ノード)を削除します。たとえば、次のコードは、getBodyメソッドで取得したSOAPBodyオブジェクトを削除します。
se.getBody().detachNode();
SOAPHeaderオブジェクトを作成して削除したオブジェクトと置き換える場合、クライアントは、SOAPEnvelope.addHeaderメソッドを使用します。このメソッドを使用すると、新しいヘッダーが作成され、SOAPEnvelopeオブジェクトに追加されます。同様に、addBodyメソッドも新しいSOAPBodyオブジェクトを作成し、SOAPEnvelopeオブジェクトに追加します。次のコードの抜粋では、現在のヘッダーを取得してそれを削除し、新しいヘッダーを追加します。続いて、現在の本体を取得してそれを削除し、新しい本体を追加します。
SOAPPart sp = message.getSOAPPart();
SOAPEnvelope se = sp.getEnvelope();
se.getHeader().detachNode();
SOAPHeader sh = se.addHeader();
se.getBody().detachNode();
SOAPBody sb = se.addBody();
すでにSOAPBodyオブジェクトやSOAPHeaderオブジェクトが存在している場合、これらを追加するとエラーになります。
SOAPEnvelopeインタフェースは、Nameオブジェクトを作成する3つのメソッドを提供します。1つ目のメソッドは、ローカル名、名前空間接頭辞、名前空間URIを使用してNameオブジェクトを作成します。2つ目のメソッドは、ローカル名と名前空間の接頭辞を使用してNameオブジェクトを作成します。3つ目のメソッドは、ローカル名のみを使用してNameオブジェクトを作成します。次のコード行(seはSOAPEnvelopeオブジェクト)では、3つすべてを使用して新しいNameオブジェクトを作成します。
Name name = se.createName("GetLastTradePrice", "WOMBAT",
"http://www.wombat.org/trader");
ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_POSITION_CONTAINED_BY, DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, DOCUMENT_POSITION_PRECEDING, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE| 修飾子と型 | メソッドと説明 |
|---|---|
SOAPBody |
addBody()
SOAPBodyオブジェクトを作成し、それをこのSOAPEnvelopeオブジェクトのSOAPBodyオブジェクトとして設定します。 |
SOAPHeader |
addHeader()
SOAPHeaderオブジェクトを作成し、それをこのSOAPEnvelopeオブジェクトのSOAPHeaderオブジェクトとして設定します。 |
Name |
createName(String localName)
指定されたローカル名を使用して初期化された新しい
Nameオブジェクトを作成します。 |
Name |
createName(String localName, String prefix, String uri)
指定したローカル名、名前空間接頭辞および名前空間URIを使用して初期化された新しい
Nameオブジェクトを作成します。 |
SOAPBody |
getBody()
この
SOAPEnvelopeオブジェクトに関連付けられたSOAPBodyオブジェクトを返します。 |
SOAPHeader |
getHeader()
この
SOAPEnvelopeオブジェクトのSOAPHeaderオブジェクトを返します。 |
addAttribute, addAttribute, addChildElement, addChildElement, addChildElement, addChildElement, addChildElement, addChildElement, addNamespaceDeclaration, addTextNode, createQName, getAllAttributes, getAllAttributesAsQNames, getAttributeValue, getAttributeValue, getChildElements, getChildElements, getChildElements, getElementName, getElementQName, getEncodingStyle, getNamespacePrefixes, getNamespaceURI, getVisibleNamespacePrefixes, removeAttribute, removeAttribute, removeContents, removeNamespaceDeclaration, setElementQName, setEncodingStyledetachNode, getParentElement, getValue, recycleNode, setParentElement, setValuegetAttribute, getAttributeNode, getAttributeNodeNS, getAttributeNS, getElementsByTagName, getElementsByTagNameNS, getSchemaTypeInfo, getTagName, hasAttribute, hasAttributeNS, removeAttribute, removeAttributeNode, removeAttributeNS, setAttribute, setAttributeNode, setAttributeNodeNS, setAttributeNS, setIdAttribute, setIdAttributeNode, setIdAttributeNSappendChild, cloneNode, compareDocumentPosition, getAttributes, getBaseURI, getChildNodes, getFeature, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNextSibling, getNodeName, getNodeType, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, getTextContent, getUserData, hasAttributes, hasChildNodes, insertBefore, isDefaultNamespace, isEqualNode, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, normalize, removeChild, replaceChild, setNodeValue, setPrefix, setTextContent, setUserDataName createName(String localName, String prefix, String uri) throws SOAPException
Nameオブジェクトを作成します。
このファクトリ・メソッドは、SOAP/XMLドキュメントで使用するNameオブジェクトを作成します。
localName - ローカル名を指定するStringprefix - 名前空間の接頭辞を指定するStringuri - 名前空間のURIを指定するStringNameオブジェクトSOAPException - SOAPエラーが存在する場合Name createName(String localName) throws SOAPException
Nameオブジェクトを作成します。
このファクトリ・メソッドは、SOAP/XMLドキュメントで使用するNameオブジェクトを作成します。
localName - ローカル名を指定するStringNameオブジェクトSOAPException - SOAPエラーが存在する場合SOAPHeader getHeader() throws SOAPException
SOAPEnvelopeオブジェクトのSOAPHeaderオブジェクトを返します。
デフォルトでは、新しいSOAPMessageオブジェクトの作成に、空のSOAPHeaderオブジェクトを保持するSOAPEnvelopeオブジェクトを使用します。そのため、getHeaderメソッドは、ヘッダーを削除して新しいものが追加されなかった場合を除き、常にSOAPHeaderオブジェクトを返します。
SOAPHeaderオブジェクト。ない場合はnullSOAPException - SOAPHeaderオブジェクトの取得時に問題が発生した場合SOAPBody getBody() throws SOAPException
SOAPEnvelopeオブジェクトに関連付けられたSOAPBodyオブジェクトを返します。
デフォルトでは、新しいSOAPMessageオブジェクトの作成に、空のSOAPBodyオブジェクトを保持するSOAPEnvelopeオブジェクトを使用します。そのため、getBodyメソッドは、本体を削除して新しいものが追加されなかった場合を除き、常にSOAPBodyオブジェクトを返します。
SOAPEnvelopeのSOAPBodyオブジェクト。存在しない場合はnullSOAPException - SOAPBodyオブジェクトの取得時に問題が発生した場合SOAPHeader addHeader() throws SOAPException
SOAPHeaderオブジェクトを作成し、それをこのSOAPEnvelopeオブジェクトのSOAPHeaderオブジェクトとして設定します。
エンベロープにすでにヘッダーが含まれている場合、ヘッダーを追加することはできません。そのため、このメソッドは既存のヘッダーを削除してから呼び出してください。
SOAPHeaderオブジェクトSOAPException - SOAPEnvelopeオブジェクトにすでに有効なSOAPHeaderオブジェクトが含まれている場合SOAPBody addBody() throws SOAPException
SOAPBodyオブジェクトを作成し、それをこのSOAPEnvelopeオブジェクトのSOAPBodyオブジェクトとして設定します。
エンベロープにすでに本体が含まれている場合、本体を追加することはできません。そのため、このメソッドは既存の本体を削除してから呼び出してください。
SOAPBodyオブジェクトSOAPException - SOAPEnvelopeオブジェクトにすでに有効なSOAPBodyオブジェクトが含まれている場合 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.