0

WCF サービスについて読んでいます。私は WCF サービスを初めて使用します。WCF が相互運用性を提供することを読みました。相互運用性を提供するコンテキストを知りたいです。.net wcf Web サービスを他の言語 (php など) から使用するコンテキストで、または別の目的で相互運用性を提供しますか? 以下の記事を読みました。

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

.net wcf Web サービスを他の言語 (php など) から使用するコンテキストで、または別の目的で相互運用性を提供しますか?

相互運用性とは、クライアントがサービスと同じ Web サービス プロトコルを使用している限り、非 .NET プラットフォームから WCF サービスを呼び出すことができることを意味します。WCF サービスにはさまざまな種類のバインドを使用できますが、相互運用性をサポートするのは BasicHttpBinding、WSHttpBinding、および WSDualHttpBinding のみであることに注意してください。詳細については、MSDN の記事Web Services Protocols Supported by System-Provided Interoperability Bindingsを参照してください。

パラメーターまたは戻り値の型として DataContract を持つメソッドが php または他の言語で使用できるかどうか? または MessageContract をパラメーターまたは戻り値の型として持つメソッドは、php またはその他の言語で使用できますか? または両方ともphpまたは他の言語で利用可能です

短い答えはイエスです。たとえば、BasicHttpBinding を使用すると、すべてが XML になり、XML を言語固有のものに変換するのは、その言語で使用できるライブラリ次第です。たとえば、PHP SoapClient は、DataContract の戻り値の型を組み込みの stdClass オブジェクトに変換します ( php の wcf サービスから xml の結果をエコーし​​ますか? を参照してください)。

于 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 に関する同様の投稿を見つけることができます。

そして、これら 2 つのコントラクト タイプが PHP から消費される方法を比較すると、同じ WCF サービスで 2 つを組み合わせても問題はないと思います。

于 2011-09-29T20:35:45.210 に答える