[Web Service] Передача файла!
От: SunDrop Украина http://sundr0p.livejournal.com/
Дата: 07.05.03 11:20
Оценка:
Мне уже говорили (но не на этом портале), что единственный способ передать файл, как параметр для Web Service, это представить его как byte [] array; (Вопр № 1: А по-другому можно??? Stream например)!
Если же так и передавать, то используя протокол SOAP мы имеем:
POST /TestStm1/Service1.asmx HTTP/1.1
Host: localhost
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://loclhost:8000/TestArray"

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <TestArray xmlns="http://loclhost:8000">
      <array>base64Binary</array>
    </TestArray>
  </soap:Body>
</soap:Envelope>

Если же использовать простой HTTP POST, то получим:
POST /TestStm1/Service1.asmx/TestArray HTTP/1.1
Host: localhost
Content-Type: application/x-www-form-urlencoded
Content-Length: length

array=string&array=string&array=string&....&

Это ж бред какой-то! Тут же длинна неимоверная просто будет! Неужели нельзя никак по другому???
Заранее спасибо!
В 20 лет он знал 9 операционных систем, но ни одной женщины!
Re: [Web Service] Передача файла!
От: Andre Украина  
Дата: 07.05.03 12:05
Оценка: 1 (1)
Здравствуйте, SunDrop, Вы писали:

SD>Мне уже говорили (но не на этом портале), что единственный способ передать файл, как параметр для Web Service, это представить его как byte [] array; (Вопр № 1: А по-другому можно??? Stream например)!


Смотреть Web Services Enhancements (WSE) и передавать файлы как DIME attachment. WSE можно скачать с сайта Microsoft.
RSDN@Home 1.0 beta 6a :: Bushwick Bill — Sex On The Floor
Я бы изменил мир — но Бог не даёт исходников...
Re: [Web Service] Передача файла!
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 08.05.03 07:45
Оценка:
Здравствуйте, SunDrop, Вы писали:

SD>Мне уже говорили (но не на этом портале), что единственный способ передать файл, как параметр для Web Service, это представить его как byte [] array; (Вопр № 1: А по-другому можно??? Stream например)!


Stream например в случае веб-сервисов нельзя, он передается по ссылке, а этого веб-сервисы не поддерживают.

SD> <array>base64Binary</array>


Совершенно правильно — двоичные данные в SOAP передаются в base64

SD>Это ж бред какой-то! Тут же длинна неимоверная просто будет! Неужели нельзя никак по другому???


DIME Attachments
... << RSDN@Home 1.0 beta 6a >>
AVK Blog
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.