2011-09-29 59 views
0

我在閱讀有關WCF服務的內容。我是WCF服務的新手。我讀過WCF提供的互操作性。我想知道它在哪種情況下提供了互操作性。它是否在從任何其他語言(例如,php)或爲了任何不同目的而使用.net wcf Web服務的環境中提供互操作性。我讀過以下文章。消息合約是否提供跨不同語言的互操作性?

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

這樣,如果我們對所有在WCF Web服務通過傳遞或返回MessageContract一些方法和DataContract一些方法,然後在PHP或任何其他語言會發生什麼方法提供了OperationContract的? * 是否有DataContract參數或者返回類型是PHP或任何其他語言中使用的方法是什麼?或者在PHP或其他語言中是否提供MessageContract作爲參數或返回類型的方法?或者兩者都可以使用php或其他語言*

回答

1

它是否提供了從任何其他語言(例如php)或用於任何不同目的消費.net wcf Web服務的上下文中的互操作性。

互操作性意味着只要客戶端使用與您的服務相同的Web服務協議,就可以從非.NET平臺調用您的WCF服務。請注意,您可以使用多種類型的綁定您的WCF服務,但只有basicHttpBinding的,WsHttpBinding的和WSDualHttpBinding支持互操作性。有關更多信息,請參閱MSDN文章Web Services Protocols Supported by System-Provided Interoperability Bindings

無論是以PHP還是其他語言提供DataContract作爲參數或返回類型的方法都可用?或者在PHP或其他語言中是否提供MessageContract作爲參數或返回類型的方法?或者兩者都是在PHP或任何其他語言

簡短的回答是肯定的可用。例如,如果您使用BasicHttpBinding,則它將全部變爲XML,並且取決於該語言可用的庫來將XML轉換爲該語言的本地語言。例如,PHP SoapClient的平移一個DataContract返回類型內置stdClass的對象(見Echo xml result from wcf service in php?)。