Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/27: Рейтинг темы: голосов - 27, средняя оценка - 4.56
4 / 4 / 7
Регистрация: 21.02.2013
Сообщений: 71
.NET 4.x

Периодически опрашивать и логировать множество WSDL сервисов

10.06.2013, 11:02. Показов 5690. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток
Появилась задача периодически опрашивать и логировать множество WSDL сервисов, на данный момент задача решена на PHP примерно таким образом:

PHP
1
2
3
$client = new SoapClient("http://192.168.9.253/service/service.asmx?wsdl", array("trace" => 1, "exception" => 0));
$header = new SoapHeader("http://192.168.9.253/service/service.asmx?wsdl", "Auth");
$result = $client->__soapCall("getServerStatus", array("mode" => "full", "sort" => "dec"), NULL, $header);
Полазил на MSDN, но не нашёл похожих функций для C#. Дайте, пожалуйста, ссылочки на примеры реализации обмена SOAP сообщениями.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.06.2013, 11:02
Ответы с готовыми решениями:

Как логировать в базу?
Господа подскажите решение по логированию ошибок в базу, при этом не оборачивая каждую функцию в try/except? Ну вот есть например моделька...

Как логировать принятые данные?
Хочу сделать логирование чата в программке одной. Нашел как логировать действия выполнения программы, а вот как логировать только принятые...

D_LINK - как опрашивать состояние ?
привет, у меня D_LINK ADSL-модем (одна из первых модификаций "DSL-200") у меня также WIN-XP SP2 дело вот в чём: иногда он...

5
 Аватар для andrew_w2k
341 / 341 / 90
Регистрация: 04.03.2010
Сообщений: 648
10.06.2013, 11:37
SOAP - это протокол обмена сообщениями в формате XML. Создайте клиента, который будет потреблять сервис (например WCF, так как он понимает много различных протоколов обмена данными). И дальше смотрите, что Вам возвращает сам сервис.
1
4 / 4 / 7
Регистрация: 21.02.2013
Сообщений: 71
10.06.2013, 14:17  [ТС]
Бегло погуглил про WCF, я так понял, там нужно компилировать отдельный проект для каждого сервиса через svcutil.exe и потом использовать получившуюся библиотеку.
Неужели в С# нет простого быстрого решения как в PHP, вроде встроенных классов SoapHeader/SoapClient? А если нужно просто вызывать одну единственную функцию сервиса, то придётся ради этого так заморачиваться? Как-то не продуманно, в сравнении с простой парой строк кода на PHP.
0
 Аватар для andrew_w2k
341 / 341 / 90
Регистрация: 04.03.2010
Сообщений: 648
10.06.2013, 16:27
записал небольшой туториал
Вложения
Тип файла: 7z CyberForum.7z (1.30 Мб, 663 просмотров)
4
4 / 4 / 7
Регистрация: 21.02.2013
Сообщений: 71
11.06.2013, 13:44  [ТС]
andrew_w2k, спасибо огромное. Не думал, что всё на столько просто.
0
5 / 5 / 4
Регистрация: 01.08.2012
Сообщений: 65
21.04.2015, 19:37
andrew_w2k Спасибо за пример.
У меня вопрос почему при добавление ServiceReference, namespace пустой т.е в проекте не появляется проект.ServiceReference и app.config тоже пуст.
Для получения доступа к методам сервиса, необходимо передать Header с данными авторизации.
Может по этому не получается.
Но как передать логин и пароль с использованием вашего примера?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.04.2015, 19:37
Помогаю со студенческими работами здесь

Как правильно опрашивать RestAPI
Всем привет Подскажите как правильно опрашивать сервер на предмет новых данных В моем приложении есть чат, списки товаров ,...

[log4j] Логировать ли все успешные операции?
Логируют ли в коммерческих проектах, например успешное сохранение пользователя в БД успешное получение записи из БД

G - открытое множество в топологическом векторном пространстве Х. Тогда для любого множество А из Х множество A+G - открыто
G - открытое множество в топологическом векторном пространстве Х. Тогда для любого множество А из Х множество A+G - открыто.

Как менее ресурсоёмко опрашивать сервер?
К какой связке прибегнуть, что бы реализовать такое: Вся логика сайта, апи, написана на php. Нужно опрашивать сервер каждую...

Пусть заданы множество А и множество В целых чисел, вывести напечатать все элементы множества В которые не входят в множество А.
Пусть заданы множество А и множество В целых чисел, вывести напечатать все элементы множества В которые не входят в множество А. С...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru