- 浏览: 117807 次
- 来自: ...
文章分类
最新评论
读完了WSDL 1.1的规范,令人惊讶的是发现似乎例子中有几个错误
在下面用红色字体标出了错误相关之处,用蓝色字体标出了注释
我不确定是我理解有误还是它真的错了,贴出来大家一起看看;再说现在都WSDL2.0了
原文地址:http://www.w3.org/TR/wsdl
1,Example 1 (同样的错误还发生在Example 2, 4,5,估计是“copy-paste” bug pattern)
Example 1 SOAP 1.1 Request/Response via HTTP
<?xml version="1.0"?> <definitions name="StockQuote" targetNamespace="http://example.com/stockquote.wsdl" xmlns:tns="http://example.com/stockquote.wsdl" xmlns:xsd1="http://example.com/stockquote.xsd" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns="http://schemas.xmlsoap.org/wsdl/"> <types> <schema targetNamespace="http://example.com/stockquote.xsd" xmlns="http://www.w3.org/2000/10/XMLSchema"> <element name="TradePriceRequest"> <complexType> <all> <element name="tickerSymbol" type="string"/> </all> </complexType> </element> <element name="TradePrice"> <complexType> <all> <element name="price" type="float"/> </all> </complexType> </element> </schema> </types> <message name="GetLastTradePriceInput"> <part name="body" element="xsd1:TradePriceRequest"/> </message> <message name="GetLastTradePriceOutput"> <part name="body" element="xsd1:TradePrice"/> </message> <portType name="StockQuotePortType"> <operation name="GetLastTradePrice"> <input message="tns:GetLastTradePriceInput"/> <output message="tns:GetLastTradePriceOutput"/> </operation> </portType> <binding name="StockQuoteSoapBinding" type="tns:StockQuotePortType"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="GetLastTradePrice"> <soap:operation soapAction="http://example.com/GetLastTradePrice"/> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> </binding> <service name="StockQuoteService"> <documentation>My first service</documentation> <port name="StockQuotePort" binding="tns:StockQuoteBinding"> <!--应为 StockQuoteSoapBinding ? --> <soap:address location="http://example.com/stockquote"/> </port> </service> </definitions>
2, Example 5: GetLastTradePrice vs. GetTradePrices
Example 5. SOAP binding of request-response RPC operation over HTTP
<?xml version="1.0"?> <definitions name="StockQuote" targetNamespace="http://example.com/stockquote.wsdl" xmlns:tns="http://example.com/stockquote.wsdl" xmlns:xsd="http://www.w3.org/2000/10/XMLSchema" xmlns:xsd1="http://example.com/stockquote/schema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns="http://schemas.xmlsoap.org/wsdl/"> <types> <schema targetNamespace="http://example.com/stockquote/schema" xmlns="http://www.w3.org/2000/10/XMLSchema"> <complexType name="TimePeriod"> <all> <element name="startTime" type="xsd:timeInstant"/> <element name="endTime" type="xsd:timeInstant"/> </all> </complexType> <complexType name="ArrayOfFloat"> <complexContent> <restriction base="soapenc:Array"> <attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:float[]"/> </restriction> </complexContent> </complexType> </schema> </types> <message name="GetTradePricesInput"> <part name="tickerSymbol" element="xsd:string"/> <part name="timePeriod" element="xsd1:TimePeriod"/> </message> <message name="GetTradePricesOutput"> <part name="result" type="xsd1:ArrayOfFloat"/> <part name="frequency" type="xsd:float"/> </message> <portType name="StockQuotePortType"> <operation name="GetLastTradePrice" parameterOrder="tickerSymbol timePeriod frequency"><!--应为 GetTradePrices? --> <input message="tns:GetTradePricesInput"/> <output message="tns:GetTradePricesOutput"/> </operation> </portType> <binding name="StockQuoteSoapBinding" type="tns:StockQuotePortType"> <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="GetTradePrices"> <soap:operation soapAction="http://example.com/GetTradePrices"/> <input> <soap:body use="encoded" namespace="http://example.com/stockquote" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> </input> <output> <soap:body use="encoded" namespace="http://example.com/stockquote" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> </output> </operation>> </binding> <service name="StockQuoteService"> <documentation>My first service</documentation> <port name="StockQuotePort" binding="tns:StockQuoteBinding"> <soap:address location="http://example.com/stockquote"/> </port> </service> </definitions>
3,Example 3: smtp?
Example 3. SOAP binding of one-way operation over SMTP using a SOAP Header
<?xml version="1.0"?> <definitions name="StockQuote" targetNamespace="http://example.com/stockquote.wsdl" xmlns:tns="http://example.com/stockquote.wsdl" xmlns:xsd1="http://example.com/stockquote.xsd" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns="http://schemas.xmlsoap.org/wsdl/"> <message name="SubscribeToQuotes"> <part name="body" element="xsd1:SubscribeToQuotes"/> <part name="subscribeheader" element="xsd1:SubscriptionHeader"/> </message> <portType name="StockQuotePortType"> <operation name="SubscribeToQuotes"> <input message="tns:SubscribeToQuotes"/> </operation> </portType> <binding name="StockQuoteSoap" type="tns:StockQuotePortType"> <soap:binding style="document" transport="http://example.com/smtp"/><!--应为http://schemas.xmlsoap.org/soap/smtp? --> <operation name="SubscribeToQuotes"> <input message="tns:SubscribeToQuotes"> <soap:body parts="body" use="literal"/> <soap:header message="tns:SubscribeToQuotes" part="subscribeheader" use="literal"/> </input> </operation> </binding> <service name="StockQuoteService"> <port name="StockQuotePort" binding="tns:StockQuoteSoap"> <soap:address location="mailto:subscribe@example.com"/> </port> </service> <types> <schema targetNamespace="http://example.com/stockquote.xsd" xmlns="http://www.w3.org/2000/10/XMLSchema"> <element name="SubscribeToQuotes"> <complexType> <all> <element name="tickerSymbol" type="string"/> </all> </complexType> </element> <element name="SubscriptionHeader" type="uriReference"/> </schema> </types> </definitions>
发表评论
-
The Object Primer
2004-12-11 11:21 5861,书名 被翻译成“ ... -
错误处理规范
2004-12-11 16:47 756错误处理规范 〇、概念澄清 概念 解释 错误 ... -
Java,误解为何如此之深
2005-08-24 13:50 593前几天被电话面试,问J ... -
Java:画蛇添足的编码规范
2005-09-02 13:13 607前几天公司培训编码规范: 第n条: ... -
synchronized : 规则, 推论与实践
2007-07-23 22:32 46414.3.Synchronization. Rule ... -
交互设计: 股市帮凶
2008-05-04 21:30 642同事 Y 在线操作股票时, 把"买入"点成 ... -
交互设计: 火车上的厕所
2008-05-26 17:17 606有人在动车组的厕所前等了很久, 直到乘务员路过说厕所是被锁住了 ... -
设计原则与模式: 案例介绍--CppUnit
2008-06-01 20:15 610设计原则与模式: 案例介绍--CppUnit CppUnit ... -
工作流:形参,实参,相关数据
2004-12-11 11:40 671关于形参,实参,相关数据 一、形参(FormalParame ... -
工作流:第一次发版,过程总结
2004-12-11 11:42 709交流 即时讨论:小组成员咫尺之遥,有问题立即提出并解决 ... -
工作流:第一次发版,设计总结
2004-12-11 11:43 610整体 面向接口:消息系统,持久系统等,其实现都是可替换 ... -
Beyond Workflow : An Introduction to Vitria BusinessWare
2005-09-26 10:13 803一、简介 Busines ... -
Vitria BusinessWare: 存储与访问安全
2006-03-26 15:45 746事实上,BusinessWare使用LDAP做为存储机制和 ... -
Vitria BusinessWare: 平台与软件总线
2006-04-01 12:59 838经过一段时间的使用 ... -
Vitria BusinessWare: Web Services
2006-04-01 14:30 739BusinessWare的Web Services ... -
Web Services:自洽,编码,交换模型
2006-04-01 16:02 6731, 自洽 以前曾经写过: 目前WebServi ... -
C++/CLI:被忽视的集成技术
2006-05-17 20:02 754十几行代码,就使一个重要的旧系统组件,完全融入了基于.Ne ... -
AJP/JK:异构Web平台的集成技术
2006-05-25 21:44 707Tomcat Connector 可以将Tomcat ... -
Vitria BusinessWare: 事件与端口
2006-05-27 17:24 656Event BusinessWare是一个事件驱动的系统 ... -
WS-Security Interoperability Issues: WebSphere, JBoss, Axis and .Net
2006-08-31 22:46 837检验了一下WS-Security的互操作情况,涉及到 ...
相关推荐
WSDL(Web Services Description Language)1.1版本作为W3C发布的官方标准规范,是描述网络服务的一套详尽指南,旨在为开发者提供一个统一、标准化的方式,来定义和描述网络服务的功能和通信协议。这份规范的重要性...
Web服务说明语言(WSDL,Web Services Description Language)是一种基于XML的规范,用于定义网络服务的接口。WSDL文件是Web服务的核心组成部分,它描述了服务的位置、提供的操作以及如何与这些服务进行通信。在本篇...
WSDL文档由以下几个主要部分组成: - **服务(Service)**:定义服务的端点,即服务的实际位置,通常是一个URL。 - **绑定(Binding)**:定义服务接口如何被实际访问,包括通信协议(如HTTP、SOAP)和消息格式(如...
### Web Service描述语言 (WSDL) 详解 #### 一、引言 WebService描述语言 (WSDL) 是一种用于描述Web服务的XML格式。通过WSDL,开发人员能够明确地指出服务的功能、如何调用这些功能以及数据如何被传递。WSDL的引入...
在"wsdl事例代码"中,我们可以探讨以下几个关键知识点: 1. **WSDL结构**:WSDL文档由多个部分组成,包括服务定义、消息定义、端点定义和绑定定义。服务定义指明服务名,消息定义描述交换的数据,端点定义指出服务...
在这个过程中,我们将讨论以下几个关键知识点: 1. **Silverlight简介**:Silverlight是微软推出的一种轻量级的插件技术,用于构建丰富的、交互式的网络应用。它支持多媒体、图形和动画,特别适用于开发富互联网...
首先,WSDL文件的核心内容包括以下几个部分: 1. **服务(Service)**:定义服务的位置,即服务可以被访问的网络地址。 2. **端口(Port)**:是服务的具体访问点,每个端口都有一个特定的绑定(Binding),规定了...
一个WSDL文件通常包含以下几个关键元素: - **服务(Service)**:定义服务的端点(endpoint),即服务的实际位置。 - **绑定(Binding)**:描述服务如何被访问,包括使用的传输协议(如HTTP或SOAP over HTTP)和...
WSDL文档通常包含以下几个部分: - **文档声明(XML Header)**:定义文档的基本属性,如版本信息。 - **命名空间(Namespaces)**:定义使用的命名空间,避免元素名冲突。 - **类型定义(Types)**:定义消息中...
一个WSDL文件通常由以下几个主要部分组成: - **文档声明**:包含XML命名空间和WSDL版本信息。 - **服务定义**:定义服务的整体结构,包括服务名和服务端点(即服务的网络地址)。 - **消息定义**:描述在服务交互...
在这个"J2me连接WebServices框架 - kSOAP2源码"中,我们可以学习以下几个关键知识点: 1. **J2ME 平台**:J2ME 包含一组可配置的 Java 技术,适用于有限内存和处理能力的设备。它包括 MIDP(Mobile Information ...
WSDL文档由以下几个主要部分组成: - **服务(Service)**:定义服务的访问点,即客户端可以通过哪些URL来访问服务。 - **端口类型(PortType)**:描述服务提供的操作集,类似于接口。 - **绑定(Binding)**:...
WSDL文档由几个关键元素构成: 1. ****:文档的根元素,包含了整个Web服务的定义。 2. ****:定义服务所用的数据类型,通常使用XML Schema来定义。 3. ****:描述了在服务操作中交换的消息结构,可以包含一个或多个...
5. **配置Web.config**: 在Web.config文件中,可以通过`<system.webServices>`节的`<wsdlHelpGenerator>`子节点来配置WSDL生成行为。虽然不能直接更改标签名称,但可以控制WSDL帮助页面的显示。 6. **使用svcutil...
契约优先方法是一种开发Web服务的方法论,其中首先定义接口规范(通常为XSD或WSDL),然后根据这些规范生成代码。这种方法强调了接口设计的重要性,并有助于确保服务实现与接口之间的一致性。 ##### 2.2 对象/XML...
WSDL(Web Services Description Language)是一种基于XML的语言,用于描述网络服务。它是一种标准化的方法,用于描述网络服务的使用方式,以便客户端应用程序能够发现、调用和与网络服务进行交互。WSDL文件为服务的...
Web服务的标准化工作主要围绕以下几个关键技术: 1. SOAP(Simple Object Access Protocol):SOAP是用于在Web服务中传输信息的协议。它基于XML,提供了封装、编码和消息传输的规范,确保数据能够在不同的系统间...
首先,XFire的核心组件包括以下几个方面: 1. **SOAP绑定**:XFire支持SOAP 1.1和1.2协议,这是Web服务最常用的传输协议。它将XML消息转换为HTTP请求,以便在服务器和客户端之间传递数据。 2. **WSDL生成器**:...
Java2WSDL和WSDL2Java是两种在Java与Web服务之间进行交互的重要工具,它们在企业级软件开发中扮演着关键角色。本指南将详细解释这两个工具的用途、工作原理以及如何在实际项目中应用。 Java2WSDL工具允许开发者从...
WSDL文件主要包含以下几个部分: 1. **服务定义(Service)**:定义了Web服务的端点,即服务提供者在哪里监听请求。 2. **绑定(Binding)**:定义了服务如何被调用,包括使用的传输协议(如HTTP、SOAP over HTTP等...