Re: Как передать сервису файл в качестве входного параметра
От: Maslex  
Дата: 18.03.05 13:17
Оценка: 2 (1)
Здравствуйте, kudesnik, Вы писали:

K>Есть следующие вопросы, один общего характера:


K>На данный момент имеются несколько приложений (12 штук если быть точным), работающих след.образом: вход — строка/строки, на выходе XML, определенного формата (во всех приложений используются только две XML-схемы). Выход нескольких приложений может быть объединен в один файл. Сейчас нужно сделать программный доступ к этим приложениям.


K>Можно для каждого приложения сделать свой web service. Если делать так, то как в SOAP Responce message будет описываться возвращаемый файл? Как указывать в WSDL, что возвращается файл?


Что значит возвращается файл?
Можно вернуть например полное имя файла, web-service генерит файл и возвращает URL
этого файла, а можно вернуть содержимое этого файла, например в base64.


K>Другой подход — сделать один веб-сервис, который на входе получает XML-файл и возвращает тоже XML файл. Во входном XML-файле будут задаваться какое(ие) приложение запустить и с какими входными данными. Как описывать в SOAP/WSDL request'е что у веб-сервиса только один входной параметр в виде XML-файла? Какие недостатки могут быть у такого способа доступа к приложениям (в котором во входном файле должно быть описано вызываемое(ые) приложение(ия), файл парсится, извлекаются какие приложения нужно выполнить и входные данные для них, и затем происходит вызов приложений)?


Тоже самое — ложить файлики куда-нибудь и передавать их имена, как обычные строки,
или передавать их содержимое в base64. С возвращаемыми значениями тоже самое.

Я бы сказал, что 2-ой подход немного более универсальный,
но зато 1-ый позволит настроить индивидуальные wsdl-ки для каждого приложения.
В wsdl-ку можно засунуть схему и содержимое реквеста и респонса будет валидироваться и парсится согласно схеме в wsdl, особенно если весь код будет сгенерирован автоматически, но это накладывает определенные ограничения.

Я так понял, что приложения уже готовы, тогда 2-ым способом будет намного проще все реализовать.
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
WBR,
Maslex
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.