Pregunta

Estoy construyendo un servicio de descanso aceptando Foo objetos que contienen una mezcla de cadena y datos binarios. Este es el XML que obtuve hasta ahora.

<foo>
     <text>regular text</text>
     <text mime="application/octet-stream">base64 encododed binary data</text>
</foo>

¿Es esta una buena idea o hay inconvenientes en las grandes cantidades (MB) de datos binarios?

Como detalle de diseño menor, estoy tratando de conformarme entre usar <text mime=".."/> o un nombre dedicado <binary>...</binary> para los datos binarios. ¿Cuál sería más coherente?

¿Fue útil?

Solución

Recomendaría incluir en su solicitud/respuesta XML es solo la ubicación donde almacenará los datos binarios que desea aprobar y luego recuperar esos datos ejecutando otra solicitud. Los contras de esa solución serían ejecutar otra solicitud, pero los profesionales están de su lado:

  • No es necesario serializar/deserializar sus 64 cuerdas
  • Pruebas más fáciles de su descanso WS
  • XML menos hinchado

Otros consejos

HTTP está diseñado para transmitir cargas útiles de longitud arbitraria. El envío de datos MBS estará bien. No se recomienda transmitir los datos por codificación base64 porque aumentar El número de bytes que debe enviar sobre el cable, degradando el rendimiento.

Sugeriría en su lugar que consideres un Tipo de mima multipart en lugar de xml.

¿Cuál es su contenedor de servicio web? El formato de XML sería generado por su serializador binario. Axis2 puede ser bueno para ti. Se basa en Axiom, que ofrece soporte binario directo

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top