close

錯誤內容:發出 HTTP 要求時發生錯誤。這可能是在 HTTPS 的情況下,未在 HTTP.SYS 正確設定伺服器憑證所造成。也可能是用戶端與伺服器之間的安全性繫結不相符所造成。


發生原因:

1.用WebService資料傳輸的時候,自己local client 端所參考的WebService並沒有設定好。

發出去的是 https://test.com,但卻跟Reference 裡面參考的路徑不一樣,所以會出現錯誤。

2.根據webconfig 設定的<security> 不同也可會出現這樣的錯誤。(以下是我當時,沒改參考檔案時,的<security>寫法)

<binding name="TargetService">
        <security mode="Transport" />
 </binding>

解法:

把專案參考的WSDL,參考檔相關的路徑都改成https的路徑。

更改Webconfig

這部分的設定是,系統設定asmx的時候,自己新增的屬性,所以我想成是我把別人的地址記在自己手機裡。

1.確認目標Server的驗證方式是哪一種mode。並在webconfig更改 <security mode="Transport" /> ,是甚麼mode就改甚麼mode,基本上只會有四種mode。

2.<client><endpoiint>的address 把 address 調成與目標Server 相同。

更改WSDL

1.調整參考的WSDL 檔案,調整以下反黃處,這邊是只參考的service端路徑,這邊我是想成別人server分享給我的路徑位址,而要打資料的時候會參考自己手機的和別人分享給我的路徑,這兩個路徑要一樣不然會出錯,而wsdl的路徑也要跟遠端的server路徑一樣。

<wsdl:service name="ReferenceServerName">
    <wsdl:port name="ReferenceServerNameSoap" binding="ReferenceServerNameSoap">
      <soap:address location="https://192.168.0.XX/test/ReferenceServerName.asmx" />
    </wsdl:port>
  </wsdl:service>

 

 

 

 

 

arrow
arrow
    文章標籤
    https http 伺服器憑證
    全站熱搜
    創作者介紹
    創作者 阿駿 的頭像
    阿駿

    阿駿的部落格

    阿駿 發表在 痞客邦 留言(0) 人氣()