0

我正在阅读有关 WCF 服务的信息。我是 WCF 服务的新手。我读到 WCF 提供了互操作性。我想知道它在哪种情况下提供互操作性。它是否在从任何其他语言(例如 php)或任何不同目的使用 .net wcf Web 服务的上下文中提供互操作性。我已阅读以下文章。

http://blogs.msdn.com/b/drnick/archive/2006/11/27/mixing-message-contract-attributes.aspx

这样,如果我们通过传递或返回某些方法的 MessageContract 和某些方法的 DataContract 来为 wcf Web 服务中的所有方法提供 OperationContract,那么在 php 或任何其他语言中会发生什么?*以 DataContract 作为参数或返回类型的方法是否在 php 或任何其他语言中可用?或者以 MessageContract 作为参数或返回类型的方法是否在 php 或任何其他语言中可用?或者两者都可以在 php 或任何其他语言中使用 *

4

2 回答 2

1

它是否在从任何其他语言(例如 php)或任何不同目的使用 .net wcf Web 服务的上下文中提供互操作性。

互操作性意味着能够从非 .NET 平台调用 WCF 服务,只要客户端使用与您的服务相同的 Web 服务协议。请注意,您可以为 WCF 服务使用多种类型的绑定,但只有 BasicHttpBinding、WSHttpBinding 和 WSDualHttpBinding 支持互操作性。有关详细信息,请参阅 MSDN 文章系统提供的互操作性绑定支持的 Web 服务协议

以 DataContract 作为参数或返回类型的方法是否可以在 php 或任何其他语言中使用?或者以 MessageContract 作为参数或返回类型的方法是否在 php 或任何其他语言中可用?或者两者都可以在 php 或任何其他语言中使用

简短的回答是肯定的。例如,如果您使用 BasicHttpBinding,它就会全部变为 XML,这取决于该语言可用的库将 XML 转换为该语言的原生内容。例如,PHP SoapClient 将 DataContract 返回类型转换为内置的 stdClass 对象(请参阅Echo xml result from wcf service in php?)。

于 2012-06-05T10:54:51.427 回答
0

根据https://github.com/geersch/WcfServicesWithPhp5 ,至少 messagecontract 应该提供一个使用 PHP 的可行解决方案。

我可以在http://www.rizalalmashoor.com/blog/calling-a-wcf-service-from-php/找到类似的 DataContracts 帖子。

并且比较这两种合同类型从 PHP 中使用的方式,我认为将两者结合在同一个 WCF 服务中不会有问题。

于 2011-09-29T20:35:45.210 回答