频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

SOAP应用简介(1)

来源: 作者: 出处:巧巧读书 2006-09-12 进入讨论组

  创建WSML文件




在运行IIS服务器上,把下面的文件DocSample1.wsml复制到刚才建立的DocSample1路径下


DocSample1.wsml文件:


<?xml version=’1.0’ encoding=’UTF-16’ ?>
<!-- Generated 12/14/00 by Microsoft SOAP SDK WSDL File Generator, Version 1.0 -->
<servicemapping name=’DocSample1’>
<service name=’DocSample1’>
<using PROGID=’DocSample1.Sample1’
cachable=’0’
ID=’DocSample1Object’ />
<port name=’DocSample1PortType’>
<operation name=’EchoString’>
<execute uses=’DocSample1Object’
method=’EchoString’dispID=’1610809344’ >
<parameter callIndex=’1’ name=’testString’
elementName=’testString’ />
<parameter callIndex=’-1’ name=’retval’
elementName=’Result’ />
</execute>
</operation>
<operation name=’AddNumbers’>
<execute uses=’DocSample1Object’
method=’AddNumbers’ dispID=’1610809345’>
<parameter callIndex=’1’ name=’NumberOne’
elementName=’NumberOne’ />
<parameter callIndex=’2’ name=’NumberTwo’
elementName=’NumberTwo’ />
<parameter callIndex=’-1’ name=’retval’ elementName=’Result’ />
</execute>
</operation>
<operation name=’SubtractNumbers’>
<execute uses=’DocSample1Object’
method=’SubtractNumbers’ dispID=’1610809346’>
<parameter callIndex=’1’ name=’NumberOne’
elementName=’NumberOne’ />
<parameter callIndex=’2’ name=’NumberTwo’
elementName=’NumberTwo’ />
<parameter callIndex=’-1’ name=’retval’ elementName=’Result’ />
</execute>
</operation>
</port>
</service>
</servicemapping>



把文件中ProgID改为你刚才创建的ActiveX DLL的ProgID(如果严格按步骤做,这个例子是不用改的)




创建ASP应用




在运行IIS的服务器上,把下面的文件DocSample1.asp复制到刚才建立的DocSample1路径下


<%@ LANGUAGE = VBScript %>
<% Response.ContentType = "text/xml" %>
<%
set soapserver = CreateObject("MSSOAP.SoapServer")
wsdl = Server.MapPath("DocSample1.wsdl")
wsml = Server.MapPath("DocSample1.wsml")
call soapserver.init(wsdl, wsml)
call soapserver.SoapInvoke(request, response)
%>





在客户端做以下工作


创建一个VBScript应用




在客户端,创建一个文件,包含以下代码


set soapclient = CreateObject("MSSOAP.SoapClient")
Call soapclient.mssoapinit("http://localhost/DocSample1/DocSample1.wsdl", "DocSample1", "DocSample1PortType")
wscript.echo soapclient.EchoString("Bob")
wscript.echo soapclient.AddNumbers(2,3)
wscript.echo soapclient.SubtractNumbers(3,2)

On Error Resume Next
wscript.echo soapclient.faultcode
wscript.echo soapclient.faultstring
wscript.echo soapclient.faultactor
wscript.echo soapclient.detail



保存文件为clientDocSample1.vbs.




测试


打开命令行窗口,输入cscript clientDocSample1.vbs


注:


1.cscript是一个在命令行方式下运行script文件的东东,一般格式如下:


cscript [//host option] scriptfile


host option以"//"开头,设置一些参数 如


cscript //nologo XXX.vbs或者cscript //logo XXX.vbs,后面一个多了一行“版权所有”之类的话


2.报读WSDL文件错误时,试试将<?xml version=’1.0’ encoding=’UTF-16’ ?>改为<?xml

version=’1.0’ encoding=’gb2312’ ?>


3.在Advanced Server下面,要注意DLL的执行权限



理解服务器端的开发


在这个简单的应用中,你首先在服务器端创建创建DocSample1.dll。这个DLL实现简单的算术操作(EchoString,

AddNumbers,和SubtractNumbers)。注意,如果没有在运行IIS的服务器上创建这个DLL,必须将之复制到服务器上,并注册。



DocSample1.wsdl:这个WSDL文件描述了服务以及服务中包含的操作: EchoString, AddNumber,和

SubtractNumbers. 它定义了客户发送SOAP消息时必须遵从的格式。


DocSample1.wsml:这个WSML文件是Microsoft SOAP实现中特定的文件。


DocSample1.asp: 这个ASP文件处理SOAP请求。URl收藏 http://www.qqread.com/xml-soap/f264450.html进入讨论组讨论。
收藏此文】【 】【打印】【关闭
较早的文章:默认名字空间

较新的文章:向你的XML增加一个导航脚本
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
最新论坛文章
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章