SOAP over HTTPはXML over HTTPのサブセットであり、SOAPもまたスキーマ(SOAPスキーマ)を確認するxmlであると仮定していますか?私はHTTP over HTTPサービスがGETまたはPOSTメソッドを使ってアクセスできると仮定します。 SOAP over HTTPは常にPOSTメソッドを使用しますか? HTTPを介したXMLの場合、スキーマファイルはすべてのコンシューマと共有する必要があるという欠点があると仮定しますが、SOAP over HTTPの場合は単一のWSDLファイルになります。私にその違いと利点を知らせるのを助けることは可能でしょうか?HTTP over HTTPとSOAP over HTTPの比較
答えて
SOAPはhttp://www.xmlsoap.org/soap/envelope/などのスキーマを持っているためXMLの特殊化ですが、XMLはより一般的です。
http://www.coderanch.com/t/463869/Web-Services/java/SOAP-request-HTTPについては、http://www.coderanch.com/t/463869/Web-Services/java/SOAP-request-HTTPを読むことができますが、基本的にはPOSTを介してSOAPが実行されますが、Axis2はRESTを支配するような世界でSOAPを動作させる方法としてGETをサポートしているようです。
このIBMの記事(http://www.ibm.com/developerworks/xml/library/x-tipgetr/index.html)によれば、SOAP 1.2ではGETが導入されています。
前述のとおり、SOAPは標準であるため、クライアントが接続時に必要なスタブを生成するという理由で、dynamic proxy soap web service client in java?というこの質問に示すように、ダイナミッククライアントの生成を含むツールも簡単に使用できます。
XMLをhttpで使用する場合は、必要に応じてデータを転送する方法としては良いかもしれませんが、ユースケースではJSONとRESTを使うほうが良いと思われますが、 XMLを転送する場合やXMLを送信する場合は、RESTを使用して調べることができます。
GETにサイズ制限(maximum length of HTTP GET request?)があると、POSTがより良いオプションになります。これはおそらくSOAPがほぼ常にPOSTである理由です。
WSDLは必ずしも単一のファイルである必要はありません.WCFでは、WSDLを完成させるためにまとめておく必要があるXMLファイルがたくさんあります。
利点はユースケースによって異なりますが、RESTを使用してユーザーがタイプを選択できるようにすると、JSONとXMLを切り替えるのが簡単で便利なので便利ですHTTP over XMLの場合
SOAPは、古いテクノロジと統合するときには、簡単に使用できるすべてのものがあります。たとえば、SAP統合のためのWebサービスを作成した場合、ABAPプログラマの能力に応じて、SOAPを使用しないようにすることができます。
あなたは、使用のこの質問を見つけることがあります。私はこのリンクを忘れてしまった
http://digitalbazaar.com/2010/11/22/json-vs-xml/
:
How SOAP and REST work with XML/JSON response?
とWebサービスでJSONとXMLについての議論のためにあなたは、これが役に立つかもしれませんが彼らは簡単な比較をしますが、結局両方を簡単にサポートすることができます。 WCFではビジネスロジックを持つコントローラがあり、リクエストとレスポンスの違いを処理するだけであったため、SOAP用とREST用の.aspxファイルと両方をサポートするいくつかのWebサービスが必要でした。したがって、両方のサポートを提供し、ビジネスケースを示すことが理にかなっている場合は、簡単に行うためのフレームワークを選択します。
http://digitalbazaar.com/2010/11/22/json-vs-xml/
基本的には、目標は、Web経由でクライアントにサービスを提供することです。どのクライアントが接続するのですか?クライアントはどのように簡単に手を差し伸べることができるでしょうか?リクエストでどれだけのデータが渡されていますか?
これらのタイプの質問は、お客様のニーズに最適なソリューションにつながります。
- 1. ウェブサービス - SOAPと "XML over HTTP"
- 2. Onvif RTSP over HTTP
- 3. オフラインシンボルサーバーover http
- 4. SPARQL over HTTP
- 5. WebRTC over HTTP問題
- 6. Kafka over HTTPプロトコルの代替
- 7. Symfony Access DB over HTTPログイン/パスワード
- 8. NodeJS/Express HTTP over HTTP(HTTPS)の説明の自動検出?
- 9. SSL over HTTP + HTTP基本認証またはWS-Security?
- 10. HTTPS over HTTP over Auth0サーバーを使用することはできますか?
- 11. Java Async Httpクライアントの比較
- 12. Google App Engine用のScalaのhttpライブラリ:scalaj-httpとディスパッチの比較?
- 13. Apache HTTP - setSocketTimoutとsetConnectTimoutとsetConnectionRequestTimeoutの比較
- 14. php soap api call over https
- 15. Apache Solrのインデックス作成xml-File over HTTP with XPathEntityProcessor
- 16. Windows(10)ユニバーサルアプリケーションでvb.netのXML over HTTPを読む
- 17. VS over Partitionによる比較グループ
- 18. オンラインゲームのHTTPとTCPの比較
- 19. EAP 7のSOAP over JMSサービス
- 20. SOAPフォールトとHTTP 400
- 21. 権限が不十分Gitに共有するRepo over Smart HTTP
- 22. Git push over HTTPはリモートフックをアクティブにしません
- 23. WEB API DotNetでHTTPS over HTTPを強制する
- 24. ブラウザでmjpeg-over-httpストリームをhtml5で視覚化する
- 25. WebsphereベースのSOAP over JMS例
- 26. HTTP SOAPペイロードエンコーディング
- 27. PHP SOAP HTTPリクエスト
- 28. SOAP対HTTP
- 29. のHTTP SOAP \ GET \ POST
- 30. 非同期HTTP要求と新しいスレッドのHTTP要求の比較
ありがとうございます。私の混乱を解消した、非常に有用で詳細な説明:) –
SOAPリクエストがHTTP POST経由でどのように送られるか知りたいです。 以下のメソッド呼び出しで完全にStringに読み取ることができるなど、エンベロープ全体をリクエスト本体にそのまま投稿していますか? 'String wholeSoapReequest = IOUtils.toString(request.getInputStream()); ' –
@SayoOladeji - 私がそれを覚えているなら、助けになる石鹸ツールがあります。リクエストの本体にすべてありますが、これは新しい質問として –