- 浏览: 1921571 次
- 性别:
- 来自: 福建莆田@广州
文章分类
最新评论
-
YuLimin:
关于开发者版本费用等问题请见:Have questions? ...
IBM于2009.06.19推出开发者免费版WebSphere Application Server -
YuLimin:
1、传统WAS : WebSphere Application ...
IBM于2009.06.19推出开发者免费版WebSphere Application Server -
chenlei65368:
咋加啊,总司令
微信JavaEye老炮群的入群标准-2009年之前注册JavaEye的技术人员 -
kkllmey:
怎么进呢。留个群号吧。
微信JavaEye老炮群的入群标准-2009年之前注册JavaEye的技术人员 -
Mr.TianShu:
3792274
微信JavaEye老炮群的入群标准-2009年之前注册JavaEye的技术人员
今天在搜索资料,无意中找到这个三种方法的比较,还不错,摘一些主要的如下:
发现 SOAP 编码对 Web 服务性能的影响,通过改变编码样式从根本上提高性能
http://www-128.ibm.com/developerworks/cn/webservices/ws-soapenc/
SOAP RPC这种编码样式是最简便的。您对远程对象进行调用,并传递任意必需的参数。SOAP 堆栈将这些参数序列化为 XML,再使用传输协议(如 HTTP 和 SMTP)将这些数据传送到目的地,然后接收响应,并将接收到的响应反序列化为对象,然后将结果返回到调用方法。唷!SOAP RPC 处理了所有的编码和解码工作(即使对于非常复杂的数据类型也是如此)并自动绑定到远程对象。
SOAP RPC 也允许通过文字编码将这些 XML 数据转换为单个字段,然后将这些字段序列化并发送到 Web 服务主机。这就是 RPC-literal编码所指的内容。由于只有一个参数 - 即 XML 树 - 所以 SOAP 堆栈只需要对一个值进行序列化。SOAP 堆栈仍然处理传输问题以将请求传送到远程对象。堆栈将请求绑定到远程对象并处理响应。
在 SOAP 文档样式调用中,SOAP 堆栈将整个 XML 文档发送到服务器,甚至不需要一个返回值。消息可以包含任何种类的对于远程服务适合的 XML 数据。在 SOAP 文档样式编码中,开发人员要处理每一件事,包括确定传输协议(如 HTTP、MQ 或 SMTP)、编入和编出 SOAP 信封体以及对请求和响应中的 XML 进行解析以找到所需的数据。
发现 SOAP 编码对 Web 服务性能的影响,通过改变编码样式从根本上提高性能
http://www-128.ibm.com/developerworks/cn/webservices/ws-soapenc/
- SOAP 远程过程调用(Remote Procedure Call,RPC)编码,也称为 Section 5 编码,它由 SOAP 1.1 规范定义
- SOAP 远程过程调用文字编码(SOAP RPC-literal),它使用 RPC 方法进行调用但使用 XML 自制的方法编入数据
- SOAP 文档样式(document-style)编码,也称为 消息样式(message-style)或 文档文字(document-literal)编码。
SOAP RPC这种编码样式是最简便的。您对远程对象进行调用,并传递任意必需的参数。SOAP 堆栈将这些参数序列化为 XML,再使用传输协议(如 HTTP 和 SMTP)将这些数据传送到目的地,然后接收响应,并将接收到的响应反序列化为对象,然后将结果返回到调用方法。唷!SOAP RPC 处理了所有的编码和解码工作(即使对于非常复杂的数据类型也是如此)并自动绑定到远程对象。
SOAP RPC 也允许通过文字编码将这些 XML 数据转换为单个字段,然后将这些字段序列化并发送到 Web 服务主机。这就是 RPC-literal编码所指的内容。由于只有一个参数 - 即 XML 树 - 所以 SOAP 堆栈只需要对一个值进行序列化。SOAP 堆栈仍然处理传输问题以将请求传送到远程对象。堆栈将请求绑定到远程对象并处理响应。
在 SOAP 文档样式调用中,SOAP 堆栈将整个 XML 文档发送到服务器,甚至不需要一个返回值。消息可以包含任何种类的对于远程服务适合的 XML 数据。在 SOAP 文档样式编码中,开发人员要处理每一件事,包括确定传输协议(如 HTTP、MQ 或 SMTP)、编入和编出 SOAP 信封体以及对请求和响应中的 XML 进行解析以找到所需的数据。
SOAP RPC 编码对于软件开发人员来说是最简单的;但是所有这些容易都是以牺牲可扩展性和性能为代价的。在 SOAP RPC-literal 编码中,您需要更多地对 XML 解析进行处理,但是这种编码样式对于 SOAP 堆栈来说需要处理开销。SOAP 文档文字编码对于软件开发人员是最难的了,但因此需要很少的 SOAP 开销。
为什么 SOAP RPC 会简单一些呢?使用这种编码样式,您只需要在代码中定义公共对象方法一次;SOAP 堆栈将请求参数编出到对象中并将这些参数直接传送到您的对象的方法调用中。否则,您必须完成在向公共方法进行调用之前遍历 XML 树进行解析以查找需要的元素这一任务。
对于您自己对 XML 数据进行解析这一点有一个论点:既然您最了解 XML 树中的数据,那么您的代码对那些数据进行解析要比通用的 SOAP 堆栈代码效率高。在衡量使用各个 SOAP 编码样式的可扩展性和性能的时候您会发现这一点。
评论
3 楼
ray_linn
2007-01-05
在没有Web Service toolkit的时候,我就用过SOAP 文档样式调用,用C++构建项目专有的XML分析和SOAP信封,速度当然快多了。
Generic是要用性能来作为代价的。
Generic是要用性能来作为代价的。
2 楼
comain
2007-01-04
<p>这个就是让用户自己完成数据绑定工作,document/literal也可以吧。 Axis2里的RawXML方式的Web服务开发就是这样的。RPC方式现在已经狠不流行了吧,好像Axis2是先支持document 格式,然后又提供了一个把RPC消息转换到Document方式的工具来支持RPC的? RPC Encoded里的类型信息感觉就是多余的。</p>
<p>觉得意义不大,应该尽量简化用户的工作不是?</p>
<p><br/>
<strong>YuLimin 写道:</strong><br/>
</p>
<div class='quote_div'>今天在搜索资料,无意中找到这个三种方法的比较,还不错,摘一些主要的如下:<br/>
<br/>
发现 SOAP 编码对 Web 服务性能的影响,通过改变编码样式从根本上提高性能<br/>
<br/>
<a href='http://www-128.ibm.com/developerworks/cn/webservices/ws-soapenc/' target='_blank'>http://www-128.ibm.com/developerworks/cn/webservices/ws-soapenc/</a><br/>
<ul>
<li><em>SOAP 远程过程调用(Remote Procedure Call,RPC)编码,</em>也称为 <em>Section 5 编码,</em>它由 SOAP 1.1 规范定义 </li>
<li><em>SOAP 远程过程调用文字编码(SOAP RPC-literal),</em>它使用 RPC 方法进行调用但使用 XML 自制的方法编入数据 </li>
<li><em>SOAP 文档样式(document-style)编码,</em>也称为 <em>消息样式(message-style)</em>或 <em>文档文字(document-literal)</em>编码。 </li>
</ul>
<em><br/>
SOAP RPC</em>这种编码样式是最简便的。您对远程对象进行调用,并传递任意必需的参数。SOAP 堆栈将这些参数序列化为 XML,再使用传输协议(如 HTTP 和 SMTP)将这些数据传送到目的地,然后接收响应,并将接收到的响应反序列化为对象,然后将结果返回到调用方法。唷!SOAP RPC 处理了所有的编码和解码工作(即使对于非常复杂的数据类型也是如此)并自动绑定到远程对象。<br/>
<br/>
SOAP RPC 也允许通过文字编码将这些 XML 数据转换为单个字段,然后将这些字段序列化并发送到 Web 服务主机。这就是 <em>RPC-literal</em>编码所指的内容。由于只有一个参数 - 即 XML 树 - 所以 SOAP 堆栈只需要对一个值进行序列化。SOAP 堆栈仍然处理传输问题以将请求传送到远程对象。堆栈将请求绑定到远程对象并处理响应。<br/>
<br/>
在 <em>SOAP 文档样式</em>调用中,SOAP 堆栈将整个 XML 文档发送到服务器,甚至不需要一个返回值。消息可以包含任何种类的对于远程服务适合的 XML 数据。在 SOAP 文档样式编码中,开发人员要处理每一件事,包括确定传输协议(如 HTTP、MQ 或 SMTP)、编入和编出 SOAP 信封体以及对请求和响应中的 XML 进行解析以找到所需的数据。<br/>
<br/>
<div align='center'><img src='http://www-128.ibm.com/developerworks/cn/webservices/ws-soapenc/fig1.gif' alt='三种编码系统的比较'/><br/>
<div align='left'><br/>
<p>SOAP RPC 编码对于软件开发人员来说是最简单的;但是所有这些容易都是以牺牲可扩展性和性能为代价的。在 SOAP RPC-literal 编码中,您需要更多地对 XML 解析进行处理,但是这种编码样式对于 SOAP 堆栈来说需要处理开销。SOAP 文档文字编码对于软件开发人员是最难的了,但因此需要很少的 SOAP 开销。</p>
<p>为什么 SOAP RPC 会简单一些呢?使用这种编码样式,您只需要在代码中定义公共对象方法一次;SOAP 堆栈将请求参数编出到对象中并将这些参数直接传送到您的对象的方法调用中。否则,您必须完成在向公共方法进行调用之前遍历 XML 树进行解析以查找需要的元素这一任务。</p>
<p>对于您自己对 XML 数据进行解析这一点有一个论点:既然您最了解 XML 树中的数据,那么您的代码对那些数据进行解析要比通用的 SOAP 堆栈代码效率高。在衡量使用各个 SOAP 编码样式的可扩展性和性能的时候您会发现这一点。</p>
</div>
</div>
</div>
<br/>
<br/>
<br/>
<br/>
<p>觉得意义不大,应该尽量简化用户的工作不是?</p>
<p><br/>
<strong>YuLimin 写道:</strong><br/>
</p>
<div class='quote_div'>今天在搜索资料,无意中找到这个三种方法的比较,还不错,摘一些主要的如下:<br/>
<br/>
发现 SOAP 编码对 Web 服务性能的影响,通过改变编码样式从根本上提高性能<br/>
<br/>
<a href='http://www-128.ibm.com/developerworks/cn/webservices/ws-soapenc/' target='_blank'>http://www-128.ibm.com/developerworks/cn/webservices/ws-soapenc/</a><br/>
<ul>
<li><em>SOAP 远程过程调用(Remote Procedure Call,RPC)编码,</em>也称为 <em>Section 5 编码,</em>它由 SOAP 1.1 规范定义 </li>
<li><em>SOAP 远程过程调用文字编码(SOAP RPC-literal),</em>它使用 RPC 方法进行调用但使用 XML 自制的方法编入数据 </li>
<li><em>SOAP 文档样式(document-style)编码,</em>也称为 <em>消息样式(message-style)</em>或 <em>文档文字(document-literal)</em>编码。 </li>
</ul>
<em><br/>
SOAP RPC</em>这种编码样式是最简便的。您对远程对象进行调用,并传递任意必需的参数。SOAP 堆栈将这些参数序列化为 XML,再使用传输协议(如 HTTP 和 SMTP)将这些数据传送到目的地,然后接收响应,并将接收到的响应反序列化为对象,然后将结果返回到调用方法。唷!SOAP RPC 处理了所有的编码和解码工作(即使对于非常复杂的数据类型也是如此)并自动绑定到远程对象。<br/>
<br/>
SOAP RPC 也允许通过文字编码将这些 XML 数据转换为单个字段,然后将这些字段序列化并发送到 Web 服务主机。这就是 <em>RPC-literal</em>编码所指的内容。由于只有一个参数 - 即 XML 树 - 所以 SOAP 堆栈只需要对一个值进行序列化。SOAP 堆栈仍然处理传输问题以将请求传送到远程对象。堆栈将请求绑定到远程对象并处理响应。<br/>
<br/>
在 <em>SOAP 文档样式</em>调用中,SOAP 堆栈将整个 XML 文档发送到服务器,甚至不需要一个返回值。消息可以包含任何种类的对于远程服务适合的 XML 数据。在 SOAP 文档样式编码中,开发人员要处理每一件事,包括确定传输协议(如 HTTP、MQ 或 SMTP)、编入和编出 SOAP 信封体以及对请求和响应中的 XML 进行解析以找到所需的数据。<br/>
<br/>
<div align='center'><img src='http://www-128.ibm.com/developerworks/cn/webservices/ws-soapenc/fig1.gif' alt='三种编码系统的比较'/><br/>
<div align='left'><br/>
<p>SOAP RPC 编码对于软件开发人员来说是最简单的;但是所有这些容易都是以牺牲可扩展性和性能为代价的。在 SOAP RPC-literal 编码中,您需要更多地对 XML 解析进行处理,但是这种编码样式对于 SOAP 堆栈来说需要处理开销。SOAP 文档文字编码对于软件开发人员是最难的了,但因此需要很少的 SOAP 开销。</p>
<p>为什么 SOAP RPC 会简单一些呢?使用这种编码样式,您只需要在代码中定义公共对象方法一次;SOAP 堆栈将请求参数编出到对象中并将这些参数直接传送到您的对象的方法调用中。否则,您必须完成在向公共方法进行调用之前遍历 XML 树进行解析以查找需要的元素这一任务。</p>
<p>对于您自己对 XML 数据进行解析这一点有一个论点:既然您最了解 XML 树中的数据,那么您的代码对那些数据进行解析要比通用的 SOAP 堆栈代码效率高。在衡量使用各个 SOAP 编码样式的可扩展性和性能的时候您会发现这一点。</p>
</div>
</div>
</div>
<br/>
<br/>
<br/>
<br/>
1 楼
YuLimin
2006-12-31
相关资源的下载
TestMaker:http://www.pushtotest.com/Downloads/features.html
SOAKit:http://downloads.pushtotest.com/beakit/SOAKit.zip
SOAP Encoding Performance Kit:http://downloads.pushtotest.com/SOAP_Encoding_Kit.zip
The Performance Kit:http://downloads.pushtotest.com/PerfKit.zip
Knowledge Kit:http://downloads.pushtotest.com/KnowledgeKit.zip
TestMaker:http://www.pushtotest.com/Downloads/features.html
SOAKit:http://downloads.pushtotest.com/beakit/SOAKit.zip
SOAP Encoding Performance Kit:http://downloads.pushtotest.com/SOAP_Encoding_Kit.zip
The Performance Kit:http://downloads.pushtotest.com/PerfKit.zip
Knowledge Kit:http://downloads.pushtotest.com/KnowledgeKit.zip
发表评论
-
如何并行启动WAS应用服务器?而不是按顺序启动?
2022-06-14 16:07 481如何并行启动WAS应用服务器?而不是按顺序启动? 登录ISC ... -
关于图片文件旋转JPEG与EXIF信息
2019-10-30 21:44 1034关于图片文件旋转JPEG与 ... -
通过Liberty存储库下载保存组件,再分发并离线安装之操作步骤
2019-07-05 16:17 1021通过Liberty存储库下载保存组件,再分发并离线安装之操作步 ... -
Effective Java Third Edition中文版勘误列表
2018-10-24 01:03 2240相关资源: Eclipse JDK 9 ... -
Effective Java Third Edition中文翻译术语表讨论专用贴
2018-10-24 00:44 1982在书正式出来之前,把术语表放出来讨论。 翻译时的原则: 1 ... -
工作生活运动都不误!KUNG攻公路自行车2018款Horizon装备之
2018-09-08 18:12 2146感谢贺总,感谢KUNG攻,接下来就是准备开始对飙轻量级自行车与 ... -
WAS 8.5在HP-UX Itanium上无法图形化安装启动IIM之解
2013-11-11 17:20 3006继之前写的“WAS 8.5在AIX上无法启动图形化概要管理工具 ... -
IBM WebSphere Application Liberty Profile苗条瘦身之道初探及剖析
2012-08-12 19:57 34381.1 背景信息 IBM WebSphere Applicat ... -
停止启用了安全性的WAS Server而不手动输入密码之第二种选择
2011-05-07 23:08 4744停止启用了安全性的WAS Server而不手动输入密码之第二种 ... -
IBM WebSphere Application Server V6.1 Fix Pack 37于2011.04.04发布
2011-04-05 14:25 1927IBM WebSphere Application Serve ... -
WAS证书过期替换之独立WAS Server之文字操作版
2010-12-31 20:32 5853WAS证书过期替换之独立WAS Server之文字操作版 一 ... -
WAS证书过期替换之DM + NodeAgent + WAS Server网络拓扑结构之文字操作版
2010-12-31 20:28 3174WAS证书过期替换之DM + No ... -
通过配置文件来修改WAS控制台Session过期时间的方法
2010-06-17 18:21 4760通过配置文件来修改WAS控制台Session过期时间的方法 ... -
Tomcat 7之无需JDK只需JRE与无需web.xm及J2SE 6.0之真实与谎言?
2010-06-14 18:48 4597Tomcat 7之无需JDK只需JRE与无需web.xm及J2 ... -
《程序员 Java天下事,2010.01 低碳时代之Java风云》8卜被退稿
2010-06-12 10:47 2592这一篇《程序员 Jav ... -
IBM WebSphere Application Server V6.1 Fix Pack 29于2010.01.18发布
2010-01-23 21:35 3209IBM WebSphere Application Serve ... -
IBM WebSphere Application Server V7.0 Fix Pack 7于2009.11.13发布
2009-11-18 18:11 1910IBM WebSphere Application Serve ... -
隆重推荐《冒号课堂——编程范式与OOP思想》
2009-10-26 18:37 4043背景信息: 冒号课堂的系列博客质量相当高,有订阅此博客的X ... -
IBM WebSphere Application Server V6.1 Fix Pack 27于2009.09.21发布
2009-10-10 11:50 1753IBM WebSphere Application Serve ... -
停个车真的不是一般的难ReentrantLock.lock之LockSupport.park
2009-07-17 16:41 3396今碰到一问题,原以为代码用上 ReentrantLock.lo ...
相关推荐
4. **SOAP Toolkit 3.0**:作为该工具包的主要版本,3.0可能引入了更多特性,比如更好的性能、更丰富的API支持、更强大的调试功能,以及对最新Web服务标准的兼容性。 5. **SOAP Toolkit 30B1.EXE**:这个文件很可能...
Web 服务描述语言(WSDL,Web Service Description Language)是一种XML格式,用于定义网络服务的接口,包括服务的位置、操作及如何与这些服务交互。在WSDL文档中,SOAP(Simple Object Access Protocol)绑定部分...
《使用SOAP编程网络服务》这本书全面覆盖了SOA的基本概念、SOAP协议的详细解释以及如何使用SOAP构建Web服务的实际指导。它不仅适用于初学者,也适合那些希望深入了解SOA和Web服务高级特性的开发者。通过学习本书,...
尽管SOAP基于XML,其解析和编码过程可能会影响性能,但PHP-SOAP扩展提供了一些优化选项,如禁用WSA(Web Services Addressing)头、禁用SOAP动作检查等,以减少不必要的处理。 总结: PHP-SOAP扩展为PHP开发者提供...
**标题解析:** "soap工具"指的是用于开发Web服务...综上所述,"soap工具"是为简化SOAP Web服务开发而设计的工具集合,提供了丰富的功能以帮助开发者高效、直观地构建和测试Web服务,同时确保服务的稳定性和互操作性。
其次,SOAP是一种基于XML的协议,用于在Web服务中交换结构化和类型化的信息。SOAP消息可以通过HTTP、SMTP等传输协议发送,使得不同平台的应用程序可以无缝地进行通信。SOAP提供了标准化的方法来封装、编码和传输数据...
SOAP 1.2对协议进行了改进,增强了性能和互操作性。 9. **SOAP与HTTP的结合**: SOAP通常通过HTTP POST方法进行传输,因为HTTP提供了一种可靠且广泛支持的方式传递数据。SOAP消息可以通过HTTP的POST请求正文发送,...
在Java环境下,实现Web服务通常涉及到使用SOAP(Simple Object Access Protocol)协议,它是一种使用XML来编码信息的协议,用于应用程序之间的通信。本篇文章将详细讲解与"WEB SERVICE"和"SOAP"相关的知识点,以及...
总的来说,《Delphi6 Kylix2--SOAP WEBSERVERS》是一本全面而实用的指南,适合对Delphi和Kylix有一定基础,希望掌握SOAP Web服务开发的程序员阅读。通过本书,读者可以掌握利用这两种工具构建高效、安全的Web服务...
- **NIO.2**:Java SE 6引入了新的非阻塞I/O API(NIO.2),改进了对网络通信和文件系统访问的支持,对于构建高性能Web服务和网络应用至关重要。 综上所述,Java SE 6在XML API和Web服务方面的改进极大地提升了...
- 测试Web服务:它可以帮助测试人员验证Web服务的正确性和性能,确保服务按照预期工作。 - 教育和学习:对于学习Web服务和SOAP协议的人来说,这个工具提供了一个实践和探索的平台。 总结,SOAP Toolkit 3.0是微软...
3. **Web服务测试**:学习如何使用SOAPUI等工具对Web服务进行功能测试和性能测试。 4. **企业级应用**:了解Java EE平台下的Web服务集成,如EJB(Enterprise JavaBeans)与SOAP的结合。 通过阅读《Java与SOAP》这...
2. **SOAP编码规则**:它定义了如何将应用特定的数据类型转换为XML数据类型,以及如何将这些数据类型封装在SOAP消息中。 3. **SOAP RPC表示**:它定义了如何使用SOAP来调用远程过程,以及如何在SOAP消息中表示参数和...
gSOAP(Generic SOAP)是一个强大的开源工具,它为C/C++程序员提供了创建和使用Web服务的框架,尤其在HTTP协议和SOAP(Simple Object Access Protocol)协议的处理上表现出色。本篇文章将深入探讨如何使用gSOAP通过...
WSDL(Web Services Description Language)是描述Web服务的标准语言,SOAP(Simple Object Access Protocol)则是用于在Web上交换结构化信息的协议。本文将详细介绍这两个概念以及与之相关的测试工具。 **WSDL...
5. **WSDL(Web服务描述语言)和UDDI(统一描述、发现和集成)**:理解如何使用WSDL来定义Web服务的接口,以及如何通过UDDI目录服务发现和注册Web服务。 6. **SOAP消息扩展**:学习如何编写自定义SOAP头部或处理...
在IT行业中,SOAP(Simple Object Access Protocol)是一种用于交换结构化信息的标准协议,常用于Web服务。本主题将深入探讨C++中使用SOAP通信类的相关知识点,特别关注如何利用vc++进行SOAP通信,并封装微软提供的...
使用"soapClient",开发者可以轻松地实现对远程Web服务的动态调用,无需预先编写大量的代码。这对于数据采集、系统集成或者自动化任务非常有用,因为只需知道服务的WSDL,就可以快速构建调用逻辑。 在实际应用中,...
- **1.6 服务传输**:讨论了传输协议的选择对Web服务性能的影响。 - **1.7 安全性考虑**:强调了安全措施对于保护Web服务的重要性。 - **1.8 综合运用**:通过实例展示了以上各部分的综合应用。 - **1.9 标准与...