<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<title>SOAPBody</title>
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="SOAPBody";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../jakarta/xml/soap/SAAJResult.html" title="class in jakarta.xml.soap"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../jakarta/xml/soap/SOAPBodyElement.html" title="interface in jakarta.xml.soap"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?jakarta/xml/soap/SOAPBody.html" target="_top">Frames</a></li>
<li><a href="SOAPBody.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">jakarta.xml.soap</div>
<h2 title="Interface SOAPBody" class="title">Interface SOAPBody</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd>org.w3c.dom.Element, org.w3c.dom.Node, <a href="../../../jakarta/xml/soap/SOAPElement.html" title="interface in jakarta.xml.soap">SOAPElement</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="typeNameLabel">SOAPBody</span>
extends <a href="../../../jakarta/xml/soap/SOAPElement.html" title="interface in jakarta.xml.soap">SOAPElement</a></pre>
<div class="block">An object that represents the contents of the SOAP body
 element in a SOAP message. A SOAP body element consists of XML data
 that affects the way the application-specific content is processed.
 <P>
 A <code>SOAPBody</code> object contains <code>SOAPBodyElement</code>
 objects, which have the content for the SOAP body.
 A <code>SOAPFault</code> object, which carries status and/or
 error information, is an example of a <code>SOAPBodyElement</code> object.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.6</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../jakarta/xml/soap/SOAPFault.html" title="interface in jakarta.xml.soap"><code>SOAPFault</code></a></dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.w3c.dom.Node">
<!--   -->
</a>
<h3>Fields inherited from interface&nbsp;org.w3c.dom.Node</h3>
<code>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</code></li>
</ul>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="../../../jakarta/xml/soap/SOAPBodyElement.html" title="interface in jakarta.xml.soap">SOAPBodyElement</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/soap/SOAPBody.html#addBodyElement-jakarta.xml.soap.Name-">addBodyElement</a></span>(<a href="../../../jakarta/xml/soap/Name.html" title="interface in jakarta.xml.soap">Name</a>&nbsp;name)</code>
<div class="block">Creates a new <code>SOAPBodyElement</code> object with the specified
 name and adds it to this <code>SOAPBody</code> object.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="../../../jakarta/xml/soap/SOAPBodyElement.html" title="interface in jakarta.xml.soap">SOAPBodyElement</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/soap/SOAPBody.html#addBodyElement-javax.xml.namespace.QName-">addBodyElement</a></span>(javax.xml.namespace.QName&nbsp;qname)</code>
<div class="block">Creates a new <code>SOAPBodyElement</code> object with the specified
 QName and adds it to this <code>SOAPBody</code> object.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="../../../jakarta/xml/soap/SOAPBodyElement.html" title="interface in jakarta.xml.soap">SOAPBodyElement</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/soap/SOAPBody.html#addDocument-org.w3c.dom.Document-">addDocument</a></span>(org.w3c.dom.Document&nbsp;document)</code>
<div class="block">Adds the root node of the DOM <code>Document</code>
 to this <code>SOAPBody</code> object.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="../../../jakarta/xml/soap/SOAPFault.html" title="interface in jakarta.xml.soap">SOAPFault</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/soap/SOAPBody.html#addFault--">addFault</a></span>()</code>
<div class="block">Creates a new <code>SOAPFault</code> object and adds it to
 this <code>SOAPBody</code> object.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="../../../jakarta/xml/soap/SOAPFault.html" title="interface in jakarta.xml.soap">SOAPFault</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/soap/SOAPBody.html#addFault-jakarta.xml.soap.Name-java.lang.String-">addFault</a></span>(<a href="../../../jakarta/xml/soap/Name.html" title="interface in jakarta.xml.soap">Name</a>&nbsp;faultCode,
        java.lang.String&nbsp;faultString)</code>
<div class="block">Creates a new  <code>SOAPFault</code> object and adds it to this
 <code>SOAPBody</code> object.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="../../../jakarta/xml/soap/SOAPFault.html" title="interface in jakarta.xml.soap">SOAPFault</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/soap/SOAPBody.html#addFault-jakarta.xml.soap.Name-java.lang.String-java.util.Locale-">addFault</a></span>(<a href="../../../jakarta/xml/soap/Name.html" title="interface in jakarta.xml.soap">Name</a>&nbsp;faultCode,
        java.lang.String&nbsp;faultString,
        java.util.Locale&nbsp;locale)</code>
<div class="block">Creates a new <code>SOAPFault</code> object and adds it to
 this <code>SOAPBody</code> object.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="../../../jakarta/xml/soap/SOAPFault.html" title="interface in jakarta.xml.soap">SOAPFault</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/soap/SOAPBody.html#addFault-javax.xml.namespace.QName-java.lang.String-">addFault</a></span>(javax.xml.namespace.QName&nbsp;faultCode,
        java.lang.String&nbsp;faultString)</code>
<div class="block">Creates a new <code>SOAPFault</code> object and adds it to this <code>SOAPBody</code>
 object.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="../../../jakarta/xml/soap/SOAPFault.html" title="interface in jakarta.xml.soap">SOAPFault</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/soap/SOAPBody.html#addFault-javax.xml.namespace.QName-java.lang.String-java.util.Locale-">addFault</a></span>(javax.xml.namespace.QName&nbsp;faultCode,
        java.lang.String&nbsp;faultString,
        java.util.Locale&nbsp;locale)</code>
<div class="block">Creates a new <code>SOAPFault</code> object and adds it to this
 <code>SOAPBody</code> object.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>org.w3c.dom.Document</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/soap/SOAPBody.html#extractContentAsDocument--">extractContentAsDocument</a></span>()</code>
<div class="block">Creates a new DOM <code>Document</code> and sets
 the first child of this <code>SOAPBody</code> as it's document
 element.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code><a href="../../../jakarta/xml/soap/SOAPFault.html" title="interface in jakarta.xml.soap">SOAPFault</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/soap/SOAPBody.html#getFault--">getFault</a></span>()</code>
<div class="block">Returns the <code>SOAPFault</code> object in this <code>SOAPBody</code>
 object.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/soap/SOAPBody.html#hasFault--">hasFault</a></span>()</code>
<div class="block">Indicates whether a <code>SOAPFault</code> object exists in this
 <code>SOAPBody</code> object.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.jakarta.xml.soap.SOAPElement">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;jakarta.xml.soap.<a href="../../../jakarta/xml/soap/SOAPElement.html" title="interface in jakarta.xml.soap">SOAPElement</a></h3>
<code><a href="../../../jakarta/xml/soap/SOAPElement.html#addAttribute-jakarta.xml.soap.Name-java.lang.String-">addAttribute</a>, <a href="../../../jakarta/xml/soap/SOAPElement.html#addAttribute-javax.xml.namespace.QName-java.lang.String-">addAttribute</a>, <a href="../../../jakarta/xml/soap/SOAPElement.html#addChildElement-jakarta.xml.soap.Name-">addChildElement</a>, <a href="../../../jakarta/xml/soap/SOAPElement.html#addChildElement-javax.xml.namespace.QName-">addChildElement</a>, <a href="../../../jakarta/xml/soap/SOAPElement.html#addChildElement-jakarta.xml.soap.SOAPElement-">addChildElement</a>, <a href="../../../jakarta/xml/soap/SOAPElement.html#addChildElement-java.lang.String-">addChildElement</a>, <a href="../../../jakarta/xml/soap/SOAPElement.html#addChildElement-java.lang.String-java.lang.String-">addChildElement</a>, <a href="../../../jakarta/xml/soap/SOAPElement.html#addChildElement-java.lang.String-java.lang.String-java.lang.String-">addChildElement</a>, <a href="../../../jakarta/xml/soap/SOAPElement.html#addNamespaceDeclaration-java.lang.String-java.lang.String-">addNamespaceDeclaration</a>, <a href="../../../jakarta/xml/soap/SOAPElement.html#addTextNode-java.lang.String-">addTextNode</a>, <a href="../../../jakarta/xml/soap/SOAPElement.html#createQName-java.lang.String-java.lang.String-">createQName</a>, <a href="../../../jakarta/xml/soap/SOAPElement.html#getAllAttributes--">getAllAttributes</a>, <a href="../../../jakarta/xml/soap/SOAPElement.html#getAllAttributesAsQNames--">getAllAttributesAsQNames</a>, <a href="../../../jakarta/xml/soap/SOAPElement.html#getAttributeValue-jakarta.xml.soap.Name-">getAttributeValue</a>, <a href="../../../jakarta/xml/soap/SOAPElement.html#getAttributeValue-javax.xml.namespace.QName-">getAttributeValue</a>, <a href="../../../jakarta/xml/soap/SOAPElement.html#getChildElements--">getChildElements</a>, <a href="../../../jakarta/xml/soap/SOAPElement.html#getChildElements-jakarta.xml.soap.Name-">getChildElements</a>, <a href="../../../jakarta/xml/soap/SOAPElement.html#getChildElements-javax.xml.namespace.QName-">getChildElements</a>, <a href="../../../jakarta/xml/soap/SOAPElement.html#getElementName--">getElementName</a>, <a href="../../../jakarta/xml/soap/SOAPElement.html#getElementQName--">getElementQName</a>, <a href="../../../jakarta/xml/soap/SOAPElement.html#getEncodingStyle--">getEncodingStyle</a>, <a href="../../../jakarta/xml/soap/SOAPElement.html#getNamespacePrefixes--">getNamespacePrefixes</a>, <a href="../../../jakarta/xml/soap/SOAPElement.html#getNamespaceURI-java.lang.String-">getNamespaceURI</a>, <a href="../../../jakarta/xml/soap/SOAPElement.html#getVisibleNamespacePrefixes--">getVisibleNamespacePrefixes</a>, <a href="../../../jakarta/xml/soap/SOAPElement.html#removeAttribute-jakarta.xml.soap.Name-">removeAttribute</a>, <a href="../../../jakarta/xml/soap/SOAPElement.html#removeAttribute-javax.xml.namespace.QName-">removeAttribute</a>, <a href="../../../jakarta/xml/soap/SOAPElement.html#removeContents--">removeContents</a>, <a href="../../../jakarta/xml/soap/SOAPElement.html#removeNamespaceDeclaration-java.lang.String-">removeNamespaceDeclaration</a>, <a href="../../../jakarta/xml/soap/SOAPElement.html#setElementQName-javax.xml.namespace.QName-">setElementQName</a>, <a href="../../../jakarta/xml/soap/SOAPElement.html#setEncodingStyle-java.lang.String-">setEncodingStyle</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.jakarta.xml.soap.Node">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;jakarta.xml.soap.<a href="../../../jakarta/xml/soap/Node.html" title="interface in jakarta.xml.soap">Node</a></h3>
<code><a href="../../../jakarta/xml/soap/Node.html#detachNode--">detachNode</a>, <a href="../../../jakarta/xml/soap/Node.html#getParentElement--">getParentElement</a>, <a href="../../../jakarta/xml/soap/Node.html#getValue--">getValue</a>, <a href="../../../jakarta/xml/soap/Node.html#recycleNode--">recycleNode</a>, <a href="../../../jakarta/xml/soap/Node.html#setParentElement-jakarta.xml.soap.SOAPElement-">setParentElement</a>, <a href="../../../jakarta/xml/soap/Node.html#setValue-java.lang.String-">setValue</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.w3c.dom.Element">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;org.w3c.dom.Element</h3>
<code>getAttribute, getAttributeNode, getAttributeNodeNS, getAttributeNS, getElementsByTagName, getElementsByTagNameNS, getSchemaTypeInfo, getTagName, hasAttribute, hasAttributeNS, removeAttribute, removeAttributeNode, removeAttributeNS, setAttribute, setAttributeNode, setAttributeNodeNS, setAttributeNS, setIdAttribute, setIdAttributeNode, setIdAttributeNS</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.w3c.dom.Node">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;org.w3c.dom.Node</h3>
<code>appendChild, 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, setUserData</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="addFault--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addFault</h4>
<pre><a href="../../../jakarta/xml/soap/SOAPFault.html" title="interface in jakarta.xml.soap">SOAPFault</a>&nbsp;addFault()
            throws <a href="../../../jakarta/xml/soap/SOAPException.html" title="class in jakarta.xml.soap">SOAPException</a></pre>
<div class="block">Creates a new <code>SOAPFault</code> object and adds it to
 this <code>SOAPBody</code> object. The new <code>SOAPFault</code> will
 have default values set for the mandatory child elements. The type of
 the <code>SOAPFault</code> will be a SOAP 1.1 or a SOAP 1.2 <code>SOAPFault</code>
 depending on the <code>protocol</code> specified while creating the
 <code>MessageFactory</code> instance.
 <p>
 A <code>SOAPBody</code> may contain at most one <code>SOAPFault</code>
 child element.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the new <code>SOAPFault</code> object</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../jakarta/xml/soap/SOAPException.html" title="class in jakarta.xml.soap">SOAPException</a></code> - if there is a SOAP error</dd>
</dl>
</li>
</ul>
<a name="addFault-jakarta.xml.soap.Name-java.lang.String-java.util.Locale-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addFault</h4>
<pre><a href="../../../jakarta/xml/soap/SOAPFault.html" title="interface in jakarta.xml.soap">SOAPFault</a>&nbsp;addFault(<a href="../../../jakarta/xml/soap/Name.html" title="interface in jakarta.xml.soap">Name</a>&nbsp;faultCode,
                   java.lang.String&nbsp;faultString,
                   java.util.Locale&nbsp;locale)
            throws <a href="../../../jakarta/xml/soap/SOAPException.html" title="class in jakarta.xml.soap">SOAPException</a></pre>
<div class="block">Creates a new <code>SOAPFault</code> object and adds it to
 this <code>SOAPBody</code> object. The type of the
 <code>SOAPFault</code> will be a SOAP 1.1  or a SOAP 1.2
 <code>SOAPFault</code> depending on the <code>protocol</code>
 specified while creating the <code>MessageFactory</code> instance.
 <p>
 For SOAP 1.2 the <code>faultCode</code> parameter is the value of the
 <i>Fault/Code/Value</i> element  and the <code>faultString</code> parameter
 is the value of the <i>Fault/Reason/Text</i> element. For SOAP 1.1
 the <code>faultCode</code> parameter is the value of the <code>faultcode</code>
 element and the <code>faultString</code> parameter is the value of the <code>faultstring</code>
 element.
 <p>
 A <code>SOAPBody</code> may contain at most one <code>SOAPFault</code>
 child element.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>faultCode</code> - a <code>Name</code> object giving the fault
         code to be set; must be one of the fault codes defined in the Version
         of SOAP specification in use</dd>
<dd><code>faultString</code> - a <code>String</code> giving an explanation of
         the fault</dd>
<dd><code>locale</code> - a <code>Locale</code> object indicating
         the native language of the <code>faultString</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the new <code>SOAPFault</code> object</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../jakarta/xml/soap/SOAPException.html" title="class in jakarta.xml.soap">SOAPException</a></code> - if there is a SOAP error</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.6, SAAJ 1.2</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../jakarta/xml/soap/SOAPFault.html#setFaultCode-jakarta.xml.soap.Name-"><code>SOAPFault.setFaultCode(jakarta.xml.soap.Name)</code></a>, 
<a href="../../../jakarta/xml/soap/SOAPFault.html#setFaultString-java.lang.String-"><code>SOAPFault.setFaultString(java.lang.String)</code></a></dd>
</dl>
</li>
</ul>
<a name="addFault-javax.xml.namespace.QName-java.lang.String-java.util.Locale-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addFault</h4>
<pre><a href="../../../jakarta/xml/soap/SOAPFault.html" title="interface in jakarta.xml.soap">SOAPFault</a>&nbsp;addFault(javax.xml.namespace.QName&nbsp;faultCode,
                   java.lang.String&nbsp;faultString,
                   java.util.Locale&nbsp;locale)
            throws <a href="../../../jakarta/xml/soap/SOAPException.html" title="class in jakarta.xml.soap">SOAPException</a></pre>
<div class="block">Creates a new <code>SOAPFault</code> object and adds it to this
 <code>SOAPBody</code> object. The type of the <code>SOAPFault</code>
 will be a SOAP 1.1 or a SOAP 1.2 <code>SOAPFault</code> depending on
 the <code>protocol</code> specified while creating the <code>MessageFactory</code>
 instance.
 <p>
 For SOAP 1.2 the <code>faultCode</code> parameter is the value of the
 <i>Fault/Code/Value</i> element  and the <code>faultString</code> parameter
 is the value of the <i>Fault/Reason/Text</i> element. For SOAP 1.1
 the <code>faultCode</code> parameter is the value of the <code>faultcode</code>
 element and the <code>faultString</code> parameter is the value of the <code>faultstring</code>
 element.
 <p>
 A <code>SOAPBody</code> may contain at most one <code>SOAPFault</code>
 child element.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>faultCode</code> - a <code>QName</code> object giving the fault code to be
            set; must be one of the fault codes defined in the version
            of SOAP specification in use.</dd>
<dd><code>faultString</code> - a <code>String</code> giving an explanation of the fault</dd>
<dd><code>locale</code> - a <code>Locale</code> object indicating the
            native language of the <code>faultString</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the new <code>SOAPFault</code> object</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../jakarta/xml/soap/SOAPException.html" title="class in jakarta.xml.soap">SOAPException</a></code> - if there is a SOAP error</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.6, SAAJ 1.3</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../jakarta/xml/soap/SOAPFault.html#setFaultCode-jakarta.xml.soap.Name-"><code>SOAPFault.setFaultCode(jakarta.xml.soap.Name)</code></a>, 
<a href="../../../jakarta/xml/soap/SOAPFault.html#setFaultString-java.lang.String-"><code>SOAPFault.setFaultString(java.lang.String)</code></a>, 
<a href="../../../jakarta/xml/soap/SOAPBody.html#addFault-jakarta.xml.soap.Name-java.lang.String-java.util.Locale-"><code>addFault(Name faultCode, String faultString, Locale locale)</code></a></dd>
</dl>
</li>
</ul>
<a name="addFault-jakarta.xml.soap.Name-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addFault</h4>
<pre><a href="../../../jakarta/xml/soap/SOAPFault.html" title="interface in jakarta.xml.soap">SOAPFault</a>&nbsp;addFault(<a href="../../../jakarta/xml/soap/Name.html" title="interface in jakarta.xml.soap">Name</a>&nbsp;faultCode,
                   java.lang.String&nbsp;faultString)
            throws <a href="../../../jakarta/xml/soap/SOAPException.html" title="class in jakarta.xml.soap">SOAPException</a></pre>
<div class="block">Creates a new  <code>SOAPFault</code> object and adds it to this
 <code>SOAPBody</code> object. The type of the <code>SOAPFault</code>
 will be a SOAP 1.1 or a SOAP 1.2 <code>SOAPFault</code> depending on
 the <code>protocol</code> specified while creating the <code>MessageFactory</code>
 instance.
 <p>
 For SOAP 1.2 the <code>faultCode</code> parameter is the value of the
 <i>Fault/Code/Value</i> element  and the <code>faultString</code> parameter
 is the value of the <i>Fault/Reason/Text</i> element. For SOAP 1.1
 the <code>faultCode</code> parameter is the value of the <i>faultcode</i>
 element and the <code>faultString</code> parameter is the value of the <i>faultstring</i>
 element.
 <p>
 In case of a SOAP 1.2 fault, the default value for the mandatory <code>xml:lang</code>
 attribute on the <i>Fault/Reason/Text</i> element will be set to
 <code>java.util.Locale.getDefault()</code>
 <p>
 A <code>SOAPBody</code> may contain at most one <code>SOAPFault</code>
 child element.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>faultCode</code> - a <code>Name</code> object giving the fault code to be set;
            must be one of the fault codes defined in the version of SOAP
            specification in use</dd>
<dd><code>faultString</code> - a <code>String</code> giving an explanation of the fault</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the new <code>SOAPFault</code> object</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../jakarta/xml/soap/SOAPException.html" title="class in jakarta.xml.soap">SOAPException</a></code> - if there is a SOAP error</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.6, SAAJ 1.2</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../jakarta/xml/soap/SOAPFault.html#setFaultCode-jakarta.xml.soap.Name-"><code>SOAPFault.setFaultCode(jakarta.xml.soap.Name)</code></a>, 
<a href="../../../jakarta/xml/soap/SOAPFault.html#setFaultString-java.lang.String-"><code>SOAPFault.setFaultString(java.lang.String)</code></a></dd>
</dl>
</li>
</ul>
<a name="addFault-javax.xml.namespace.QName-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addFault</h4>
<pre><a href="../../../jakarta/xml/soap/SOAPFault.html" title="interface in jakarta.xml.soap">SOAPFault</a>&nbsp;addFault(javax.xml.namespace.QName&nbsp;faultCode,
                   java.lang.String&nbsp;faultString)
            throws <a href="../../../jakarta/xml/soap/SOAPException.html" title="class in jakarta.xml.soap">SOAPException</a></pre>
<div class="block">Creates a new <code>SOAPFault</code> object and adds it to this <code>SOAPBody</code>
 object. The type of the <code>SOAPFault</code>
 will be a SOAP 1.1 or a SOAP 1.2 <code>SOAPFault</code> depending on
 the <code>protocol</code> specified while creating the <code>MessageFactory</code>
 instance.
 <p>
 For SOAP 1.2 the <code>faultCode</code> parameter is the value of the
 <i>Fault/Code/Value</i> element  and the <code>faultString</code> parameter
 is the value of the <i>Fault/Reason/Text</i> element. For SOAP 1.1
 the <code>faultCode</code> parameter is the value of the <i>faultcode</i>
 element and the <code>faultString</code> parameter is the value of the <i>faultstring</i>
 element.
 <p>
 In case of a SOAP 1.2 fault, the default value for the mandatory <code>xml:lang</code>
 attribute on the <i>Fault/Reason/Text</i> element will be set to
 <code>java.util.Locale.getDefault()</code>
 <p>
 A <code>SOAPBody</code> may contain at most one <code>SOAPFault</code>
 child element</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>faultCode</code> - a <code>QName</code> object giving the fault code to be
            set; must be one of the fault codes defined in the version
            of  SOAP specification in use</dd>
<dd><code>faultString</code> - a <code>String</code> giving an explanation of the fault</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the new <code>SOAPFault</code> object</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../jakarta/xml/soap/SOAPException.html" title="class in jakarta.xml.soap">SOAPException</a></code> - if there is a SOAP error</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.6, SAAJ 1.3</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../jakarta/xml/soap/SOAPFault.html#setFaultCode-jakarta.xml.soap.Name-"><code>SOAPFault.setFaultCode(jakarta.xml.soap.Name)</code></a>, 
<a href="../../../jakarta/xml/soap/SOAPFault.html#setFaultString-java.lang.String-"><code>SOAPFault.setFaultString(java.lang.String)</code></a>, 
<a href="../../../jakarta/xml/soap/SOAPBody.html#addFault-jakarta.xml.soap.Name-java.lang.String-"><code>addFault(Name faultCode, String faultString)</code></a></dd>
</dl>
</li>
</ul>
<a name="hasFault--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hasFault</h4>
<pre>boolean&nbsp;hasFault()</pre>
<div class="block">Indicates whether a <code>SOAPFault</code> object exists in this
 <code>SOAPBody</code> object.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>true</code> if a <code>SOAPFault</code> object exists
         in this <code>SOAPBody</code> object; <code>false</code>
         otherwise</dd>
</dl>
</li>
</ul>
<a name="getFault--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFault</h4>
<pre><a href="../../../jakarta/xml/soap/SOAPFault.html" title="interface in jakarta.xml.soap">SOAPFault</a>&nbsp;getFault()</pre>
<div class="block">Returns the <code>SOAPFault</code> object in this <code>SOAPBody</code>
 object.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the <code>SOAPFault</code> object in this <code>SOAPBody</code>
         object if present, null otherwise.</dd>
</dl>
</li>
</ul>
<a name="addBodyElement-jakarta.xml.soap.Name-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addBodyElement</h4>
<pre><a href="../../../jakarta/xml/soap/SOAPBodyElement.html" title="interface in jakarta.xml.soap">SOAPBodyElement</a>&nbsp;addBodyElement(<a href="../../../jakarta/xml/soap/Name.html" title="interface in jakarta.xml.soap">Name</a>&nbsp;name)
                        throws <a href="../../../jakarta/xml/soap/SOAPException.html" title="class in jakarta.xml.soap">SOAPException</a></pre>
<div class="block">Creates a new <code>SOAPBodyElement</code> object with the specified
 name and adds it to this <code>SOAPBody</code> object.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - a <code>Name</code> object with the name for the new <code>SOAPBodyElement</code>
            object</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the new <code>SOAPBodyElement</code> object</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../jakarta/xml/soap/SOAPException.html" title="class in jakarta.xml.soap">SOAPException</a></code> - if a SOAP error occurs</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../jakarta/xml/soap/SOAPBody.html#addBodyElement-javax.xml.namespace.QName-"><code>addBodyElement(javax.xml.namespace.QName)</code></a></dd>
</dl>
</li>
</ul>
<a name="addBodyElement-javax.xml.namespace.QName-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addBodyElement</h4>
<pre><a href="../../../jakarta/xml/soap/SOAPBodyElement.html" title="interface in jakarta.xml.soap">SOAPBodyElement</a>&nbsp;addBodyElement(javax.xml.namespace.QName&nbsp;qname)
                        throws <a href="../../../jakarta/xml/soap/SOAPException.html" title="class in jakarta.xml.soap">SOAPException</a></pre>
<div class="block">Creates a new <code>SOAPBodyElement</code> object with the specified
 QName and adds it to this <code>SOAPBody</code> object.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>qname</code> - a <code>QName</code> object with the qname for the new
            <code>SOAPBodyElement</code> object</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the new <code>SOAPBodyElement</code> object</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../jakarta/xml/soap/SOAPException.html" title="class in jakarta.xml.soap">SOAPException</a></code> - if a SOAP error occurs</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.6, SAAJ 1.3</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../jakarta/xml/soap/SOAPBody.html#addBodyElement-jakarta.xml.soap.Name-"><code>addBodyElement(Name)</code></a></dd>
</dl>
</li>
</ul>
<a name="addDocument-org.w3c.dom.Document-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addDocument</h4>
<pre><a href="../../../jakarta/xml/soap/SOAPBodyElement.html" title="interface in jakarta.xml.soap">SOAPBodyElement</a>&nbsp;addDocument(org.w3c.dom.Document&nbsp;document)
                     throws <a href="../../../jakarta/xml/soap/SOAPException.html" title="class in jakarta.xml.soap">SOAPException</a></pre>
<div class="block">Adds the root node of the DOM <code>Document</code>
 to this <code>SOAPBody</code> object.
 <p>
 Calling this method invalidates the <code>document</code> parameter.
 The client application should discard all references to this <code>Document</code>
 and its contents upon calling <code>addDocument</code>. The behavior
 of an application that continues to use such references is undefined.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>document</code> - the <code>Document</code> object whose root node will be
            added to this <code>SOAPBody</code>.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the <code>SOAPBodyElement</code> that represents the root node
         that was added.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../jakarta/xml/soap/SOAPException.html" title="class in jakarta.xml.soap">SOAPException</a></code> - if the <code>Document</code> cannot be added</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.6, SAAJ 1.2</dd>
</dl>
</li>
</ul>
<a name="extractContentAsDocument--">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>extractContentAsDocument</h4>
<pre>org.w3c.dom.Document&nbsp;extractContentAsDocument()
                                       throws <a href="../../../jakarta/xml/soap/SOAPException.html" title="class in jakarta.xml.soap">SOAPException</a></pre>
<div class="block">Creates a new DOM <code>Document</code> and sets
 the first child of this <code>SOAPBody</code> as it's document
 element. The child <code>SOAPElement</code> is removed as part of the
 process.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the <code>Document</code> representation
         of the <code>SOAPBody</code> content.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../jakarta/xml/soap/SOAPException.html" title="class in jakarta.xml.soap">SOAPException</a></code> - if there is not exactly one child <code>SOAPElement</code> of the
            <code>SOAPBody</code>.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.6, SAAJ 1.3</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../jakarta/xml/soap/SAAJResult.html" title="class in jakarta.xml.soap"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../jakarta/xml/soap/SOAPBodyElement.html" title="interface in jakarta.xml.soap"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?jakarta/xml/soap/SOAPBody.html" target="_top">Frames</a></li>
<li><a href="SOAPBody.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>
