WEB开发网
开发学院软件开发Java 利用 SOAP 头保持 EJB 状态:处理 VB.6 和 VB.NET... 阅读

利用 SOAP 头保持 EJB 状态:处理 VB.6 和 VB.NET SOAP 客户端中的状态

 2010-03-23 00:00:00 来源:WEB开发网   
核心提示: 用 VB.NET 开发 SOAP 客户端.NET 的一个有用的特征是创建代理的能力,您可以一次创建它们,利用 SOAP 头保持 EJB 状态:处理 VB.6 和 VB.NET SOAP 客户端中的状态(3),在 API 发生改变时更新,然后交给客户端, 清单4. 生成代理的命令 wsdl/lan

用 VB.NET 开发 SOAP 客户端

.NET 的一个有用的特征是创建代理的能力。您可以一次创建它们,在 API 发生改变时更新,然后交给客户端。不再序列化 WSDL 文件,并且不需要重新收集 WSDL 文件中的签名调用。另外,不需要使用 dds.xml 文件,因为所有的数据类型信息现在都包括在 SOAP 消息中。

就个人而言,我更喜欢使用 WSDL.exe 工具生成代理,因为它可以自动添加特性“Url”,这是非常方便的(此特性允许您动态指定以公开的服务的位置)。如果您需要将您的代理作为产品的一部分进行装载,这将是非常方便的。

用 VB.NET 实现头

用 .NET Web 实现头是非常简单的。编写头简化到只需创建从 SoapHeader 继承的类,再将表示头条目的公共变量 HeaderValue 包括进去就可以了,如 清单3所示。

清单 3. 用 VB.NET 实现的头示例

Imports System.Web.Services 
Imports System.Web.Services.Protocols 
Public Class SoapHeaderHandler 
  Inherits SoapHeader 
  Public HeaderValue As String 
  Public Sub New() 
   MyBase.New() 
  End Sub 
End Class 

在本例中,您可以将它保存为 NetHeaderHandler.dll。

创建和修改 Web 服务代理

在创建了 NetHeaderHandler.dll 之后,您就可以更改您用 WSDL.exe 创建的代理。用于生成您的代理的命令如 清单4所示(这条命令应该位于一行上)。

清单4. 生成代理的命令

wsdl /language:VB /namespace:ibm.com  
http://server1:9080/MyTest/TestControllerEJBService.wsdl 

一旦您创建了代理,就需要修改它们,以便将头信息包括进去。修改代理需要遵循两个步骤(同试参见清单 5和 6):

上一页  1 2 3 4  下一页

Tags:利用 SOAP 保持

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接