<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協(xié)議

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

    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 除外,它指出故障是何時實際發(fā)生的。OriginatorReference 是對產(chǎn)生故障的 Web 服務的端點引用,而 ErrorCode Description 描述實際的問題。dialect 屬性是一個 URL,使我們可以指定如何解釋 ErrorCode。提及的協(xié)議映射錯誤代碼到(比如) POSIX errno 消息。

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

    1.1.1.2    擴展BaseFault

    創(chuàng)建新的故障

    您可以照原來的樣子使用 BaseFault,讓客戶機應用程序解析信息并確定問題,但是更通常的情況是擴展 BaseFault 以創(chuàng)建更多特定的故障。我們做到這一點的方式是,使用 XML 模式來創(chuàng)建新的類型。例如,我們可以像下面這樣創(chuàng)建新的 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 協(xié)議定義的大多數(shù)故障只是擴展 BaseFault 以創(chuàng)建新命名的故障,并不添加任何附加的信息。只要知道返回了哪種類型的故障,就提供了所有必需的信息。

    1.1.1.3    WSRF中定義的錯誤

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

    WSRF 故障:WS-ResourceProperties

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

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

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

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

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

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

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

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

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

     

    WSRF 故障:WS-ResourceLifetime

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

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

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

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

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

     

    WSRF 故障:WS-ServiceGroup

    WS-ServiceGroup 協(xié)議定義了三種故障:

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

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

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

     



    Author: orangelizq
    email: orangelizq@163.com

    歡迎大家訪問我的個人網(wǎng)站 萌萌的IT人
    posted on 2009-07-19 15:49 桔子汁 閱讀(438) 評論(0)  編輯  收藏 所屬分類: Web Service
    主站蜘蛛池模板: 岛国岛国免费V片在线观看| 曰韩无码AV片免费播放不卡| 亚洲一区电影在线观看| 亚洲一日韩欧美中文字幕在线 | 亚洲福利视频网站| 亚洲国产AV一区二区三区四区| 美女网站在线观看视频免费的| 国产大片线上免费观看| 免费观看日本污污ww网站一区| 亚洲成AV人片在线播放无码| 亚洲日韩乱码中文字幕| 亚洲免费视频在线观看| 国产人成免费视频| 污视频网站免费在线观看| 最新欧洲大片免费在线| 亚洲熟妇AV一区二区三区宅男| 成年18网站免费视频网站| 67pao强力打造67194在线午夜亚洲 | 永久免费观看的毛片的网站| 黑人精品videos亚洲人| 免费福利资源站在线视频| 亚洲男人的天堂一区二区| 亚洲偷自拍另类图片二区| 成人爱做日本视频免费| 67194在线午夜亚洲| 99热在线精品免费播放6| 亚洲女初尝黑人巨高清| 老司机午夜免费视频| 成人网站免费观看| 亚洲毛片在线免费观看| 在线免费观看污网站| 亚洲夂夂婷婷色拍WW47| 亚洲人妻av伦理| rh男男车车的车车免费网站 | 久久精品免费一区二区三区| 亚洲人成人无码网www国产| 国产麻豆一精品一AV一免费| 亚洲Av高清一区二区三区| 亚洲国产91精品无码专区| 无码天堂va亚洲va在线va| 免费欧洲美女牲交视频|