我做过的一个关于XML和SOAP的项目
一个WebService(不要再提C/S了),使用WSDL将服务发布出去。
服务器端是Windows2000 Advance Server+SOAPToolKit+MSXML3.dll。
服务端的体系结构比较复杂,划分了大概5层。SOAP和XML的使用主要集中再接口发布层。其中主要涉及到复杂结构体的交互问题。先开始使用IXMLDOMNodeList在接口中传输结构体,后来发现,XMLDOM(注意我不是说XML)的应用并不是用来传递数据,它的长处在解析XML。以后都是直接传输XML文本。
客户端用什么写都成,可以不用微软的SOAPToolKit提供的SOAPClient,只要它发送的消息符合SOAP规范即可。我使用Socket(编程工具VC)自个写HTTP消息的内容,使之符合SOAP规范,也成功了。
SOAP确实可以实现松散耦合和平台异构。客户端和服务端的约定是WSDL,而且可以动态绑定。
我们的客户端实现使用了Browser模式和用VC写的应用程序模式。
我们现在遇到了一个问题,是XML的解析问题——如何将XML文档和结构体相互映射?即,解析XML转换为应用程序中使用的结构体。