JavaScript 和 WCF 服务库(WCF 测试客户端)之间的通信



当我调试Web服务项目(在Visual Studio中(时,有一个Web服务(WCF服务库(启动"测试客户端WCF"(所以我猜它是通过测试客户端托管的(。我有一个名为"测试"的 Web 服务方法,它返回字符串。当我使用测试客户端 WCF "调用"该方法时 - 它可以工作。

当我想使用浏览器作为客户端时。我去 http://localhost:9001/Name/WebService/WebAPI,我看到了 Web 服务(带有一些关于方法的信息的 xml(。现在我想使用 JavaScript 来调用该 Test 方法。

我创建了一个与此 https://stackoverflow.com/a/11404133 类似的客户端,并将sr变量(SOAP 请求(替换为请求,该请求位于"测试客户端 WCF"中测试方法的 XML 部分,对于 url,我选择了 http://localhost:9001/Name/WebService/WebAPI .我尝试了那个 JavaScript 客户端,但我遇到了一些客户端错误 -

content-type 'text-xml'无效,需要服务器'application/soap+xml; charset=utf-8'

(不幸的是,现在我无法访问 Web 服务,所以我不知道一些错误和确切的消息,但除了内容类型之外没有其他信息(。所以我将请求标头更改为'application/soap+xml; charset=utf-8',但后来我得到了错误——这告诉我:

消息无法在接收方处理,因为 端点调度程序的地址过滤器不匹配。检查 发送方和接收方的端点地址一致

(或类似的东西 - 我不得不将其翻译成英文(

我还尝试了"JavaScript客户端"与现有的服务,我在互联网上找到text/xml内容类型。而且它工作正常。

请问你有什么建议 - 如何使用JavaScript调用测试方法? 谢谢。

Javascript 中调用的服务称为 Restful 样式服务。WCF 也能够创建 Restful 风格的服务。但是我们需要设置某些类型的附加配置。当我们在Visual Studio中测试该服务时,该服务在IIS express中托管。 它使用默认绑定配置来托管服务(BasicHttpBinding(,称为 SOAP Web 服务。调用服务的通用方法是利用服务代理类,这就是 WCFTestClient 所做的。
如果我们想使用 JavaScript 调用服务,这里有一个简单的演示,希望它对您有用。请注意,项目模板是 WCF 服务应用程序,而不是服务库项目。

https://stackoverflow.com/questions/56873239/how-to-fix-err-aborted-400-bad-request-error-with-jquery-call-to-c-sharp-wcf/56879896#56879896 如果有什么我可以帮忙的,请随时告诉我。

最新更新