Добавление заголовков SOAP в клиентские приложения

SQL Server 2005 предоставляет поддержку дополнительных заголовков SOAP при использовании собственных веб-служб с поддержкой XML. Эти заголовки могут использоваться для улучшения и расширения приложений на основе SOAP с помощью параметров SQL и других поддерживаемых дополнительных заголовков SOAP, как сеансы SOAP и безопасности веб-служб (WS-Security). Дополнительные сведения см. в разделе Дополнительные SOAP-заголовки.

Этот подраздел описывает образец библиотеки класса, который реализует каждый выборочный дополнительный заголовок SOAP, поддерживаемый SQL Server 2005. Данная библиотека может быть добавлена к существующим клиентским проектам Visual Studio 2005 SOAP. Это включает образцы приложений, представленные в Образцы приложений, отправляющих запросы к собственным веб-службам с поддержкой XML.

Кроме того, рекомендуется ознакомиться со следующими подразделами, если работа осуществляется с заголовками, реализующими либо поддержку безопасности, либо поддержку сеансов путем использования соответствующих дополнительных заголовков SOAP для каждой из указанных функций:

ms189619.note(ru-ru,SQL.90).gifПримечание.
В следующей процедуре предполагается, что существующее клиентское приложение SOAP создано с помощью среды Visual Studio 2005, и что веб-ссылка на конечную точку HTTP SOAP была создана с помощью SQL Server 2005, как показано в разделе Отправка запросов SOAP с помощью клиента Visual Studio 2005 (C#).

Добавление образца библиотеки дополнительного заголовка SOAP в проект Visual Studio

  1. С помощью блокнота скопируйте содержимое C# Code Listing for the SQL SOAP Header Sample Class Library и сохраните файл под именем SqlSoapHeader.cs в той же папке, где хранятся файлы клиентского проекта SOAP.

  2. Запустите среду Microsoft Visual Studio 2005 из группы программ Microsoft Visual Studio 2005 на клиентском компьютере.

  3. Выберите пункт Открыть проект.

  4. Выберите файл проекта клиента SOAP (CSPROJ).

  5. В окне обозревателя решений пройдите по следующим шагам:

    1. Выберите имя проекта, щелкните правой кнопкой мыши и наведите курсор на пункт Добавить; затем выберите пункт Добавить существующий элемент.
    2. В диалоговом окне Добавить существующий элемент найдите и выберите файл SqlSoapHeader.cs в той папке, где он был сохранен на шаге 1.
    3. Выберите пункт «Показать все файлы», откройте узел веб-ссылок и выберите файл Reference.cs.
  6. В окне редактора кода обновите файл Reference.cs, чтобы добавить глобальную переменную в класс определения конечной точки. Переменная должна принадлежать тому же классу SqlSoapHeader, что и необязательный заголовок SOAP.

    Например для добавления глобальной переменной свойства sqlSecurity класса SqlSoapHeader.Security в файл Reference.cs под определением класса конечной точки (sql_endpoint) нужно добавить следующие строки кода:

    public class sql_endpoint : System.Web.Services.Protocols.SoapHttpClientProtocol {
         public SqlSoapHeader.Security  sqlSecurity
    
  7. Добавьте соответствующее свойство SoapHeaderAttribute в веб-метод, для которого нужно включить заголовок SOAP.

    Например при реализации класса Security нужно добавить следующие строки кода:

    [System.Web.Services.Protocols.SoapHeaderAttribute("sqlSecurity")]
    public int UDFReturningAScalar() {...}
    
    ms189619.note(ru-ru,SQL.90).gifПримечание.
    В этом примере значение аргумента sqlSecurity , который используется с SoapHeaderAttribute, должно соответствовать имени переменной, используемой на предыдущем шаге.

См. также

Справочник

Настройка сервера на прослушивание запросов собственных веб-служб с поддержкой XML

Основные понятия

Оптимальные методы использования собственных веб-служб с поддержкой XML

Справка и поддержка

Получение помощи по SQL Server 2005