在客户端应用程序中添加 SOAP 标头
使用本机 XML Web 服务时,SQL Server 2005 支持 SOAP 扩展标头。通过使用支持的 SQL 选项和其他 SOAP 扩展标头(例如 SOAP 会话和 Web 服务安全性),这些标头可用于扩展和增强基于 SOAP 的应用程序。有关详细信息,请参阅 SOAP 扩展标头。
本主题提供一个示例类库,它实现 SQL Server 2005 支持的每个可选的 SOAP 扩展标头。此库可以添加到现有的 Visual Studio 2005 SOAP 客户端项目。这包括用于发送本机 XML Web 服务请求的示例应用程序中提供的示例应用程序。
- 建议您首先熟悉设置服务器以侦听本机 XML Web 服务请求和编写客户端应用程序中提供的概念和过程信息。
另外,如果您正在使用实现安全性或会话支持(通过对每项功能使用适当的 SOAP 扩展标头)的标头,我们建议您阅读下列主题:
![]() |
---|
以下过程假定您已经使用 Visual Studio 2005 创建了现有的 SOAP 客户端应用程序,并已添加了对 HTTP SOAP 端点(使用 SQL Server 2005 创建)的 Web 引用,如使用 Visual Studio 2005 客户端发送 SOAP 请求 (C#) 中所示。 |
将 SOAP 扩展标头示例库添加到 Visual Studio 项目中
使用记事本复制并粘贴 SQL SOAP 标头示例类库的 C# 代码列表中的内容,然后用 SqlSoapHeader.cs 文件名将其保存在包含 SOAP 客户端项目文件的同一个文件夹中。
在客户机上,从 Microsoft Visual Studio 2005 程序组启动 Microsoft Visual Studio 2005。
单击**“打开项目”**。
浏览并选择 SOAP 客户端项目 (.csproj) 文件。
在“解决方案资源管理器”窗口中,执行以下操作:
- 按名称选择项目,单击右键并指向**“添加”,再选择“添加现有项”**。
- 在**“添加现有项”**对话框中,从在步骤 1 中保存 SqlSoapHeader.cs 文件的位置找到并选中该文件。
- 选择“显示所有文件”并展开“Web 引用”节点,然后选择 Reference.cs 文件。
在“代码编辑器”窗口中,更新 Reference.cs 文件,在端点定义类中添加一个公共变量。此变量必须是与 SOAP 可选标头的类型相同的 SqlSoapHeader 类。
例如,若要将 SqlSoapHeader.Security 类的名为 sqlSecurity 的公共属性变量添加到端点类定义 (sql_endpoint) 下的 Reference.cs 文件中,您需要添加以下代码行:
public class sql_endpoint : System.Web.Services.Protocols.SoapHttpClientProtocol { public SqlSoapHeader.Security sqlSecurity
将适当的 SoapHeaderAttribute 属性添加到您希望为其启用 SOAP 标头的 Web 方法中。
例如,如果您正在实现 Security 类,您需要添加以下代码行:
[System.Web.Services.Protocols.SoapHeaderAttribute("sqlSecurity")] public int UDFReturningAScalar() {...}
注意:
在本例中,与 SoapHeaderAttribute
一起使用的参数值sqlSecurity
必须与上一步中使用的变量名相对应。