<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<title>SOAPFaultElement</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="SOAPFaultElement";
        }
    }
    catch(err) {
    }
//-->
</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="../../../javax/xml/soap/SOAPFault.html" title="interface in javax.xml.soap"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../javax/xml/soap/SOAPHeader.html" title="interface in javax.xml.soap"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?javax/xml/soap/SOAPFaultElement.html" target="_top">Frames</a></li>
<li><a href="SOAPFaultElement.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>Method</li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li>Method</li>
</ul>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">javax.xml.soap</div>
<h2 title="Interface SOAPFaultElement" class="title">Interface SOAPFaultElement</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="../../../javax/xml/soap/SOAPElement.html" title="interface in javax.xml.soap">SOAPElement</a></dd>
</dl>
<dl>
<dt>All Known Subinterfaces:</dt>
<dd><a href="../../../javax/xml/soap/Detail.html" title="interface in javax.xml.soap">Detail</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="typeNameLabel">SOAPFaultElement</span>
extends <a href="../../../javax/xml/soap/SOAPElement.html" title="interface in javax.xml.soap">SOAPElement</a></pre>
<div class="block">A representation of the contents in
 a <code>SOAPFault</code> object.  The <code>Detail</code> interface
 is a <code>SOAPFaultElement</code>.
 <P>
 Content is added to a <code>SOAPFaultElement</code> using the
 <code>SOAPElement</code> method <code>addTextNode</code>.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.6</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>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.javax.xml.soap.SOAPElement">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;javax.xml.soap.<a href="../../../javax/xml/soap/SOAPElement.html" title="interface in javax.xml.soap">SOAPElement</a></h3>
<code><a href="../../../javax/xml/soap/SOAPElement.html#addAttribute-javax.xml.soap.Name-java.lang.String-">addAttribute</a>, <a href="../../../javax/xml/soap/SOAPElement.html#addAttribute-javax.xml.namespace.QName-java.lang.String-">addAttribute</a>, <a href="../../../javax/xml/soap/SOAPElement.html#addChildElement-javax.xml.soap.Name-">addChildElement</a>, <a href="../../../javax/xml/soap/SOAPElement.html#addChildElement-javax.xml.namespace.QName-">addChildElement</a>, <a href="../../../javax/xml/soap/SOAPElement.html#addChildElement-javax.xml.soap.SOAPElement-">addChildElement</a>, <a href="../../../javax/xml/soap/SOAPElement.html#addChildElement-java.lang.String-">addChildElement</a>, <a href="../../../javax/xml/soap/SOAPElement.html#addChildElement-java.lang.String-java.lang.String-">addChildElement</a>, <a href="../../../javax/xml/soap/SOAPElement.html#addChildElement-java.lang.String-java.lang.String-java.lang.String-">addChildElement</a>, <a href="../../../javax/xml/soap/SOAPElement.html#addNamespaceDeclaration-java.lang.String-java.lang.String-">addNamespaceDeclaration</a>, <a href="../../../javax/xml/soap/SOAPElement.html#addTextNode-java.lang.String-">addTextNode</a>, <a href="../../../javax/xml/soap/SOAPElement.html#createQName-java.lang.String-java.lang.String-">createQName</a>, <a href="../../../javax/xml/soap/SOAPElement.html#getAllAttributes--">getAllAttributes</a>, <a href="../../../javax/xml/soap/SOAPElement.html#getAllAttributesAsQNames--">getAllAttributesAsQNames</a>, <a href="../../../javax/xml/soap/SOAPElement.html#getAttributeValue-javax.xml.soap.Name-">getAttributeValue</a>, <a href="../../../javax/xml/soap/SOAPElement.html#getAttributeValue-javax.xml.namespace.QName-">getAttributeValue</a>, <a href="../../../javax/xml/soap/SOAPElement.html#getChildElements--">getChildElements</a>, <a href="../../../javax/xml/soap/SOAPElement.html#getChildElements-javax.xml.soap.Name-">getChildElements</a>, <a href="../../../javax/xml/soap/SOAPElement.html#getChildElements-javax.xml.namespace.QName-">getChildElements</a>, <a href="../../../javax/xml/soap/SOAPElement.html#getElementName--">getElementName</a>, <a href="../../../javax/xml/soap/SOAPElement.html#getElementQName--">getElementQName</a>, <a href="../../../javax/xml/soap/SOAPElement.html#getEncodingStyle--">getEncodingStyle</a>, <a href="../../../javax/xml/soap/SOAPElement.html#getNamespacePrefixes--">getNamespacePrefixes</a>, <a href="../../../javax/xml/soap/SOAPElement.html#getNamespaceURI-java.lang.String-">getNamespaceURI</a>, <a href="../../../javax/xml/soap/SOAPElement.html#getVisibleNamespacePrefixes--">getVisibleNamespacePrefixes</a>, <a href="../../../javax/xml/soap/SOAPElement.html#removeAttribute-javax.xml.soap.Name-">removeAttribute</a>, <a href="../../../javax/xml/soap/SOAPElement.html#removeAttribute-javax.xml.namespace.QName-">removeAttribute</a>, <a href="../../../javax/xml/soap/SOAPElement.html#removeContents--">removeContents</a>, <a href="../../../javax/xml/soap/SOAPElement.html#removeNamespaceDeclaration-java.lang.String-">removeNamespaceDeclaration</a>, <a href="../../../javax/xml/soap/SOAPElement.html#setElementQName-javax.xml.namespace.QName-">setElementQName</a>, <a href="../../../javax/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.javax.xml.soap.Node">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;javax.xml.soap.<a href="../../../javax/xml/soap/Node.html" title="interface in javax.xml.soap">Node</a></h3>
<code><a href="../../../javax/xml/soap/Node.html#detachNode--">detachNode</a>, <a href="../../../javax/xml/soap/Node.html#getParentElement--">getParentElement</a>, <a href="../../../javax/xml/soap/Node.html#getValue--">getValue</a>, <a href="../../../javax/xml/soap/Node.html#recycleNode--">recycleNode</a>, <a href="../../../javax/xml/soap/Node.html#setParentElement-javax.xml.soap.SOAPElement-">setParentElement</a>, <a href="../../../javax/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>
<!-- ========= 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="../../../javax/xml/soap/SOAPFault.html" title="interface in javax.xml.soap"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../javax/xml/soap/SOAPHeader.html" title="interface in javax.xml.soap"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?javax/xml/soap/SOAPFaultElement.html" target="_top">Frames</a></li>
<li><a href="SOAPFaultElement.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>Method</li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li>Method</li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>
