使用Microsoft SOAP Toolkit 3.0 简化 SOAP

ZDNet软件频道 时间:2004-11-01 作者:Builder.com |  我要评论()
本文关键词:PhillipPerkins
微软正在创建一些高级组件负责解析 SOAP 消息和完成它们所描述的工作,从而简化简单对象访问协议(SOAP)消息的处理。
本文译自Builder.com,未经许可请勿转载

微软正在创建一些高级组件负责解析 SOAP 消息和完成它们所描述的工作,从而简化简单对象访问协议(SOAP)消息的处理。

SOAP 消息是将规则(order)从一台计算机带到位于其它(有时候是异构)系统上的应用程序的一种方法。从这一点来讲,远程系统将完成这些规则并以一个结果 SOAP 消息的形式从操作中返回响应。(这种公报的传输机制是 HTTP。)在本期专栏中,我将介绍用于处理 SOAP 消息的Microsoft SoapClient30 和 SoapServer30 对象。

SoapClient30 和 SoapServer30 组件属于 Microsoft SOAP Toolkit 3.0 的一部分。SoapClient30 组件是一个用于构造 SOAP 消息的高级组件。SoapServer30 是一个处理 SOAP 消息的高级组件。SOAP Toolkit 中还有一个实用工具是WSDL/WSML Generator。你可以使用这个方便的小工具通过一个 GUI 应用程序来创建 WSDL 和 WSML 文件。这样,你就不必自已手工构造这些文件了,自己构造这些文件是一件非常乏味的事情。

现在我将创建一个简单的 Web 服务例子。我使用WSDL/WSML Generator 创建基于我的 COM+ 组件的WSDL/WSML 文件。此外,我使用SoapServer30 对象处理传入的 SOAP 消息。最后,我使用SoapClient30 对象创建调用 Web 服务的客户端。

首先,我在 Visual Basic 中创建一个简单的 ActiveX DLL。然后我添加了对Microsoft XML, v4.0 library 以及对Microsoft Soap Type Library v3.0 的引用。检查项目属性中的Unattended Execution And Retained In Memory 选项。我将项目命名为 MyService,类模块命名为 Example。下面是这个组件的代码:

Option Explicit

Public Function echoText(nodeList As IXMLDOMNodeList) As String
On Error GoTo ErrorHandler
    Dim node As IXMLDOMNode, s As String
    Dim lError As Long, sError As String
    s = ""
    For Each node In nodeList
        s = s & node.Text
    Next
ExitCall:
    Set node = Nothing
    If lError <> 0 Then
        s = "Error: " & vbObjectError & lError & vbTab & sError
    End If
    echoText = s
    Exit Function
ErrorHandler:
    lError = Err.Number
    sError = Err.Description
    Resume ExitCall
End Function


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134