导航
  • 主页
  • .NET Framework
  • ASP
  • Web Services
  • .NET互联网桌面应用
  • VB
  • 图表区
  • 分析与设计
  • 组件/控件开发
  • AppLauncher
  • 问答

100分在程序中怎么用get和post协议,来调用webservice获取数据?

nittystone 2002-07-30 10:42:19
教科书上说,soap影响效率,除非返回dataset或对象时用
建议用 get post ,但没有说怎么用?

不会是xmlhttp吧?赫赫。。
...全文
372 点赞 收藏 13
写回复
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
nittystone 2002-07-31
还是没有人
告诉我解决方法阿?
回复
mbm 2002-07-30
是协议,完整的应该是HTTP-GET 和 HTTP-POST,楼书能说说soap影响效率的具体原因吗?


msdn:

XML Web services 连网形式

二进制协议(如 DCOM)由在专用通讯协议顶部运行的方法请求层组成。此类协议无益于创建通用的 XML Web services。然而,这并不防碍您在 XML Web services 方案中使用此类协议,但使用它们的缺点是此类协议依赖于它们的基础系统的特定结构,因此会限制潜在客户端的范围。

或者,您可以构造使用一种或多种开放式协议(如 HTTP 和 SOAP 的组合)的 XML Web services。正如您所了解的,支持不同协议所需的基础结构是不同的。

XML Web services 并不仅限于提供远程过程调用 (RPC) 访问。它们还可用于交换结构化信息(如采购订单和发票)以及用于自动化和连接内部与外部业务过程。

HTTP-GET 和 HTTP-POST
HTTP-GET 和 HTTP-POST 是使用 HTTP(超文本传输协议)谓词以及与之关联的请求语义将参数作为名称/值对编码和传递的标准协议。每个协议都由一系列 HTTP 请求标头组成,这些标头用于与一些其他信息一起定义客户端向服务器请求的内容,而在成功时,服务器将用一系列 HTTP 响应标头和所请求的数据响应。

HTTP-GET 使用 application/x-www-form-urlencoded 的 MIME 类型以 URL 编码文本格式传递其参数,该 MIME 类型将被追加到处理该请求的服务器的 URL。URL 编码是一种字符编码格式,它确保传递的参数由一致的文本组成(如将空格编码为 %20)。追加的参数也称为查询字符串。

与 HTTP-GET 类似,HTTP-POST 参数也是 URL 编码的。但是,名称/值对不是作为 URL 的一部分传递,而是在实际的 HTTP 请求消息中传递。

SOAP
SOAP 是一种基于 XML 的、用于在 Web 上交换结构化和类型信息的简单的轻量协议。SOAP 的总体设计目标是使其尽可能地简单,并提供最少的功能。该协议定义一个不包含任何应用程序或传输语义的消息处理框架。因此,该协议是模块化的,并具有很强的扩展性。

通过在标准传输协议上传输,SOAP 能够利用现有的 Internet 的开放式结构并可轻松地为能够支持最基本的 Internet 标准的任意系统所接受。可以认为支持符合 SOAP 的 XML Web services 所需的基础结构极其简单但却功能强大,原因是它向现有的 Internet 基础结构添加的内容相对较少,但仍能支持用 SOAP 生成的服务的通用访问。

SOAP 协议规范包含四个主要组成部分。第一部分定义用于封装数据的必需的可扩展信封。该 SOAP 信封定义 SOAP 消息,并且是 SOAP 消息处理器之间的基本交换单位。这是该规范唯一必需的部分。

SOAP 协议规范的第二部分定义用来表示应用程序定义的数据类型和有向图形的可选数据编码规则,以及用于序列化非句法数据模型的统一模型。

第三部分定义 RPC 样式(请求/响应)的消息交换模式。每个 SOAP 消息都是单向传输。尽管 SOAP 的根位于 RPC 中,但它不仅仅只是请求/响应机制。XML Web services 经常组合 SOAP 消息以实现此类模式,但 SOAP 并不强制要求消息交换模式,这部分规范也是可选的。

规范的第四部分定义 SOAP 和 HTTP 之间的绑定。但该部分也是可选的。可以将 SOAP 与任何能够传输 SOAP 信封的传输协议或机制(包括 SMTP、FTP 甚至软盘)结合在一起使用。
回复
evonne_feng 2002-07-30
soap不就是发送了get或者post的http请求,并在请求中嵌入标准xml格式。
用xmlhttp也可以实现soap协议。
我是这样认为的!
回复
ketao_78 2002-07-30
帮你推推
回复
nittystone 2002-07-30
是方法。。
sorry
怎么用 ??
回复
龙腾九霄 2002-07-30
如果我没搞错的话,soap才是协议,get 和post都是方法吧?
回复
howbigsea 2002-07-30
我觉得无所谓
soap影响效率能有多厉害!
回复
nittystone 2002-07-30
up
回复
nittystone 2002-07-30
to mbm(沉默是金)
我刚开始了解,这是老外书上写的,应该有道理
soap用的xml模式确实也比较大,
soap的优势是可以传递对象
不能因为是标准就无视他的缺点
书上建议是
返回dataset 对象 用soap
返回一个值 用get 或 post

to baitianhai(hong)
阿? 用xmlhttp获取数据后再用dom拆解? 肯定不是这么做啊
和以前没什么变化啊。
回复
ZengXi 2002-07-30
method="get"
然后submit
回复
mbm 2002-07-30
to nittystone:
soap 影响效率是因为soap必须么发送xml模式的信息,使发送到信息特别大。----不敢苟同

webservice的最大特点就是xml数据交换和soap协议,将来这将成为标准,为什么不用呢?
回复
baitianhai 2002-07-30
大概是这样的,WebService调用有3种方法:一是HTTP-Get方法,比如 http://www.abc.com/a.asmx/add?a=1&b=1
意思是调用 a.asmx的add方法,参数有2个,a=1,b=2,返回一个xml文件,其中包含返回的结果
二是Http-Post方法,原理是一样的。
三是使用SOAP。
如果在程序中调用的话,我相比较明白的应该就是用
ActiveXObject( "Microsoft.XMLHTTP" )这个东西吧,其他的就不太清楚了
回复
nittystone 2002-07-30
sorry 我思想有点混乱,澄清一下
1.可以通过get post方法来通过浏览器(http协议)来调用webservice
2 Http-Get Http-Post和soap应该都是 凌驾于http协议上的协议.
3 soap 影响效率是因为soap必须么发送xml模式的信息,使发送到信息特别大
4 Http-Get 可以这么访问服务
http://localhost/Get_Goods.asmx/get_goodsname?id=500
问题:怎么在程序里通过Http-Get来使用这个webservice
5 希望高手不领赐教...
回复
发动态
发帖子
.NET技术社区
创建于2007-09-28

5.8w+

社区成员

.NET技术交流专区
申请成为版主
社区公告
暂无公告