Domanda

Sto costruendo un Foo servizio REST accettare oggetti che contengono un mix di Stringa e dati binari. Questo è il codice XML ho ottenuto finora.

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

E 'una buona idea o ci sono svantaggi inlining grandi quantità (MB) di dati binari?

Come un dettaglio di design minore, sto cercando di stabilirsi tra l'utilizzo di <text mime=".."/> o un nome <binary>...</binary> dedicato per i dati binari. Che sarebbe più coerente?

È stato utile?

Soluzione

mi sento di raccomandare compresi nella richiesta / risposta di XML solo la posizione in cui si memorizzare i dati binari si desidera passare e quindi recuperare i dati che l'esecuzione di un'altra richiesta. I contro di questa soluzione potrebbe essere quella di eseguire un altro richiesta, ma i pro sono dalla tua parte:

  • non c'è bisogno di serializzare / deserializzare il tuo 64 stringhe
  • semplice test delle tue ws riposo
  • xml meno gonfio

Altri suggerimenti

HTTP è progettato per carichi di trasmissione di lunghezza arbitraria. L'invio di MB di dati andrà bene. Trasmissione dei dati con codifica Base64 non è consigliato perché sarà aumento il numero di byte che è necessario inviare oltre il filo, il throughput degradanti.

vorrei suggerire invece che si considera un multipart MIME tipo di piuttosto che XML.

qual è il tuo contenitore di webservice? il formato XML sarebbe generato dal vostro serializzatore binario. axis2 può essere buono per voi. si basa su assioma, offrendo supporto binario diretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top