2012-02-04 12 views
23

JSONはRESTに関連付けられています。 RESTを使用すると、XMLを使用することもできます。だからこそ他の方法ではないのですか?いくつかのエンタープライズシナリオで便利な契約面のためのwsdlを維持しながら、データ形式のJSONだけでSOAP?なぜJSONを使用したSOAPはありませんか?

更新:それは私がそれを聞いたことがないなどの理由ほとんど誰も2つの品種の最高のであれば

:それは私の質問に答えていない。しかしhttp://en.wikipedia.org/wiki/SOAPjr にコメントマットポイントでそう?それはSOAPのように、いくつかの教師が目を覚まして泣くまで伝統をたどっただけなのですか?私たちは少なくとも何らかのエンタープライズアプリケーションで間違ったやり方をしていますか?

+1

http://en.wikipedia.org/wiki/SOAPjr – Mat

+0

okありがとう、私は存在しなかったが、まだそれは私の質問に答えることができませんでした。なぜなら、それ ? – user310291

答えて

37

SOAPでペイロードとしてJSONを使用することは完全に可能です。

私が推測する主な理由は、すでにXMLの制限から移ってしまって、なぜSOAPを捨てないのかということです。 JavaScript内のJSON起源と単純なajax呼び出しは、おそらくSOAPが人のためにあまりにも多くあることを意味します。

XSDを使用したSOAPとXMLデータの妥協はしばしば絡み合っています。 SOAP標準では、XMLをペイロードとして指定していますが、CDATAタグ内で任意の操作を行うことができます。しかし、フレームワークは、あなたのペイロードがXMLであるという仮定の下にあるかもしれません。そして、アクセシビリティの2つの異なる理論を使うことはおそらく衝突するでしょう。

しかし、あなたがしたい場合は、是非SOAPでJSONを使用してください。

+4

本当の問題は、最近、多くのプログラマーがJSONとRESTを同一視していることです。 JSONレスポンスをJSONリクエストに提供し、それをRESTと呼ぶAPIをビルドしています。メタデータが必要ですか?チャンスは無い。 SOAPオーケストレーションやセキュリティが必要ですか?チャンスは無い。ちょうどそのJSONほど長いので、推論(誤って)、REST – Sentinel

24

Matと同じようにJSONを使うことができます。これは問題ありません。

SOAPではなく、のように SOAPです。

SOAPはXML を定義してを使用します。

SOAPメッセージは、そのコメント、要素、 属性、名前空間および文字情報項目XML 1.0のようにシリアライズさ されることが可能であるXML情報セットとして指定されています。 (SOAP v1.2, part 1)

あなたはもちろん、パラメータの一つの値として、内のSOAP XMLをJSON文字列を埋め込む少し総額であるが、私は、ドキュメントのために、なぜない普遍的な理由を見ることができませんでしたスタイルSOAP。

RESTでは、表現(つまりコンテンツ)を指定する必要はありません。プロトコル標準ではなくarchitectural styleなので、JSON、XMLなども可能です。

関連する問題