C# 您可以使用SOAP和WSHttpBinding对WCF服务进行jQuery调用吗?

C# 您可以使用SOAP和WSHttpBinding对WCF服务进行jQuery调用吗?,c#,javascript,.net,jquery,wcf,C#,Javascript,.net,Jquery,Wcf,我可以使用SOAP和WSHttpBinding对WCF服务进行JQuery调用吗 如果是,怎么做?(网上有什么例子吗?)如果没有,为什么没有 正如你所看到的,我无法让它工作 我需要能够使用WSHttpBinding,以便能够支持SAML和WS-Security。据我所知,basicHTTPBinding不支持ws-Security 所有其他示例都使用json(我可以很容易地使用json)或basicHttpBinding 我需要使用SOAP和ws-Security来遵守OGC 07-118r8标

我可以使用SOAP和WSHttpBinding对WCF服务进行JQuery调用吗

如果是,怎么做?(网上有什么例子吗?)如果没有,为什么没有

正如你所看到的,我无法让它工作

我需要能够使用WSHttpBinding,以便能够支持SAML和WS-Security。据我所知,basicHTTPBinding不支持ws-Security

所有其他示例都使用json(我可以很容易地使用json)或basicHttpBinding


我需要使用SOAP和ws-Security来遵守OGC 07-118r8标准。

您无法在JavaScript中实现ws*


最好的选择是在服务器上创建另一个绑定,并将其公开为基本HTTP或更好的WCF REST。

理论上应该是可能的。我假设目前您已经知道如何获取SAML令牌并处理WS-Security。WSHttpBinding默认为SOAP1.2,因此请查看http绑定规范,了解如何使用jquery:构造请求,或者在WSHttpBinding上设置EnveloperVersion.Soap11。祝你好运

有了类似WS-*的东西和WCF的复杂性,创建一个简单的jQuery异步回调到站点上另一个可以利用.NET内置WS-Security库的页面不是更容易吗?从那里,您可以启动对WCF端点的调用,处理结果,并将其作为易于读取的响应返回给jQuery函数

我发现一些文章提到了你在做什么。听起来您必须先编写自己的WS-Security jQuery库,然后才能直接从JavaScript开始工作(我想这对您来说可能是不切实际的):

“使用“wsHttpBinding”绑定公开的服务实现了WS-*系列web服务规范的WS-Security。由于绑定使用了安全性,请求将被拒绝。如果不在JQuery端实现WS-Security,则无法调用该服务。因此,为了调用该服务方法,我们必须对安全性进行妥协。”

“…wsHttpBinding,这是一种不适用于AJAX的SOAP绑定。”


我认为jQuery已经变得如此流行,以至于人们试图在JS端做太多服务器端的事情。您需要定义边界并确定清楚区分这两个世界的界线。然后使用javascript如何调用web服务?不是一个选项。。。客户需要通过WS-*而不是rest与我通信。我们需要遵循我的问题中提到的一个标准。那么你想用JavaScript实现所有的加密吗?如果可以的话,你可能会很富有,因为你会打开很多可能性,但我不知道是否有这样的事情发生。我明白你的意思。。。所以你说Javascript客户端应该调用一个本地(未加密,但谁在乎,因为它是本地的?)WCF REST Web服务,该服务反过来通过SAML/WCF SOAP对远程服务器进行SAML身份验证?我还没有弄清楚SAML令牌部分。我想我最好先走路再跑步。所以我想得到一个基本的通讯服务。我是WCF的新手,所以我没有设置任何EnveloperVersion.Soap11,但我会考虑这样做。谢谢。我会首先找出SAML/WS安全性部分,因为这是该方法的更大风险。我个人不确定这是否可行。一个更简单的方法是公开另一个特定于js消费的WCF端点,并使用它,正如其他一些人所建议的那样。