<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-128  評論-55  文章-5  trackbacks-0
        WS-BaseFault協議

    WS-BaseFault協議描述了一個標準的錯誤報告機制,定義了一個返回錯誤信息的基本錯誤類型。并且提供了一種方法,為更多的特定目的擴展該基本格式,而不改變最初的結構。錯誤消息格式的一致性,使得各種錯誤更加容易被理解和處理。

    1.1.1.1    BaseFault

    中心概念是 BaseFault 的概念BaseFault 類似于下面這樣:

    <BaseFault>

          <Timestamp>2005-2-15T03:24:57</Timestamp>

          <OriginatorReference>

              <wsa:EndpointReference xmlns:wsa="http://www.w3.org/2005/02/addressing"

                                   xmlns:sat="http://example.org/satelliteSystem">

                 <wsa:Address>http://example.com/satellite</wsa:Address>

                 <wsa:ReferenceProperties>

                     <sat:SatelliteId>SAT9928</sat:SatelliteId>

                 </wsa:ReferenceProperties>

             </wsa:EndpointReference>

          </OriginatorReference>

          <ErrorCode dialect="http://www.example.com/NeutronErrorMessages">

              PolarityUnchangedError

          </ErrorCode>

          <Description>Unable to reverse the polarity of the neutron flow! </Description>

    </BaseFault>

    所有這些值都是可選的,只有 Timestamp 除外,它指出故障是何時實際發生的。OriginatorReference 是對產生故障的 Web 服務的端點引用,而 ErrorCode Description 描述實際的問題。dialect 屬性是一個 URL,使我們可以指定如何解釋 ErrorCode。提及的協議映射錯誤代碼到(比如) POSIX errno 消息。

    我們也可以添加包含其他 BaseFault FaultCause 元素。這使我們可以將錯誤鏈接在一起。

    1.1.1.2    擴展BaseFault

    創建新的故障

    您可以照原來的樣子使用 BaseFault,讓客戶機應用程序解析信息并確定問題,但是更通常的情況是擴展 BaseFault 以創建更多特定的故障。我們做到這一點的方式是,使用 XML 模式來創建新的類型。例如,我們可以像下面這樣創建新的 SatelliteNotRespondingFault

    <xsd:complexType  name="SatelliteNotRespondingFaultType">

      <xsd:complexContent>

        <xsd:extension base="wsbf:BaseFaultType">

           <xsd:sequence>

              <xsd:element name="LastReboot" type="xsd:dateTime" />

           </xsd:sequence>

        </xsd:extension>

      </xsd:complexContent>

    </xsd:complexType>

    <xsd:element name="SatelliteNotRespondingFault" type="wsrl:SatelliteNotRespondingFaultType"/>

    這允許我們返回一個故障,比如:

     

    <SatelliteNotRespondingFault>

        <Timestamp>2005-2-15T03:24:57</Timestamp>

        <Description>Cannot connect to satellite</Description>

        <LastReboot>2005-2-10T09:43:02</LastReboot>

    </SatelliteNotRespondingFault>

    在本例中,我們以LastReboot元素的形式提供了額外的信息,但這是一個SatelliteNotRespondingFault,幾乎給客戶機提供了所有信息。實際上,WSRF 協議定義的大多數故障只是擴展 BaseFault 以創建新命名的故障,并不添加任何附加的信息。只要知道返回了哪種類型的故障,就提供了所有必需的信息。

    1.1.1.3    WSRF中定義的錯誤

    下面我們來看 WSRF 協議定義的不同類型的故障。

    WSRF 故障:WS-ResourceProperties

    WS-ResourceProperties 協議定義了以下故障,以作為適當事件的響應發送:

    l        ResourceUnknownFault:該故障適用于所有各種操作,并指出 Web 服務不認識指向端點引用的消息。

    l        InvalidResourcePropertyQName:當請求一個或多個屬性時,該故障指出客戶機試圖獲得或設置所操作的 WS-Resource 上不存在的 ResourceProperty

    l        InvalidSetResourcePropertiesRequestContent:在這種情況下,SetResourcePropertyRequest 中發送的數據不符合適當資源屬性文檔的模式。

    l        UnableToModifyResourceProperty:在這種情況下,客戶機試圖設置的資源屬性是只讀的。

    l        SetResourcePropertyReqestFailed:這是一個一般錯誤,指出服務器不能添加或更改資源屬性。

    l        UnknownQueryExpressionDialect:當查詢資源屬性時,該故障指出客戶機試圖以服務不認識的方言(dialect)評估查詢。因此,定義了 XPath V1.0 V2.0

    l        InvalidQueryExpression:在這種情況下,查詢不符合指定的方言。

    l        QueryEvaluationError:這是一個一般錯誤,指出在處理查詢時出現了錯誤。

     

    WSRF 故障:WS-ResourceLifetime

    WS-ResourceLifetime 協議定義了四種與 WS-Resource 的即時銷毀或預定銷毀有關的故障:

    l        ResourceUnknownFault:與 WS-ResourceProperties 中一樣,該故障指出客戶機試圖訪問不存在的或者 Web 服務不知道的 WS-Resource

    l        ResourceNotDestroyedFault:該故障指出,WS-Resource 沒有被銷毀。實際的錯誤消息可能會給出更多的解釋信息。

    l        UnableToSetTerminationTimeFault:這是一個一般故障,指出服務不能做出請求的更改。

    l        TerminationTimeChangeRejectedFault:在這種情況下,客戶機試圖做出不符合 WS-Resource 的內部規則的更改。

     

    WSRF 故障:WS-ServiceGroup

    WS-ServiceGroup 協議定義了三種故障:

    l        UnsupportedMemberInterfaceFault:該故障指出,客戶機試圖添加的服務不實現任何所需的 portType

    l        ContentCreationFailedFault:在這種情況下,添加 Web 服務的請求不具有適當的 Content 元素,如 ServiceGroup MembershipContentRule 中所定義的。

    l        AddRefusedFault:這是一個一般故障,指出資源不能被添加。

     



    Author: orangelizq
    email: orangelizq@163.com

    歡迎大家訪問我的個人網站 萌萌的IT人
    posted on 2009-07-19 15:49 桔子汁 閱讀(424) 評論(0)  編輯  收藏 所屬分類: Web Service
    主站蜘蛛池模板: 女人张腿给男人桶视频免费版| 国产午夜免费高清久久影院| 久久久久久精品免费免费自慰| 亚洲AV无码一区二区二三区软件| a一级毛片免费高清在线| 无码国产亚洲日韩国精品视频一区二区三区 | 伊人免费在线观看| 中文亚洲AV片不卡在线观看| 国产精品无码永久免费888| 亚洲国产日韩成人综合天堂| 一级黄色免费网站| 亚洲精品高清国产一线久久| 中文字幕免费在线看线人动作大片 | 亚洲尹人九九大色香蕉网站| 无人在线观看免费高清| 亚洲第一区香蕉_国产a| 最近2022中文字幕免费视频| 亚洲成a人片77777群色| 啦啦啦高清视频在线观看免费| 中国china体内裑精亚洲日本| 免费黄色毛片视频| 国产天堂亚洲精品| 国产亚洲精品观看91在线| 国产精品免费AV片在线观看| 亚洲视频一区二区三区| 黄色成人网站免费无码av| 亚洲av日韩专区在线观看| 亚洲成a人片在线观看老师| 中文字幕无线码免费人妻| 亚洲精品资源在线| 免费无码黄网站在线观看| www永久免费视频| 亚洲麻豆精品果冻传媒| 日本19禁啪啪无遮挡免费动图| 一级毛片成人免费看a| 亚洲人成在线电影| 日本xxwwxxww在线视频免费| 中国性猛交xxxxx免费看| 亚洲人成电影在线观看青青| 日本特黄a级高清免费大片| 中文在线观看国语高清免费|