質問

私は受け入れてレストサービスを構築しています Foo 文字列のミックスを含むオブジェクト バイナリデータ。これは私がこれまでに得たXMLです。

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

これは良いアイデアですか、それともバイナリデータの大量(MB)を巻き込む欠点がありますか?

マイナーなデザインの詳細として、私は使用の間に落ち着こうとしています <text mime=".."/> または専用の名前 <binary>...</binary> バイナリデータの場合。どちらがより一貫しているでしょうか?

役に立ちましたか?

解決

リクエスト/応答XMLの唯一の場所に含めることをお勧めします。そのソリューションの短所は別の要求を実行することですが、プロはあなたの側にいます。

  • 64文字列をシリアル化/脱必要にする必要はありません
  • あなたの休息の簡単なテストws
  • 肥大化度の低いXML

他のヒント

HTTPは、任意の長さのペイロードを送信するように設計されています。 MBSのデータを送信すると問題ありません。 base64エンコーディングによってデータを送信することは、 増加 ワイヤー上で送信する必要があるバイトの数、スループットを分解します。

代わりに、あなたがAを考慮することをお勧めします マルチパートMIMEタイプ XMLではなく。

あなたのウェブサービスコンテナは何ですか? XMLの形式は、バイナリシリアイザーによって生成されます。 axis2はあなたにとって良いかもしれません。それは公理に基づいており、直接のバイナリサポートを提供します

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top