【发布时间】:2019-08-31 16:10:25
【问题描述】:
当我调试 Web 服务项目(在 Visual Studio 中)“测试客户端 WCF”启动时,有一个 Web 服务(WCF 服务库)(所以我猜它是通过测试客户端托管的)。我有一个名为“Test”的 Web 服务方法,它返回字符串。当我使用测试客户端 WCF“调用”该方法时 - 它可以工作。
当我想将浏览器用作客户端时。我去http://localhost:9001/Name/WebService/WebAPI,我看到了网络服务(带有一些方法信息的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'
(不幸的是,我现在无法访问网络服务,所以我不知道错误的数量和确切的消息,但除了内容类型之外没有其他信息)。所以我将请求标头更改为'application/soap+xml; charset=utf-8',但随后出现错误——这告诉我:
消息无法在接收方处理,因为 EndpointDispatcher 处的 AddressFilter 不匹配。检查 发送方和接收方的 EndpointAddresses 一致
(或者类似的东西 - 我必须把它翻译成英文)
我还尝试了使用现有服务的“JavaScript 客户端”,这是我在 Internet 上找到的并使用 text/xml 内容类型。而且效果很好。
请问您有什么建议 - 如何用 JavaScript 调用 Test 方法?谢谢。
【问题讨论】:
标签: javascript c# wcf soap wcf-library