Module  java.xml.ws
软件包  javax.xml.soap

Interface SOAPFault

  • All Superinterfaces:
    ElementNodeNodeSOAPBodyElementSOAPElement


    public interface SOAPFault
    extends SOAPBodyElement
    SOAPBody对象中包含错误和/或状态信息的元素。 该信息可能与SOAPMessage对象中的错误或与消息本身内容无关的问题有关。 与消息本身无关的问题通常是处理中的错误,例如不能与上游服务器进行通信。

    取决于protocol而创建指定MessageFactory例如, SOAPFault具有如在SOAP 1.1 / SOAP 1.2规范中定义的子元素。

    从以下版本开始:
    1.6
    • 方法详细信息

      • setFaultCode

        void setFaultCode​(Name faultCodeQName)
                   throws SOAPException
        使用给定的故障代码设置此SOAPFault对象。

        在SOAP 1.1规范中定义了有关故障信息的故障代码。 故障代码是必需的,必须是Name型。 该方法提供了设置故障代码的便捷方式。 例如,

           SOAPEnvelope se = ...; // Create a qualified name in the SOAP namespace with a localName // of "Client". Note that prefix parameter is optional and is null // here which causes the implementation to use an appropriate prefix. Name qname = se.createName("Client", null, SOAPConstants.URI_NS_SOAP_ENVELOPE); SOAPFault fault = ...; fault.setFaultCode(qname);  
        最好使用这种方法超过setFaultCode(String)
        参数
        faultCodeQName - 给出要设置故障代码的Name对象。 它必须是命名空间限定的。
        异常
        SOAPException - 如果将 faultcode元素添加到底层XML树中有错误。
        从以下版本开始:
        1.6,SAAJ 1.2
        另请参见:
        getFaultCodeAsName()
      • getFaultCodeAsName

        Name getFaultCodeAsName​()
        获取此SOAPFault对象的必需SOAP 1.1故障代码作为SAAJ Name对象。 SOAP 1.1规范要求“faultcode”元素的值为QName类型。 此方法以SAAJ Name对象的形式将元素的内容作为QName返回。 应该使用这种方法来代替getFaultCode方法,因为它允许应用程序轻松访问命名空间名称,而无需额外的解析。
        结果
        一个表示 Name
        从以下版本开始:
        1.6,SAAJ 1.2
        另请参见:
        setFaultCode(Name)
      • getFaultCodeAsQName

        QName getFaultCodeAsQName​()
        获取此 SOAPFault对象的故障代码作为 QName对象。
        结果
        一个 QName代表 QName代码
        从以下版本开始:
        1.6,SAAJ 1.3
        另请参见:
        setFaultCode(QName)
      • getFaultSubcodes

        Iterator<QName> getFaultSubcodes​()
        获取SOAPFault的子 SOAPFault作为迭代器超过 QNames
        结果
        一个Iterator访问的序列QNames 这个Iterator不应该支持可选的remove方法。 子代码的返回顺序反映了从上到下的故障中存在的子代码的层次结构。
        异常
        UnsupportedOperationException - 如果此消息不支持SOAP 1.2的子代码概念。
        从以下版本开始:
        1.6,SAAJ 1.3
      • removeAllFaultSubcodes

        void removeAllFaultSubcodes​()
        删除此SOAPFault可能包含的SOAPFault getFaultSubcodes后续调用将返回一个空的迭代器,直到调用appendFaultSubcode为止。
        异常
        UnsupportedOperationException - 如果此消息不支持SOAP 1.2概念的子代码。
        从以下版本开始:
        1.6,SAAJ 1.3
      • appendFaultSubcode

        void appendFaultSubcode​(QName subcode)
                         throws SOAPException
        将子代码添加到此SOAPFault所包含的子代码序列的SOAPFault 在SOAP 1.2中引入的子代码由基于SOAP Fault的强制代码子元素的子元素的递归序列表示。
        参数
        subcode - 包含子代码值的QName。
        异常
        SOAPException - 如果设置子代码时出错
        UnsupportedOperationException - 如果此消息不支持SOAP 1.2概念的子代码。
        从以下版本开始:
        1.6,SAAJ 1.3
      • setFaultActor

        void setFaultActor​(String faultActor)
                    throws SOAPException
        使用给定的故障演员设置此SOAPFault对象。

        故障演员是导致故障发生的消息路径中的接收者。

        如果这个SOAPFault支持SOAP 1.2,那么这个调用相当于setFaultRole(String)

        参数
        faultActor - a String识别导致该 SOAPFault对象的演员
        异常
        SOAPException - 如果将 faultActor添加到底层XML树中有错误。
        另请参见:
        getFaultActor()
      • getFaultActor

        String getFaultActor​()
        获取此SOAPFault对象的故障演员。

        如果这个SOAPFault支持SOAP 1.2,那么这个调用相当于getFaultRole()

        结果
        一个 String给导致这个 SOAPFault对象的消息路径中的 SOAPFault
        另请参见:
        setFaultActor(java.lang.String)
      • setFaultString

        void setFaultString​(String faultString)
                     throws SOAPException
        将此SOAPFault对象的故障字符串设置为给定的字符串。

        如果这个SOAPFault是支持SOAP 1.2的消息的一部分,那么这个调用相当于:

           addFaultReasonText(faultString, Locale.getDefault());  
        参数
        faultString - a String给出了故障的解释
        异常
        SOAPException - 如果将 faultString添加到底层XML树中有错误。
        另请参见:
        getFaultString()
      • setFaultString

        void setFaultString​(String faultString,
                            Locale locale)
                     throws SOAPException
        将此SOAPFault对象的故障字符串设置为给定的字符串,并将其定位到给定的区域设置。

        如果这个SOAPFault是支持SOAP 1.2的消息的一部分,则此调用等同于:

           addFaultReasonText(faultString, locale);  
        参数
        faultString - a String给出了故障的解释
        locale -一个Locale对象,指示的母语faultString
        异常
        SOAPException - 如果将 faultString添加到底层XML树中有错误。
        从以下版本开始:
        1.6,SAAJ 1.2
        另请参见:
        getFaultString()
      • getFaultString

        String getFaultString​()
        获取此SOAPFault对象的故障字符串。

        如果这个SOAPFault是支持SOAP 1.2的消息的一部分,那么这个调用相当于:

           String reason = null; try { reason = (String) getFaultReasonTexts().next(); } catch (SOAPException e) {} return reason;  
        结果
        一个 String给出了故障的解释
        另请参见:
        setFaultString(String)setFaultString(String, Locale)
      • getFaultStringLocale

        Locale getFaultStringLocale​()
        获取此SOAPFault对象的故障字符串的区域设置。

        如果这个SOAPFault是支持SOAP 1.2的消息的一部分,则此调用等效于:

           Locale locale = null; try { locale = (Locale) getFaultReasonLocales().next(); } catch (SOAPException e) {} return locale;  
        结果
        一个表示故障字符串的母语的 Locale对象,如果没有指定语言环境, null
        从以下版本开始:
        1.6,SAAJ 1.2
        另请参见:
        setFaultString(String, Locale)
      • hasDetail

        boolean hasDetail​()
        如果这个SOAPFault有一个Detail子元素,则返回true,否则返回false。 相当于(getDetail()!=null)
        结果
        如果这个 SOAPFault有一个 Detail子元素, Detail true,否则为false。
        从以下版本开始:
        1.6,SAAJ 1.3
      • getDetail

        Detail getDetail​()
        返回此SOAPFault对象的可选detail元素。

        一个Detail对象携带应用程序特定的错误信息,如果这是一个SOAP 1.1故障,则错误信息的范围仅限于SOAPBodyElement对象中的故障。

        结果
        一个 Detail对象,如果存在应用程序特定的错误信息,否则为空
      • addDetail

        Detail addDetail​()
                  throws SOAPException
        创建可选的Detail对象,并将其设置为Detail对象的SOAPFault对象。

        当故障已包含详细信息时,添加详细信息是非法的。 因此,只有在删除现有的细节之后才应该调用此方法。

        结果
        新的 Detail对象
        异常
        SOAPException - 如果此 SOAPFault对象已包含有效的 Detail对象
      • getFaultReasonLocales

        Iterator<Locale> getFaultReasonLocales​()
                                        throws SOAPException
        返回一个Iterator了独特序列Locale对此有关联Reason Text项秒。 任何这些Locale可用于调用getFaultReasonText以获取本地化版本的原因文本字符串。
        结果
        一个 IteratorLocale对象,其中有相关的原因文本项目。
        异常
        SOAPException - 如果在检索故障原因区域设置时出现错误。
        UnsupportedOperationException - 如果此消息不支持SOAP 1.2故障原因概念。
        从以下版本开始:
        1.6,SAAJ 1.3
      • getFaultReasonTexts

        Iterator<String> getFaultReasonTexts​()
                                      throws SOAPException
        String对象序列中返回 Iterator ,其中包含此 SOAPFault所有原因文本项。
        结果
        一个 Iterator在env:Fault / env:Reason / env:文本项目。
        异常
        SOAPException - 如果在检索故障原因文本时出现错误。
        UnsupportedOperationException - 如果此消息不支持SOAP 1.2故障原因概念。
        从以下版本开始:
        1.6,SAAJ 1.3
      • getFaultReasonText

        String getFaultReasonText​(Locale locale)
                           throws SOAPException
        返回与给定的Locale相关联的原因文本。 如果存在多个此类原因文本,则返回第一个匹配的文本
        参数
        locale - - 需要本地化原因文本的 Locale
        结果
        locale相关联的原因文本
        异常
        SOAPException - 如果在检索故障原因文本中指定区域设置时出现错误。
        UnsupportedOperationException - 如果此消息不支持SOAP 1.2故障原因概念。
        从以下版本开始:
        1.6,SAAJ 1.3
        另请参见:
        getFaultString()
      • addFaultReasonText

        void addFaultReasonText​(String text,
                                Locale locale)
                         throws SOAPException
        追加或替换包含指定文本消息的原因文本项和从locale派生的xml:lang 如果具有此xml:lang的原因文本项目已存在,则其文本值将替换为text locale参数不应为null

        代码示例:

           SOAPFault fault = ...; fault.addFaultReasonText("Version Mismatch", Locale.ENGLISH);  
        参数
        text - - 原因消息字符串
        locale - - 表示消息的区域设置的区域设置对象
        异常
        SOAPException - 如果在添加原因文本时出现错误,或者传递的 localenull
        UnsupportedOperationException - 如果此消息不支持SOAP 1.2故障原因概念。
        从以下版本开始:
        1.6,SAAJ 1.3
      • getFaultNode

        String getFaultNode​()
        返回此SOAPFault对象的可选Node元素值。 Node元素在SOAP 1.2中是可选的。
        结果
        env:Fault / env:Node元素作为字符串的 null如果没有, null
        异常
        UnsupportedOperationException - 如果此消息不支持故障节点的SOAP 1.2概念。
        从以下版本开始:
        1.6,SAAJ 1.3
      • setFaultNode

        void setFaultNode​(String uri)
                   throws SOAPException
        创建或替换此SOAPFault对象的任何现有Node元素值。 Node元素在SOAP 1.2中是可选的。
        参数
        uri - - 节点的URI
        异常
        SOAPException - 如果为此 SOAPFault对象设置节点时 SOAPFault
        UnsupportedOperationException - 如果此消息不支持故障节点的SOAP 1.2概念。
        从以下版本开始:
        1.6,SAAJ 1.3
      • getFaultRole

        String getFaultRole​()
        返回此SOAPFault对象的可选Role元素值。 Role元素在SOAP 1.2中是可选的。
        结果
        env的内容:Fault / env:角色元素作为字符串或 null如果没有)
        异常
        UnsupportedOperationException - 如果此消息不支持SOAP 1.2概念的故障角色。
        从以下版本开始:
        1.6,SAAJ 1.3
      • setFaultRole

        void setFaultRole​(String uri)
                   throws SOAPException
        创建或替换此SOAPFault对象的任何现有Role元素值。 Role元素在SOAP 1.2中是可选的。
        参数
        uri - - 角色的URI
        异常
        SOAPException - 如果在设置此 SOAPFault对象的角色时 SOAPFault
        UnsupportedOperationException - 如果此消息不支持SOAP 1.2概念的故障角色。
        从以下版本开始:
        1.6, SAAJ 1.3