質問

私の直感では、実際にはドキュメントベースの Web サービスが好まれていると思いますが、これは他の人の経験でしょうか?彼らはサポートしやすいですか?(SharePoint は WSDL インターフェイスの「ドキュメント タイプ」に Any を使用していることに注意しました。これにより、SharePoint はドキュメント ベースになっていると思います)。

また、現在、同じ機能に対して WSDL と REST タイプのサービスの両方を提供しているのでしょうか?WSDL はコード生成には人気がありますが、PHP や Rails などのフロントエンドでは REST を好むようです。

役に立ちましたか?

解決

ドキュメントと RPC は、サービスの説明 (WSDL)。RESTful Web サービスは、WSDL ではサービスを記述できないため、WSDL を使用しません。REST の方がシンプルで理解しやすいと考えられます。プロポーズした人もいる WADL REST サービスを説明する方法として。

Python、Ruby、PHP などの言語を使用すると、REST での作業が容易になります。WSDL は、静的言語から簡単に呼び出すことができる C# コード (Web サービス プロキシ) を生成するために使用されます。これは、 サービスリファレンス または ウェブリファレンス Visual Studio で。

SOAP サービスと REST サービスのどちらを提供するかは、ユーザー数によって異なります。サービスをインターネット経由で使用するか、組織内のみで使用するかは、選択に影響します。SOAP には、B2B または社内での使用には適した機能 (WS-* 標準) がいくつかあるかもしれませんが、インターネット サービスとしては不十分です。

SOAP サービスのドキュメント/リテラル​​と RPC については、ここで説明されています。 IBM DevelopWorks の記事. 。一般に、相互運用性 (Java から .NET へなど) の観点から、ドキュメント/リテラル​​を使用するのが最適であると考えられています。どちらがサポートしやすいかについては、状況によって異なります。私の個人的な見解は、人々は必要以上にこのことを複雑にする傾向があり、REST のよりシンプルなアプローチの方が優れているということです。

他のヒント

前述したように、可能な限り RPC エンコードではなくドキュメント リテラルを選択することをお勧めします。確かに、古い Java ライブラリ (Axis1、Glue、その他の先史時代のもの) はエンコードされた RPC のみをサポートしていますが、今日の最新の Java SOAP ライブラリはそれをサポートしていません (例:AXIS2、XFire、CXF)。したがって、RPC エンコードされたサービスを公開するのは、これ以上の対応ができないコンシューマを処理する必要があることがわかっている場合にのみにしてください。しかし、おそらく XML RPC だけがこれらのレガシー実装に役立つ可能性があります。

BiranLy の答えは素晴らしいです。ドキュメントと RPC の違いは実装上の問題にも帰結する可能性があることを付け加えておきたいと思います。Microsoft はドキュメントを優先しているのに対し、当社の Java ベースのライブラリは RPC ベースであることがわかりました。どちらを選択する場合でも、他の潜在的な顧客がどのようなことを想定しているかを必ず理解してください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top