Иван Никитин написал потрясающую статью для моего сайта PHPWorld.ru на тему Работа с Веб-сервисами .Net на PHP.
Вот ее начало:
"В последнее время Веб-сервисы получили достаточно широкое распространение, и применяются в самых разных качествах: от простого предоставления справочных данных в Сеть, например, данных о прилете самолетов (Веб-сервис аэропорта Шереметьево), курсов валют и драгоценных металлов (Центральный Банк России) до работы с кредитными карточками (процессинговый центр Assist) и онлайновых переводов текста (Веб-сервис компании Prompt). Еще больше существует корпоративных Веб-сервисов, которые решают самые разные корпоративные задачи. Я думаю, что такому широкому распространению Веб-сервисов немало способствовала технология Microsoft .Net. Дело в том, что создать Веб-сервис в той же Microsoft Visual Studio .Net 2003 невероятно просто. Грубо говоря, достаточно написать свой класс, унаследованный от класса System.Web.Services.WebService и объявить его методы как Веб-методы. И все! Компилируйте, переносите на рабочий сервер и ваш новый Веб-сервис готов к работе! Так же просто написать и клиента для любого Веб-сервиса. В состав средств разработки Microsoft входит утилита wsdl.exe. Достаточно ей указать адрес WSDL документа, желаемый язык разработки (C#, VB.Net) и она сгенерирует вам код класса, который является прокси-классом для указанного Веб-сервиса, то есть его клиентом. То есть вы получаете готовый к использованию класс с тем же набором методов, что и Веб-сервис. Любое обращение к этим методам автоматически транслируется Веб-сервису и ответ Веб-сервиса возвращается как результат. Приложение даже не знает, что оно работает с Веб-сервисом, для приложения это просто обращение к локальному классу. Все это очень значительно упрощает разработку и поэтому большинство Веб-сервисов, по крайней мере, в России, написаны именно на каком-нибудь языке .Net и работают именно на платформе .Net. Узнать Веб-сервис .Net достаточно просто. Во-первых, файл, к которому происходит обращение, имеет расширение asmx, а во-вторых, при простом обращении к этому файлу (метод GET), Веб-сервис .Net генерирует HTML страничку с описанием своих методов, что тоже достаточно удобно. К тому же, Веб-сервисы .Net могут отвечать не только на запросы SOAP, но и на обычные запросы POST и GET. Но это больше дополнительные возможности, «фичи», которые к тому же, могут быть отключены разработчиком, и нами здесь не рассматриваются. Однако при попытке использования Веб-сервисов .Net разработчик PHP может столкнуться с рядом проблем, решение которых мы здесь и покажем. В качестве примера мы создадим на PHP клиента Веб-сервиса Центрального Банка России и будем получать от него актуальные курсы валют на любую дату. ..."
Еще раз выражаю Ивану мою благодарность! Просто уверен, что многим этот материал будет очень полезен для реализации своих собственных php-приложений.
Да, хорошая статья. Давно хочу написать сайт, где весь контент импортируется с подобных web-сервисов.
Ответить
20.02.2006
На самом деле за этим подходом будущее web!
Ответить
20.02.2006