2009-11-10 5 views
0

У меня есть веб-сервис SOAP, который я вызываю от двух клиентов, используя ось 2. Может ли веб-служба узнать, из какого из этих двух клиентов был вызван звонок? Если да, то откуда я знаю, что во время выполнения? Существует ли какой-либо API для поиска имени вызывающего веб-службы определенного веб-сервиса. Благодарю.Имя/идентификатор вызывающего веб-службы

ответ

0

Как правило, HTTP-заголовки иногда содержат некоторую информацию, но это зависит от клиента. Лучший способ определить вашего вызывающего абонента - иметь некоторый известный контекст, такой как идентификатор, переданный между вашим клиентом и сервисом. Это можно отправить в свой орган SOAP (в качестве аргумента для службы), в заголовок SOAP или как часть транспортного протокола (например, с помощью файла cookie сеанса HTTP).

В зависимости от места проведения контекста возможны различные варианты поведения - в SOAP-корпусе вы можете использовать свою реализацию службы для выполнения обработки (возможно, с помощью поиска DB или аналогичного); в заголовке SOAP означает, что вы можете добавить обработчик заголовка ко всем службам, которые требуют контекста, и правильно настроить вызов службы; в транспортном протоколе означает, что контекст отделен от сообщений SOAP, и обработчик транспорта может использоваться для корреляции контекстов.