博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
asp调用.net xml web services
阅读量:6313 次
发布时间:2019-06-22

本文共 2116 字,大约阅读时间需要 7 分钟。

来源:http://www.cnblogs.com/notus/archive/2006/08/10/473000.html#2662503

(是不是实际上可以用这个办法调用任何xml web services呢?高人答一下)

最近在做一个web services,由我来写文档。为了方便广大asp用户也可以使用我们的服务,特意在网上搜了半天,发现大致有下面两个办法来通过asp调用.net xml web services。
1. 使用soap toolkit 3.0
2. 使用xmlhttp
我来写个总结,这样以后大家如果遇到这样的问题,如果用搜索搜到我的页面上,那立刻就可以实现自己的方案了。
1. 使用soap toolkit 3.0
如果网站建立在自己可以控制的服务器,则可选择安装soap toolkit 3.0来使用。soap toolkit是微软提供的web services解决方案。可以从下面的地址下载得到,它是免费的。
下载后,安装即可。
Asp我也只是几年前写过,现在已经淡忘了,所以,下面只是把基本的相关操作写下来,再具体的例子,可以查看随soap toolkit一起安装的User Guide, 那里面有专门的示例。
基本流程为
 ‘建立一个MSSOAP.SoapClient30对象。
Set sc = CreateObject("MSSOAP.SoapClient30")
‘设定ServerHTTPRequest为true。
sc.ClientProperty("ServerHTTPRequest") = True
‘调用mssoapinit方法来完成对web services的引用
 sc.mssoapinit "","","",""
‘开始调用web services提供的方法
msg=  sc.HelloIE("notus","kerry")
msg接收返回值并进行下一步的处理.。我只测试了最基本的string类型,对其他复杂类型的接收,同样,请查看User Guide.
mssoapinit 接受4个参数。其中第一个为web services 的WSDL 地址。(The URL of the WSDL file that describes the services offered by the server or a string containing the WSDL document.)其他三个可选。
soap toolkit User Guide提供了更多的例子和详细的文档说明.
使用soap toolkit的好处很明显,就是可以方便的使用web services的各种方法,而且其本身也带有不错的支持.缺点当然也很明显,就是需要安装,就这一点,估计大部分人就不会用了.

2. 使用xmlhttp

Set objHTTP = Server.CreateObject("MSXML2.XMLHTTP")
'注意,这里不是指定wsdl地址,而是确定要使用的web services 方法
strWebserviceURL = ""
'设置参数及其值,这里是比较麻烦的一点,最后构造的是一个类似于”msg1&msg2&msg3”的字符串.
i="notus red"
ac="loves"
strRequest = "msg="+i+"&action="+ac
objHTTP.Open "POST", strWebserviceURL, False
'设置这个Content-Type很重要
objHTTP.SetRequestHeader "Content-Type", "application/x-www-form-urlencoded"
‘发送数据到web sercices
objHTTP.Send(strRequest)
‘接收返回的数据
Set xmlDOC =Server.CreateObject("MSXML.DOMDocument")
bOK = xmlDOC.load(objHTTP.responseXML)
‘对数据进行处理
msg = xmlDOC.xml
bOK如果为true,则表示成功接收到了返回的数据.
看到这里,大家也都明白了,这个其实就是直接post数据过去,然后再把返回数据取回来.貌似有点ajax的味道.
这个,据说是需要服务器端支持用post/get访问web services.也就是要在web.config中加入
<webServices>
<protocols>
<add name="HttpPost"/>
<add name="HttpGet"/>
</protocols>
这是一个通用的办法,不需要安装任何东西,可是比较麻烦.

具体这两种方法的效果如何,我这里还没有上线验证.但是我本地测试是可以的.过几天上线测试后,如果有问题出现,会在回来补充.

本文转自夏雪冬日博客园博客,原文链接:http://www.cnblogs.com/heyonggang/p/3158255.html,如需转载请自行联系原作者

你可能感兴趣的文章
数据结构例程—— 交换排序之快速排序
查看>>
WKWebView代理方法解析
查看>>
IOS定位服务的应用
查看>>
[SMS&WAP]实例讲解制作OTA短信来自动配置手机WAP书签[附源码]
查看>>
IOS中图片(UIImage)拉伸技巧
查看>>
【工具】系统性能查看工具 dstat
查看>>
基于zepto或jquery的手机端弹出框成功,失败,加载特效
查看>>
php引用(&)
查看>>
Delphi 操作Flash D7~XE10都有 导入Activex控件 shockwave
查看>>
oracle 学习笔记之名词解释
查看>>
MySQL Cluster搭建与测试
查看>>
python数据分析画图体验
查看>>
军规15 确保集成和调用第三方APP
查看>>
Etcd和ZooKeeper,究竟谁在watch的功能表现更好?
查看>>
Shredding Company 碎纸机,dfs()枚举每一种情况,再加剪枝。
查看>>
命名空间和模块化编程 - C++快速入门39
查看>>
结构化程序设计03 - 零基础入门学习Delphi12
查看>>
今天才知道怎么插入代码!!!!!!!!!
查看>>
D2007在64位Win7出现 delphi 2007 assertion failure thread32.cpp 的解决办法
查看>>
STM32的TAMPER-RTC管脚作为Tamper的使用[转]
查看>>