Поделиться через


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

В будущей версии Microsoft SQL Server эта возможность будет удалена. Избегайте использования этой возможности в новых разработках и запланируйте изменение существующих приложений, в которых она применяется.

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

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

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

ПримечаниеПримечание

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

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

  1. С помощью блокнота скопируйте содержимое Листинг C#-кодов для образца библиотеки классов SOAP-заголовка SQL и сохраните файл под именем 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() {...}
    
    ПримечаниеПримечание

    В этом примере значение аргумента sqlSecurity , который используется с SoapHeaderAttribute, должно соответствовать имени переменной, используемой на предыдущем шаге.