Spring ws: как получить доступ к размеру аксиомной привязки - PullRequest
1 голос
/ 30 августа 2010

Чтобы получить вложение, у меня есть следующий код в конечной точке:

@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 не поддерживает получениеразмер вложений. ".

Как узнать размер вложения?

Iv пытаюсь использовать это для возможности отправки больших файлов (более 10 месяцев) в качестве приложения для предотвращения outofMemory (любая лучшая идея будет оценена - я уже попробовал образец mtom spring, но он не работает с тяжелым файлом (тоже outOfMemory), даже указав AxiomSoapMessageFactory).

Я открыт для любого лучшего решения (образец пружина с мтом не работает ..) для работы с тяжелым напильником с пружиной ws

1 Ответ

0 голосов
/ 24 сентября 2010

На самом деле невозможно получить размер файла, прежде чем сохранить его из DataHandler. Думаю об этом. MTOM - это технология для потоковой передачи двоичных файлов в веб-сервис. Вопрос, который вы задали, похож на вопрос «Как долго продлится этот телефонный звонок?» Вы не можете знать наверняка, пока не повесите трубку.

...