Web服务调用

本文关键字:调用 服务 Web | 更新日期: 2023-09-27 18:10:04

我是webservices的新手。因此,我有web service:

public interface IReportingService
{
    [OperationContract]
    void SendStatistics(StatisticsInfo info);
    [OperationContract]
    void CloseTranslationSession(StatisticsInfo info);
}

如果我去http://localhost/ReportingService.svc?wsdl,我可以看到一些xml。看起来很管用。现在我想从js中调用其中一个方法。我该怎么做呢?

Web服务调用

看起来您正在尝试从JavaScript调用SOAP服务。这个StackOverflow问题的答案可能有所帮助。

额外的信息:

只要在谷歌上做一个快速搜索下面的字符串"调用soap从JS",似乎有相当多的库做这一点,除了一个在上面提到的链接。

虽然我在web服务方面有相当多的经验,但由于我从未从JavaScript中调用过SOAP,因此我无法对特定的库提出建议。

SOAP服务主要由业务应用程序使用。消息大小相当大,协议本身在某些地方也相当复杂。在web REST的世界中,使用web服务代替。

如果你是服务的所有者,而JS是它将被消费的主要地方,你应该考虑将其暴露为REST而不是SOAP,并以JSON形式返回数据,这在JS中非常容易消费。

在这里你可以找到一个关于设置WCF REST服务的简短教程。

您可以使用Ajax(我建议使用JQuery)。

$.ajax({
  type: "POST",
  contentType: "application/json; charset=utf-8",
  url: "ReportingService.svc/SendStatistics",
  data: "{YouDataHere}",
  dataType: "json"
});