среда, 6 февраля 2013 г.

простой http заголовок

В-третьих, если у вас есть SOAP/WSDL-сервис, то есть и WSDL-файл с описанием интерфейса. Ибо WSDL - это и есть специальный файлик для описания любых интерфейсов. Чтобы это стало понятно - я выпущу сейчас WSDL просто по ЛЮБОЙ произвольной своей библиотеке, например моей публичной библиотеке AspCommon2009.dll, которая представляет собой некоторую надстройку над ASP.NET и которую я использую почти во всех своих сайтах (в том числе распространяемых мною ClosedSource сайтах, например ). Кстати эта моя библиотека , что не мешает построить по всем типам данных в ней и по всем ее публичным интерфейсам WSDL.

Хочу сказать, что движок этот в принципе неплохой, но работает он НЕ ВСЕГДА хорошо. И для тех случаев, когда он ГЛЮЧИТ - я написал СВОЮ соственную замену стандартному движку (клиенту) - с которым вы можете познакомиться здесь - .

То есть SOAP/WSDL сервис уже не программируется ВРУЧНУЮ программистом, а программируются только некоторые фишечки - (определения интерфейсов и их реализация) - которые скармливаются общему движку построения сервиса (библиотеке) - которая и выдает в результате WSDL (схему работы сервиса) и формирует общий алгоритм работы сервиса - например с сессиями, без сессий, синглтон-сервис и так далее. Соответственно, технология программирования не имеет ничего общего - в варианте обмена по XML вы самостоятельно что-то реализуете (что успеваете в рамках бюджета проекта), в варианте SOAP - вы должны встроить совсем немного своего личного кода в адскую по обьему библиотеку - но как все это будет работать в итоге - зависит от вашего понимания работы этого движка.

Во-вторых, если обмен по XML реализуется программистом самостоятельно - фактически это простой reqsponse.write в поток браузера, то SOAP/WSDL обмен имеет (на микрософтовской платформе) две стандартные реализации. Две библиотеки, которые выполняют всю черновую работу - старый формат - ASMX-сервисы и новый WCF-сервисы.

Во-первых, SOAP и XML - это разные режимы работы IIS (или Apache) - разные в смысле выдаваемых заголовков респонса. Обмен по протоколу XML - это простой обмен по протоколу HTTP 1.1. Кто не понимает этих простых вещей - посмотрите на заголовки - они совершенно разные при обмене по SOAP и по XML - соответственно IIS/Apache работает по разным алгоритмам, обслуживая эти реквесты и выдавая респонзы.

В связи с этим я решил написать эту краткую реплику - чтобы каждый раз не пережевывать заново азбучные истины - а просто отсылать заблудившихся в этот топик.

Я уже в сотый раз наталкиваюсь на странные разговоры, когда человек начинает говорить о протокольном обмене по XML - потом вдруг сьезжает на интерфейс SOAP/WSDL и обратно в XML. Такая каша в головах! Причем даже не только у выживших из ума пенсионеров от программирования - но даже у практикующих программистов!

ASP NET, NET Framework, MONO, SQL, Visual Studio | Professional Programs | Программист Еремин В.В.

Комментариев нет:

Отправить комментарий