GetAttachment веб-служб Exchange не будет передавать на диск - PullRequest
2 голосов
/ 11 ноября 2010

Мы используем Exchange Web Services из Java (jaxws).Вот проблема.Чтобы получить вложение, вы выполняете мыльный вызов GetAttachment (достаточно логично :)).Вот проблема: все вложение возвращается (без доступа к размеру вложения) в пакете base64, спрятанном глубоко в мыльном ответе, вместе с другой информацией.В результате все содержимое вложения буферизируется в памяти.С потенциально 2-гигабайтными вложениями это может привести к тому, что весь Java-клиент будет взорван из памяти.

Кажется, нет никакого способа получить только части вложений от EWS.MTOM и т. Д. Не поддерживается.Короче говоря, в EWS, похоже, нет положений для потоковой передачи.

Единственным выходом из этой ситуации может быть прокси-сервер очень низкого уровня для перехвата этих вызовов и потоковой передачи содержимого на диск, заменив его«маркерный флаг» к файлу на диске.Но, похоже, не существует элегантного способа сделать это?

Есть идеи

Ответы [ 2 ]

0 голосов
/ 14 декабря 2010

Нам удалось через SOAP MessageHandler.Прямо сейчас он передает все на диск, и вызывающая сторона должна интерпретировать содержимое как uri диска.Мы считаем, что это может быть улучшено.Тем не менее, это возможно сделать

0 голосов
/ 14 ноября 2010

К сожалению, нет, нет способа передать содержимое прямо на диск.

...