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

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

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

    靈魂-放水

    為學日益,為道日損。

    BlogJava 首頁 新隨筆 聯系 聚合 管理
      296 Posts :: 10 Stories :: 274 Comments :: 0 Trackbacks
         cnblogs里有篇帖子http://idior.cnblogs.com/articles/436801.htmlApplied WSE 3.0 to Web Service Project ),對于學習WS-Addressing是篇不錯的帖子。按照此貼的方法進行,在追蹤Soap消息時,拋出異常。在未開啟Client端WSE功能時,Soap Toolkit 3.0能追蹤到soap消息,而且,response顯示了wse的特性。

       
          為了使用Soap Toolkit 3.0,我們在WS client端輸入的目標地址為:http://localhost:8080/WSEWebService/Service.asmx
          Soap Toolkit 3.0設置為:
           
           Listen
           Local port:8080

           Forward to
           Destination:localhost
           Destination:80
           之所以這樣設置,因為在IIS里設置的本機Web Services為:http://localhost:80/WSEWebService/Service.asmx。Soap Toolkit 在8080端口監聽來自client端的消息,并將消息遞交到IIS監聽的80端口。

           可當開啟client端wse功能時,拋出如下異常:

    Microsoft.Web.Services3.Addressing.AddressingFault: Destination Unreachable ---&gt; System.Exception:

    WSE816:

    The &lt;To&gt; header must match the value of an incoming message's HTTP Request Url if the soap receiver does not have an actor name.

    The &lt;To&gt; header received contained "http://localhost:8080/WSEWebService/Service.asmx"

    while the HTTP Request Url was "http://localhost/WSEWebService/Service.asmx".


            查看 Soap Toolkit 監聽到的SOAP消息可以發現,Request消息的SoapHeader中, 目標地址仍然為<wsa:To>http://localhost:8080/WSEWebService/Service.asmx</wsa:To> ,而不是<wsa:To>http://localhost:80/WSEWebService/Service.asmx</wsa:To>.因此,destination不可達,拋出如上異常。
             在網上查了資料發現:
              “

    WS-Addressing moves the destination URL of the message into the message to enable routing and scenarios where messages are delivered over multiple protocols. Before WS-Addressing the URL of the destination was only available in the protocol part of the message. Is you were sending a SOAP message over HTTP, the URL was stored in the HTTP part of the message. You had no access to the URL from within your SOAP processor – unless your Web server vendor chose to give you access to the HTTP headers.

    Now with WS-Addressing built into WSE, the Web service platform can actually determine if a message was indeed intended for the service that received it because WSE adds the <to> element to the header of the SOAP message:

          <wsa:To xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing">

    http://MyServer/MyService/Service.asmx</wsa:To>

    WSE is actually being smart about the header and rejects messages where the destination in the <wsa:To> header and the URL in the HTTP header do not match.

    One unfortunate consequence of this behavior is that you cannot use transparent tracing tools like tcpTrace and MSSoapT for message debugging. These tools act like an intermediary receiver and they do cause the URLs in the <To> header and in the HTTP header to not match.

    ”,大概意思也就是MSSoapt(Soap Toolkit )不支持WSE中WS-Addressing<wsa:To>。所以在調試WSE提供的特性時,不能再用 tcpTrace或者MSSoapT這樣的工具來追蹤Soap消息。

             不過,好的消息是,WSE從2.0開始就提供了可以追蹤到SOAP消息的診斷工具。


    勾選Enable Message Trace,在調試過程中,將生成InputTrace.webinfo和OutputTrace.webinfo文件,里面記錄了我們想要的信息,到此,不需要借助其他Trace工具便可追蹤到Soap消息。
            
    posted on 2008-01-11 10:17 放水老倌 閱讀(1437) 評論(0)  編輯  收藏 所屬分類: Web Services&SOA
    主站蜘蛛池模板: 亚洲国产AV无码一区二区三区 | 国产AV无码专区亚洲AV男同| 在线人成免费视频69国产| 亚洲AV无一区二区三区久久| 国产成人免费爽爽爽视频| 成年网在线观看免费观看网址| 亚洲欧洲一区二区| 日产乱码一卡二卡三免费| 永久免费A∨片在线观看| 亚洲人成人网毛片在线播放| 超清首页国产亚洲丝袜| 99精品全国免费观看视频| 一级白嫩美女毛片免费| 亚洲伊人久久精品| 亚洲一区二区三区偷拍女厕| 一个人免费观看在线视频www| xxxxx做受大片在线观看免费| 亚洲13又紧又嫩又水多| 亚洲人成色7777在线观看| 日韩成全视频观看免费观看高清| 免费一级毛片无毒不卡| 激情婷婷成人亚洲综合| 蜜芽亚洲av无码精品色午夜| 免费在线观看污网站| 色se01短视频永久免费| 久久国产免费一区| 日日摸夜夜添夜夜免费视频| 亚洲av午夜精品无码专区| 国产亚洲色婷婷久久99精品| 情侣视频精品免费的国产 | 亚洲精品高清一二区久久| 99久久久国产精品免费无卡顿| 成人无码精品1区2区3区免费看| 亚洲精品无码av中文字幕| 亚洲电影免费观看| 亚洲精品成人网站在线观看 | 国产成人精品免费午夜app | 色欲国产麻豆一精品一AV一免费| 色屁屁www影院免费观看视频| 精品亚洲AV无码一区二区| 亚洲综合精品香蕉久久网97|