2012-02-04 22 views
23

JSON está asociado con REST. Con REST también puede usar XML. Entonces, ¿por qué no al revés? SOAP con JSON solo para el formato de datos, mientras que mantiene wsdl para los aspectos del contrato, lo cual es útil en algunos escenarios empresariales.¿Por qué no SOAP con JSON?

Actualización: lo que en puntos comentario estera a http://en.wikipedia.org/wiki/SOAPjr Pero eso no responde a mi pregunta:

si es la mejor de las 2 razas qué casi nadie incluido yo nunca había oído hablar de él? ¿Es porque, como SOAP, la gente simplemente siguió una tradición hasta que un gurú se despierta y llora: ¿estamos haciendo lo contrario, al menos para algún tipo de aplicaciones empresariales?

+1

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

+0

ok gracias, no sabía que existía, pero aún así no responde a mi pregunta: ya que combina los dos por qué nadie escuchó hablar de él y usó eso ? – user310291

Respuesta

37

Totalmente posible utilizar JSON como carga útil con SOAP.

La razón principal por la que las personas no lo hacen Supongo que es que si ya se ha movido de las restricciones de XML, entonces, ¿por qué no se deshace de SOAP también? Los orígenes JSON dentro de JavaScript y las simples llamadas ajax probablemente significan que SOAP es demasiado en el camino para las personas

Los contratos estrictos con SOAP y la validación de datos XML con XSD también suelen estar entrelazados. Los estándares SOAP especifican XML como carga útil, pero puede hacer lo que quiera dentro de la etiqueta CDATA. Pero los marcos pueden estar bajo la suposición de que su carga útil es XML. Y como tal, usar dos teorías diferentes de accesibilidad probablemente sea un enfrentamiento.

Pero, por supuesto, use JSON con SOAP si lo desea.

+4

El problema real es que muchos programadores actualmente equiparan a JSON con REST. Las personas están creando API que entregan respuestas JSON a las solicitudes JSON y las llaman REST. ¿Quieres metadatos? Ninguna posibilidad. ¿Quieres SOAP orchestration o seguridad? Ninguna posibilidad. Siempre y cuando su JSON y por lo tanto por inferencia (falsamente), REST – Sentinel

24

Puede hacer lo mismo con JSON, como dice Mat, y eso está bien.

Pero no es JABON - es solo como JABON.

SOAP utiliza XML por definición.

Un mensaje SOAP se especifica como un conjunto de información XML cuyo comentario, elemento, atributo, espacio de nombres y elementos de información de carácter son capaces de ser serializado como XML 1.0. (SOAP v1.2, part 1)

Por supuesto podría incrustar una cadena JSON dentro del XML SOAP, como el valor de uno de los parámetros, que es un poco bruto, pero no puedo ver una razón universal, por qué no, para el documento estilo SOAP.

REST no especifica qué deben ser las representaciones (es decir, el contenido); es un architectural style en lugar de un estándar de protocolo, por lo que JSON, XML o lo que sea es posible.

Cuestiones relacionadas