Отправка изображений из галереи в веб-сервис с использованием SOAP - PullRequest
7 голосов
/ 25 сентября 2011

Я перебрал сеть и не могу найти документацию по отправке изображений (или любых вложений) в веб-службу с использованием SOAP.

Я отправляю текстовые данные нормально, но теперь мне нужно отправить изображения из галереи вместе с текстовыми данными, что создает другую проблему - выполнение двух или более асинхронных задач одновременно. Мне нужно сделать всего 4 звонка, ЕСЛИ в записи для отправки есть изображение, связанное с ней;

  1. Отправьте текстовые данные.
  2. Проверьте, существует ли файл на сервере.
  3. Отправьте файл.
  4. Свяжите файл с записью на сервере, используя u_id, отправленный обратно с сервера.

Мне посоветовали использовать метод Base64 для преобразования файла в строку, а затем отправить его, но у меня есть ощущение, что есть более чистый способ сделать это с помощью SOAP (без каламбура).

Любая обратная связь с благодарностью.

* Обратите внимание, что я использовал httpClient, но мне пришлось перейти на использование SOAP. Я относительно новичок в Android, так что извините, если я сказал что-то глупое.

1 Ответ

6 голосов
/ 26 сентября 2011

Существует три способа отправки вложений с помощью SOAP.

  • base64Binary
  • SwA - SOAP с вложениями
  • MTOM

base64Binary отправляет вложения как base64 inline в сообщении SOAP.т. е. приложение встраивается в сообщение SOAP.Увеличивает объем сообщения на 33%.

SWA отправляет вложение за пределы сообщения SOAP (сообщение SOAP содержит ссылку на вложение).Но информационный набор SOAP не содержит вложения.

MTOM Обеспечивает лучшее из обоих миров.Вложение отправляется за пределы сообщения SOAP со ссылкой на него, но вложение выглядит так, как будто оно встроено в сообщение SOAP (информационный набор SOAP содержит вложение)

В связи с тем, что появляются вложения, отправленные с использованием MTOMпоскольку вложение является частью сообщения SOAP, оно позволяет использовать другие атрибуты WS- * QOS (Quality of Service).Например, сообщения MTOM могут быть подписаны и зашифрованы с использованием WS-Security.Таким образом, это обеспечивает механизм для отправки Защищенных вложений без необходимости в дополнительных спецификациях.

В этом примере показано, как использовать MTOM с Apache AXIS2.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...