我遵循了此代码项目sample 在使用JQuery中的wsHttpBinding公开服务部分,它写道:
使用“wsHttpBinding”绑定公开的服务实现了WS-Security WS- *系列Web服务规范。由于绑定使用 安全性,请求将被拒绝。无法调用该服务 没有在JQuery端实现WS-Security。所以,为了打电话 服务方法,我们必须妥协安全。
他们正在实施一个非安全<wsHttpBinding>
端点。
但我希望<wsHttpBinding>
<security mode="Message">
为<security mode="None">
此偏离过程不起作用并返回以下错误:
无法处理邮件。这很可能是因为 行动 'http://www.enghouse.com/CosmoCom/WebAdminAPIServiceLibrary/IQueue/GetAllQueues' 不正确或因为邮件包含无效或过期 安全上下文令牌或因为它们之间存在不匹配 绑定。如果服务,安全上下文令牌将无效 由于不活动而中止了频道。防止服务 中止空闲会话过早地增加接收超时 服务端点的绑定。
如果我将其更改为<security mode="Message">
,则效果非常好。
所以我的问题是如何实施{{1}}? 我需要做什么?
谢谢!
答案 0 :(得分:2)
Check out Ws.js。它是一个帮助实现ws-security的JavaScript库。
就个人而言,如果我必须将Web客户端与我没有源代码的现有WCF服务集成,我个人也会这样做。开销太大,无法为Web客户端维护SOAP协议和WCF安全性,而没有任何额外的好处。如果您控制此服务的源,我将使用ASP.NET Web API为Web客户端提供REST API,并使用SSL和HTTP基本安全性。