Биты и байты.

Биты и байты.
Показаны сообщения с ярлыком WSDL. Показать все сообщения
Показаны сообщения с ярлыком WSDL. Показать все сообщения

вторник, 29 июля 2014 г.

Веб сервисы WCF

Есть одна технология для создания веб сервисов WCF (Windows Communication Foundation), построена на принципе контрактов  (точно также как фирмы заключают контракты друг с другом, что куда где и как), с помощью этих контрактов описывается формат взаимодействия, данных и сообщений.

Контракты служб [ServiceContract] описывают операции (методы), которые могут выполняться клиентом с помощью службы. Включает контракты необходимых операций [OperationContract] ;
Контракты данных [DataContract] определяют, какие типы данных принимаются и передаются службой. При передаче объекта или структурного типа в параметре операции, в действительности, надо передать лишь его состояние, а принимающая сторона должна преобразовать его обратно к своему родному представлению. Это называется маршалтинг по значению. Он реализуется посредством сериализации, когда пользовательские типы переводятся из CLR представлений в XML содержимое SOAP-конвертов. При  приёме параметров происходит десериализация, т.е. набор XML преобразуется в объект CLR и дальше передаётся для обработки;
Контракты ошибок [FaultContract] определяют, какие исключения инициируются службой, как служба обрабатывает их и передаёт своим клиентам;
Контракты сообщений [MessageContract], [MessageHeader] [MessageBodyHeader] позволяют службам напрямую взаимодействовать с сообщениями и моделировать структуру всего конверта SOAP.

WCF если вкратце это  прокачанный ASMX может все тоже самое плюс дополнительные возможности .
ASMX:
Легко и просто написать и настроить
Поддерживается только IIS
Вызов только по HTTP

WCF :
Большой вариант размещения классический в IIS  плюс  Windows Service , приложение Winforms, консольное приложение – полная свобода (пример хостинга в консольном приложении)
Поддерживает  HTTP (REST и SOAP), TCP/IP, MSMQ и другие протоколы
  • HTTP:                                                http://localhost:8001/MyService (в глобальной сети)
  • TCP:                                                   net.tcp://localhost:8002/TestService (в лок. сети)
  • IPC (именованные каналы):             net.pipe://localhost/TestService (на одном компьютере)
  • MSMQ (механизм очередей):         net.msmq://localhost/TestService
  • Одноранговые сети:                         net.p2p: (например, узлы GRID)
Улучшена безопасность
Работает быстрее

В общем WCF призван полностью заменить ASMX.  Попробуем это сделать.

четверг, 8 мая 2014 г.

Отладка SOAP сообщений с Wireshark

При разработке веб сервисов, очень полезно видеть SOAP сообщения которые приходят на веб сервер,
для этого обычно используются сетевые анализаторы  сетевого траффика.
С помощью WireShark это можно сделать в пару кликов.
Зацени систему 5 шагов в действии!
1.Устанавливаем приложение с сайта WireShark.

Wireshark содержит два вида фильтровзахвата (Capture Filters) и отображения (Display Filters).

Как можно догадаться по названию,
Capture Filters служат для фильтрации еще на этапе захвата трафика.
Display Filters применяется уже для захваченного трафика.

2.Заходим в настройки, выбираем устройство с которого нужно выполнить захват траффика
Настраиваем Capture Filter (порт, протокол и тд)  для нашего случая  нужен  tcp port http,
если веб сервер работает по другому порту  отличному от 80  пишем свой фильтр или  не пишем ничего (если не понимаем как работает этот фильтр)

понедельник, 17 марта 2014 г.

SSIS. Веб сервисы на практике.

Допустим нужно реализовать приложение которое будет накапливать информацию о курсах валют ежедневно в нашей БД.

Воспользуемся веб сервисом для получения ежедневных данных.

Создаем SSIS пакет и настраиваем получение данных из веб сервиса, для этого:
1.создаем задачу Web Service
2.Настраиваем, соединение с WSDL файлом
3.Создаем локальный WSDL файл  и жмем кнопку DOWNLOAD WSDL


4.Выбираем нужный нам метод
5. Настраиваем файл результатов xml


Итак мы получили данные  от веб сервиса в виде xml файла, теперь немного теории XML
Для правильно чтения XML файла должен быть определен XSD файл, описывающий его структуру.
При использовании XSD файлов XML парсер может проверить не только правильность синтаксиса XML документа, но также его структуру, модель содержания и типы данных.
Схемы бывают внешние и внутренние, т.е которые определены внутри xml файла.
Плюс в документе для схемы могут быть заданы  пространства имен описывающий именованную совокупность имён элементов и атрибутов, служащую для обеспечения их уникальности в XML-документе.
Возьмём, например, простой XML, который содержит ссылки на покупателя и на заказанный продукт. И элементы покупателя, и элементы продукта могут содержать дочерний элемент «ID_number». Ссылки на элемент ID_number будут, таким образом, неоднозначны, у нас будут два одинаковых имени элемента несущих разную смысловую нагрузку и так будет, пока мы не введём пространства имён для их различения.
Пространства имён объявляются с помощью XML атрибута xmlns, значение которого должно быть ссылкой URI.

вторник, 22 октября 2013 г.

Веб сервисы и WSDL файлы

Сегодня пришлось столкнуться с веб сервисами и WSDL файлами. Так зачем же нужны эти веб сервисы?
Сделать из веб сервера сервер приложений, который с клиентом будет обмениваться XML подобными сообщениями.

Как пользоваться, берем любой веб сервис  пример
Загоняем в soapclient пример

Получаем список методов для запросов, берем подходящий например курс валюты на дату
Вводим дату и жмем кнопку ПУСК (точнее Invoke)



Получаем результат  в виде XML и радуемся что все работает)


Ниже описание самой технологии веб сервисов

About