网络服务电话

时间:2011-09-30 15:05:11

标签: c# web-services

我是webservices的新手。所以,我有网络服务:

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

    [OperationContract]
    void CloseTranslationSession(StatisticsInfo info);
}

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

2 个答案:

答案 0 :(得分:2)

您似乎正在尝试从JavaScript调用SOAP服务。 this StackOverflow问题中的答案可能有所帮助。

其他信息:

只需在谷歌上快速搜索以下字符串“从JS调用soap”,似乎除了上面提到的链接之外,还有很多库可以做到这一点。

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

SOAP服务主要由业务应用程序使用。消息大小非常大,协议本身也非常复杂。在Web世界中,使用REST Web服务。

如果您是该服务的所有者并且JS是将要使用它的主要位置,您应该考虑将其公开为REST而不是SOAP,并将数据作为JSON返回,这在JS中非常容易使用

Here您可以找到有关设置WCF REST服务的简短教程。

答案 1 :(得分:1)

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

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