web-dev-qa-db-ja.com

XML Over HTTPとSOAP Over HTTPの違い

SOAP over HTTPは、XML over HTTPのサブセットです。なぜなら、私はSOAPスキーマ(SOAPスキーマ)を確認するxmlでもありますか?サービスは、GETまたはPOSTメソッドを使用してアクセスできます。HTTPを介してSOAPメソッドは常にPOSTメソッド? XML over HTTP欠点は、スキーマファイルをすべてのコンシューマーと共有する必要があるのに対し、SOAP over HTTPの場合、単一のWSDLファイルになります。一方と他方の違いと利点を教えてください。

18
Punter Vicky

SOAPは、 http://www.xmlsoap.org/soap/envelope/ などのスキーマを持つため、XMLの特殊化ですが、XMLはより一般的です。

GETを使用する場合は、次の説明を読むことができます。 http://www.coderanch.com/t/463869/Web-Services/Java/SOAP-request-HTTP ですが、基本的にはSOAPはPOSTを介して行われますが、Axis2は、SOAP REST支配するようです。

そして、このIBMの記事( http://www.ibm.com/developerworks/xml/library/x-tipgetr/index.html )SOAP 1.2 GETを導入します。

既に述べたように、SOAPは標準であるため、この質問に示されているように、動的クライアント生成を含む、簡単に操作できるツールがあります。 動的プロキシSOAP Webサービスクライアントjava? では、クライアントが接続時に必要なスタブを生成することを示しています。

HTTP経由でXMLを使用する場合、データを転送する方法として、必要に応じてより良いかもしれませんが、ユースケースでは、JSONとRESTを使用する方が良いように思えますが、 XMLを転送する、またはXMLを送信する場合、RESTの使用を確認できます。

ただし、GETにはサイズ制限( HTTP GETリクエストの最大長? )があるため、POSTの方が適しています。これが、おそらくSOAPがほとんどの場合POSTである理由です。

WSDLは必ずしも単一のファイルであるとは限りません。WCFでは、覚えている限り、WSDLを完成させるために多くのxmlファイルをまとめる必要があります。

利点はユースケースによって異なりますが、use RESTであり、ユーザーがタイプを選択できるようにすると、JSONとXMLを切り替えるのが簡単になるため便利です。 XML over HTTPに適した選択肢です。

SOAPは、古いテクノロジーと簡単に使用できるので、古いテクノロジーと統合する場合に最適です。たとえば、SAP統合用のWebサービスを作成した場合、ABAPプログラマの能力に応じて、SOAPを使用しないようにするのはより手間がかかります。

あなたはこの使用の質問を見つけるかもしれません:

How SOAP and and REST XML/JSON応答を処理しますか?

また、WebサービスでのJSONとXMLに関する議論については、これが役立つ場合があります。

http://digitalbazaar.com/2010/11/22/json-vs-xml/

彼らは簡単な比較をしているので、このリンクを忘れましたが、最終的には両方を簡単にサポートできます。 WCFには、ビジネスロジックを備えたコントローラーがあり、.aspxファイルが必要でした。1つはSOAPと1つはRESTで、一部のWebサービスは両方をサポートしていました。リクエストとレスポンスの違いです。両方のサポートを提供し、それが理にかなっていることを示すビジネスケースを持ちたい場合は、簡単に実行できるフレームワークを選択してください。

http://digitalbazaar.com/2010/11/22/json-vs-xml/

基本的に、目標はWebを介してクライアントにサービスを提供することです。どのクライアントが接続しますか?クライアントはどのように手を差し伸べるのが最も簡単だと思いますか?リクエストで渡されるデータの量は?

これらのタイプの質問は、ニーズに最適なソリューションにつながります。

22
James Black