WCF 異常:無法打開安全通道,因為與遠程終結點的安全協商已失敗。這可能是由於用於創建通道的 EndpointAddress 中不存在 EndpointIdentity ....


 

遇到這個問題我的第一反應就是客戶端和服務端的配置不同造成的。

如果是通過VS引用服務地址的方式添加的服務只要更新服務引用后這個問題就解決了。

但是如果是通過自己手寫代碼調用就要注意

檢查一下EndpointAddress 中EndpointIdentity客戶端服務器設置是否統一,另外確認兩端的安全級別一致。

例如 :我在服務端配置中設置了

      <wsHttpBinding>
        <binding name="NoneSecurity"
          <security mode="None"/>
        </binding>
      </wsHttpBinding>

客戶端代碼中就要相同的定義安全級別,而不單單是binding和Address 還有Security  

        WSHttpBinding WShb = new WSHttpBinding();//使用協議與服務端相同
        WShb.Security.Mode = SecurityMode.None; //安全級別
        EndpointAddress epo = new EndpointAddress("http://192.168.1.159:8080/Service.svc");//指定WCF服務地址

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM