1

添付ファイルを取得するために、エンドポイントに次のコードがあります。

@PayloadRoot(localPart = REQUEST_ELEMENT, namespace = MODELES_V1_0_URI)
@ResponsePayload
public Source saveFile(MessageContext argo) throws Exception {

 (AxiomSoapMessage)MessageContextHolder.getMessageContext().getRequest();
 AxiomSoapMessage request = (AxiomSoapMessage)argo.getRequest();
 Attachment attachement= request.getAttachments().next();

しかし、添付ファイルは AxiomAttachment (私は AxiomSoapMessageFactory を使用しています) を実装しており、このクラスによると、「Axiom は添付ファイルのサイズの取得をサポートしていません。」

添付ファイルのサイズを取得するにはどうすればよいですか?

私はこれを使用して、outofMemory を防ぐための添付ファイルとして大きなファイル (10 か月以上) を送信できるようにします (より良いアイデアをいただければ幸いです - 私はすでに mtom spring サンプルを試しましたが、重いファイルでは機能しません)。 (outOfMemory も) AxiomSoapMessageFactory を指定しても)。

spring wsで重いファイルを処理するためのより良い解決策(spring ws mtomサンプルは機能しません..)を受け入れます

4

1 に答える 1

0

DataHandler からファイルを保存する前に、ファイルのサイズを取得することは実際には不可能です。考えてみてください。MTOM は、バイナリ ファイルを Web サービスにストリーミングするテクノロジです。あなたが尋ねた質問は、「この電話はどのくらい続くのですか?」と言うようなものです。電話を切るまで、確実なことはわかりません。

于 2010-09-24T18:25:27.430 に答える