Насколько я знаю, лучшего подхода нет.По крайней мере, для простых сервисов.
Я обнаружил, что если я пишу свои веб-сервисы с RPC-мышлением, тогда SOAP :: Lite смешно прост в использовании.
- Пишем небольшую Perl-программус подпрограммой в том же файле
- Рефакторинг в стиле OO, параметры и возвращаемые значения как объекты perl.
- Перемещение подпрограммы в отдельный модуль, тестирование.
- Перемещение модуля подпрограммы на сервер,Скопируйте туда и объектные модули передачи данных.
- Добавьте диспетчер SOAP :: Lite на сервер (несколько строк).
- Добавьте несколько строк SOAP :: Lite в начало Perl-программы (клиент).Готово.
Это правда, что при этом используется стиль SOAP RPC / Encoded, который не пользуется популярностью.Однако, если вы добавите немного разметки POD, вы можете сгенерировать WSDL, который (после массажа) .Net клиенты могут с радостью потреблять (по крайней мере, я тестировал с Mono и сторонний тестировал с MS C #)
КакВы говорите, что выход Pod :: WSDL требует массирования, я помню, что мне пришлось исправить одно пространство имен как часть моего процесса сборки.
Недостатком является то, что большая часть расширенной обработки XML, связанной с SOAP, по-видимому, отсутствует илине очень хорошо интегрированы, и что SOAP :: Lite и Pod :: WSDL кажутся немного унылыми.
Но для простого удаленного вызова метода, передавая объекты Perl, я считаю, что это на несколько порядков проще, чем Java-фреймворки.У меня был удар.Ваш пробег может меняться.