9

私は次のことを行う非常に単純なWebサービスを作成しようとしています。

  1. クライアントは、ファイルを要求しているWebサービスにアクセスします。
  2. Webサービスのサービスクラスは、キー(検索クエリ)とファイルのbase64encoded値(PDFなど)としての値を持つハッシュテーブルをクエリします
  3. ここで、MTOMを使用して、ハッシュテーブルに格納されているbase64encoded値をクライアントに返す必要があります。

それをデコードしてpdfに変換するのはクライアント次第です。

だから、ここに私の質問があります:

  1. Webサービスを介して送信するためにファイルをbase64にエンコードすることは理解していますが、MTOMはどこでどのように使用されますか?

  2. MTOMを使用してデータを送り返す簡単な方法を教えてもらえますか?WSDLにも何かを指定する必要がありますか?または、単純な文字列の戻り型で十分ですか?なぜ/なぜそうではないのですか?

ありがとう

私はこのコードを見ました。多くのアノテーションを使用します。MTOMを使用した単純なJavaコードが必要です。J2EEの新機能はこちら:)

更新1

ここで十分な説明がありますが、実装レベルから理解する必要があります。ここに良い情報がありますが、.Netの場合

更新2

メソッド「createMTOM(intid)」の戻り値はどうあるべきですか?

4

3 に答える 3

8

実装とプロトコルを混同しているようです。

MTOMの仕様はこちらです。このページにはサンプルメッセージがあります。

JAX-WS環境を使用している場合は、最も確実にAnnotationsそれをオンにするために使用します。石鹸メッセージを手作業でローリングしている場合は、それを生成するために作成する必要のあるJavaコードをすべて作成します。基本的に、MTOMは、データのコンテンツが添付ファイルに移動することを意味します。これは、メッセージの別個のMIME部分であり、MIME部分へのhrefを含むxop:Include要素を介して参照されます。

スキーマは要素タイプとしてbase64Binaryと言う必要がありますが、追加の属性はバイトの解釈に関するヒントを提供します:xmime:contentTypeおよびxmime:expectedContentType。私の経験では、JAX-Bリファレンス実装にはこれらの使用にいくつかの制限があります。たとえば、テキストを自動的にバイトに変換することはできません。CXFやGlassfishのような一般的なキットでは、データをDataHandlerに入れ、キットがそれを添付ファイルに変換します。

于 2010-04-12T02:19:19.540 に答える
1

優れた詳細な例/説明は、IBM Redbook:Webサービス・アプリケーションの開発、64〜74ページを参照してください。

http://www.redbooks.ibm.com/redpapers/pdfs/redp4884.pdf

于 2012-12-30T01:09:06.297 に答える
1

MTOMと、CXFでMTOMを有効にする方法を説明する便利な記事がここにあります。この記事には、実用的な例のソースコードも含まれています。

于 2017-06-21T06:07:13.990 に答える