SOAP over HTTP は、SOAP もスキーマ (SOAP スキーマ) を確認する xml であると想定しているため、HTTP 上の XML のサブセットですか? XML over HTTP サービスには、GET メソッドまたは POST メソッドを使用してアクセスできると想定しています。SOAP over HTTP は常に POST メソッドを使用しますか? XML over HTTP の場合の欠点は、スキーマ ファイルをすべてのコンシューマーと共有する必要があることですが、SOAP over HTTP の場合は単一の WSDL ファイルになります。それぞれの違いと利点を教えていただけないでしょうか。
1 に答える
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 にはあるようです。 REST が支配しているように見える世界で SOAP を機能させる方法として、GET をサポートします。
そして、この IBM の記事 ( http://www.ibm.com/developerworks/xml/library/x-tipgetr/index.html ) によると、SOAP 1.2 は GET を導入しています。
おっしゃったように、SOAP は標準であるため、この質問に示されているように、動的クライアント生成など、SOAP を簡単に操作できるツールがあります。、接続時に必要なスタブをクライアントが生成する場合。
XML over http を使う場合は、必要に応じてデータを転送する方法としては良いかもしれませんが、私が考えるユースケースでは、JSON と REST だけを使用する方が良いように思えますが、 XML を転送するか、XML を送信すると、REST の使用を検討できます。
ただし、GET にはサイズ制限 ( HTTP GET 要求の最大長? )があるため、POST の方が適切なオプションです。これがおそらく、SOAP がほぼ常に POST である理由です。
WSDL は必ずしも 1 つのファイルであるとは限りません。WCF では、WSDL を完成させるためにまとめる必要がある多数の xml ファイルが存在することを覚えています。
利点はユースケースによって異なりますが、REST を使用し、ユーザーがタイプを選択できるようにすることは、たとえば、JSON と XML を簡単に切り替えることができ、HTTP よりも XML の方が適しているため、便利であることがわかりました。 .
SOAP は、古いテクノロジと統合する場合に最適です。たとえば、SAP 統合用の Web サービスを作成した場合、ABAP プログラマーの能力によっては、SOAP を使用しないようにする方が手間がかかる場合があります。
この使用に関する質問が見つかる場合があります。
SOAP と REST は XML/JSON 応答でどのように機能しますか?
また、Web サービスでの JSON と XML についての議論については、次の記事が役立つかもしれません。
http://digitalbazaar.com/2010/11/22/json-vs-xml/
簡単な比較を行うため、このリンクを忘れましたが、最終的には両方を簡単にサポートできます. WCF には、ビジネス ロジックを備えたコントローラーがあり、SOAP 用と REST 用の .aspx ファイルが必要でした。一部の Web サービスは、要求と応答の違いを処理するだけの問題であったため、両方をサポートしていました。したがって、両方のサポートを提供したい場合、そしてそれが理にかなっていることを示すビジネスケースがある場合は、それを容易にするフレームワークを選択してください。
http://digitalbazaar.com/2010/11/22/json-vs-xml/
基本的に、目標は Web 経由でクライアントにサービスを提供することです。どのクライアントが接続しますか? クライアントはどのように連絡を取りやすいと思いますか? リクエストで渡されるデータの量は?
この種の質問は、ニーズに最適なソリューションにつながります。