types:定义作为服务一部分进行交换的消息中包含的数据类型。数据类型可以是简单、复杂、派生或者数组类型。在 WSDL 文档的消息元素中引用的类型(架构定义或参考)是在该 WSDL 文档的类型元素中定义的。
message:定义该服务交换的消息。WSDL 文档对于每个交换消息有一个消息元素,并且该消息元素包括与 \\ 消息相关的数据类型。例如,在清单 1 中,第一个消息包括单个部分,它属于类型字符串。
portType:以抽象方式指定作为该服务一部分的操作和消息。对于它定义的每项服务,WSDL 文档都有一个或多个 portType 定义。在清单 1 中,仅定义了一个端口类型,即 WeatherService。
binding:将抽象的端口类型与其消息和操作绑定到传输协议和消息格式。在清单 1 中,定义了一个操作 getWeather,它同时具有输入和输出消息。这两则消息都以 SOAP 正文格式交换。绑定传输协议是 HTTP。
service 和 port:通过为绑定提供单一地址,定义实际服务的名称并为该服务指定一个端点。一个端口只能有一个地址。该 service 元素通过名称属性将相关端口组合在一起,为该服务提供逻辑名称。在清单 1 中,定义了一个名为 WeatherWebService 的服务,该服务具有地址为 http://mycompany.com/weatherservice 的单一端口(或端点)。
<?xml version=’1.0’ encoding=’UTF-8’?>
<definitions name =’WeatherWebService
targetNamespace=’urn:WeatherWebService’
xmlns:tns=’urn:WeatherWebService’
xmlns=’http:/schemas.xmlsoap.org/wsdl/’
xmlns:xsd=’http://www.w3.org/2001/XMLSchema’
xmlns:soap=’http://schemas.xml.soap.org/wsdl/soap/’
<types/>
<message name=’WeatherService_getWeather’>
<part name=’City’ type=’xsd:string’/>
</message>
<message name=’WeatherService_getWeatherResponse’>
<part name=’result’ type=’xsd:string’/>
</message>
<portType name=’WeatherService’>
<operation name=’getWeather’ parameterOrder=’City’>
<input message=’tns:WeatherService_getWeather’/>
<output message=’WeatherService_getWeatherResponse/>
</operation>
</portType>
<binding name=’WeatherServiceBinding’ type=’tns:WeatherService’>
<operation name=’getWeather’>
<input>
<soap:body use=’literal’ namespace=’urn:WeatherWebService’/>
</input>
<output>
<soap:body use:literal namespace=’urn:WeatherWebService’/>
</output>
<soap:operation soapAction=’’/>
</operation>
<soap:binding transport=’http://schemas.xmlsoap.ord/soap/http’ style=’rpc’/>
</binding>
<service name=’WeatherWebService’>
<port name=’WeatherServicePort’ binding=’tns:WeatherServiceBinding’>
<soap:address location=http://mycompany.com/weatherservice’/>
</port>
</service>
清单1
分享到:
相关推荐
总结来说,创建和使用Eclipse WTP创建WSDL文件涉及了从设计服务接口到实现业务逻辑,再到发布服务的全过程。理解并熟练掌握这些步骤是开发Web服务的关键。在实践中,还需要关注错误检查、测试和调试,以确保Web服务...
每个WSDL文件都由多个部分组成,如服务定义、端点地址、消息结构、数据类型定义等。开发者可以通过阅读这些文件理解ONVIF服务的完整交互过程。 二、利用gSOAP生成ONVIF代码框架 gSOAP是一个开源的C/C++软件开发...
3. SOAP消息结构:一个SOAP消息由三部分组成:SOAP Envelope(定义消息结构)、SOAP Header(包含可选的元信息)和SOAP Body(包含实际的数据或请求)。 4. HTTP作为传输协议:SOAP通常利用HTTP协议进行传输,因为...
WSDL绑定样式由两个关键属性组成:`style` 和 `use`。这两个属性的不同组合产生了多种绑定模型,每种模型都有其特定的应用场景和优缺点。 - **Style**: 可以是 `RPC` 或 `Document`。 - **RPC (Remote Procedure ...
腾讯地图提供了丰富的API和服务,包括定位、路径规划、地图展示等,其中地址解析接口是其中的重要组成部分。该接口通常会接受一个包含经纬度的请求,然后返回一个包含详细地址信息的JSON对象。开发者可以通过调用这...
通过WSDL文件,客户端可以获取服务的详细信息,包括如何发送SOAP消息。因此,在实践中,两者相辅相成,共同支撑着Web服务的构建与使用。 #### 五、总结 SOAP和WSDL是现代Web服务的核心技术。SOAP定义了消息格式和...
WSDL文档由多个组成部分构成,主要包括以下元素: - **Types**: 定义了可以在WSDL文档中使用的数据类型。 - **Message**: 定义了服务之间交换的数据格式。 - **PortType**: 定义了服务操作的抽象集合。 - **...
`GoogleSearch.wsdl` 文件是一个Web服务描述语言(WSDL)文档,它定义了谷歌地图API的接口和消息格式。WSDL文件是SOAP(简单对象访问协议)服务的关键部分,它允许服务消费者(如你的代码)与服务提供者(谷歌地图...
- **WSDL定义**:提供了SC与FSU之间Webservice接口的详细描述,包括服务地址、消息格式等信息。 - **基本报文格式定义**:定义了SC与FSU之间交互的基本报文格式,确保数据的一致性和完整性。 ##### 3.3 FSU编码与...
在soapUI中,用户可以通过导入WSDL(Web Service Description Language)文件来创建SOAP项目,这将自动生成接口、方法和消息结构。 4. **创建REST项目**: 对于REST接口,用户可以直接输入API的URL,soapUI会自动...
一、JAR文件的结构与组成 1. MANIFEST.MF:每个JAR文件都有一个清单文件,其中包含了关于JAR的基本信息,如主类(用于启动应用的类)、版本信息等。 2. 类文件(.class):包含编译后的Java源代码,这些类文件被组织...
- 服务接口定义:如WSDL文件,描述了客户端与服务器之间的通信协议。 - 数据模型:定义流程图的数据结构。 通过学习和研究这个源代码,开发者可以了解到如何在ASP.NET和Silverlight环境下构建一个复杂的图形化工具...
- **抽象WSDL文件**:描述服务的接口和消息结构,不涉及具体实现细节。 - **具体WSDL文件**:结合抽象定义和具体实现,提供完整的服务描述。 #### 结论 网络服务的设计与实现是一个复杂的过程,涉及到风格选择、...
用户只需要提供WSDL(Web服务定义语言)地址,这是一种XML格式的文件,用于描述Web服务的接口和消息结构。接着,输入必要的参数,点击“invoke”(调用)按钮,工具就会执行请求并返回响应,从而帮助检查服务是否按...
2. **SOAP接口定义**:可能有一个WSDL(Web Services Description Language)文件,定义了服务的接口、方法、输入和输出参数。WSDL文件是SOAP服务的重要组成部分,它允许客户端了解如何与服务进行通信。 3. **组件*...
1. **SOAP消息结构**:SOAP消息由三个主要部分组成:Header(头)、Body(主体)和Envelope(封装)。Header用于传递与消息处理相关的元数据,Body则包含服务调用的实际内容。 2. **JAX-WS(Java API for XML Web ...
WSDL文件是Web服务消费者找到并理解服务的重要方式。 3. SOAP(Simple Object Access Protocol): SOAP是用于在Web上交换结构化和类型化信息的协议。它定义了一种消息结构,使得应用程序可以通过HTTP等传输协议...
- **WSDL**:Web服务描述语言是定义Web服务接口的标准,Axis通过WSDL文件生成Java服务端代码和客户端代理类,使得开发者能够轻松与服务交互。 - ** Axis2**:Axis的第二代版本,提供了更强大的性能和扩展性,包括...