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

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

 2010-03-23 00:00:00 来源:WEB开发网   
核心提示: 在 VB 6.0 中将序列化控制器作为头的一部分进行传送 在客户端中,您可以实例化 VBHeaderHandler 类,利用 SOAP 头保持 EJB 状态:处理 VB.6 和 VB.NET SOAP 客户端中的状态(2),将 HeaderValue 设置为 base64 编码的序列化控制器,最

在 VB 6.0 中将序列化控制器作为头的一部分进行传送

在客户端中,您可以实例化 VBHeaderHandler 类,将 HeaderValue 设置为 base64 编码的序列化控制器,最后,将 SoapClient30 的 HeaderHandler 特性设置为 HeaderHandler 类的实例。同 清单2中的代码示例一样,您可以首先将序列化控制器存储在一个字符串变量中,然后将此变量赋给 HeaderValue 变量。

清单2. 在 VB 6.0 中使用头传送序列化控制器的示例

Dim objSoapClient As SoapClient30 
Set objSoapClient = CreateObject("MSSOAP.SoapClient30") 
objSoapClient.MSSoapInit "http://server1:9080/MyTest/TestControllerEJBService.wsdl", 
"TestControllerEJBService" 
 
Dim strSerializedTestController as String 
strSerializedTestController = 
objSoapClient.getSerializedTestController("John","password") 
Dim objHeaderHandler as VBHeaderHandler.clsVBHeaderHandler 
Set objHeaderHandler = CreateObject("VBHeaderHandler.clsVBHeaderHandler") 
objHeaderHandler.HeaderValue = strSerializedTestController 
'now let's try to invoke the same controller 
Set objSoapClient.HeaderHandler = objHeaderHandler 
Dim strUserName as String 
strUserName = objSoapClient.getUserName() 
MsgBox(strUserName) 

服务器端的需求和互操作性技巧

在服务器端,您将需要创建 SOAP 提供者,SOAP 提供者将解释 SOAP 消息,从 SOAP 头提取序列化控制器,然后反序列化它。另外,您还将需要把数据信息添加到部署描述符(dds.xml)中,因为 SoapClient30 不包括 SOAP 消息中的数据类型信息。

上一页  1 2 3 4  下一页

Tags:利用 SOAP 保持

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