[WebService Test]: 3. SOAP

本文介绍了SOAP(简单对象访问协议)的基本概念及其在Web服务中的应用。作为一种基于XML的数据交换协议,SOAP能够描述方法名、参数类型及返回值等,使Web服务的使用者能够了解其提供的接口和服务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 什么是SOAP ?

SOAP :(simple object access protocol,简单对象访问协议),它是简单,轻量级的信息交换协议。

作用是:数据交换。

语言:基于XML的WSDL语言。它可以描述方法名,参数类型,返回值,调用WebService地址,接口,协议和复杂数据结构(如,数组,结构体,集合等)。通过这些,使用者可以判断出这个web服务都有哪些函数接口,每个函数的参数是什么,返回值是什么等。有了这些,才能够构造SOAP报文来调用该Web服务的某个函数接口。

优点:SOAP不需HTTPGETPOST,它不受名称/对的限制,我们可以使用它来发送复杂的对象,包括DataSet(缓存中的数据库)、类和其他对象。

缺点: 由于SOAP消息十分冗长,因此如果存在带宽或者传输性能的问题,会导致接收和发送的消息遗失,在此情况下,建议使用POST或GET。

结构: 消息内容和一个或多个头模块组成,封装在SOAP envelope中。

下面是一个SOAP报文的例子:

<?xml version="1.0" encoding="utf-8"?>

- < wsdl:definitions name =" HPFlights_Service " targetNamespace =" HP.SOAQ.SampleApp " xmlns:wsdl =" http://schemas.xmlsoap.org/wsdl/ " xmlns:soap =" http://schemas.xmlsoap.org/wsdl/soap/ " xmlns:wsu =" http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd " xmlns:soapenc =" http://schemas.xmlsoap.org/soap/encoding/ " xmlns:wsam =" http://www.w3.org/2007/05/addressing/metadata " xmlns:tns =" HP.SOAQ.SampleApp " xmlns:wsa =" http://schemas.xmlsoap.org/ws/2004/08/addressing " xmlns:wsp =" http://schemas.xmlsoap.org/ws/2004/09/policy " xmlns:wsap =" http://schemas.xmlsoap.org/ws/2004/08/addressing/policy " xmlns:xsd =" http://www.w3.org/2001/XMLSchema " xmlns:msc =" http://schemas.microsoft.com/ws/2005/12/wsdl/contract " xmlns:wsaw =" http://www.w3.org/2006/05/addressing/wsdl " xmlns:soap12 =" http://schemas.xmlsoap.org/wsdl/soap12/ " xmlns:wsa10 =" http://www.w3.org/2005/08/addressing " xmlns:wsx =" http://schemas.xmlsoap.org/ws/2004/09/mex ">
- < wsdl:types >
- < xsd:schema targetNamespace =" HP.SOAQ.SampleApp/Imports ">
  < xsd:import schemaLocation =" http://yaweijun1:24240/HPFlights_SOAP?xsd=xsd0 " namespace =" HP.SOAQ.SampleApp " />
  < xsd:import schemaLocation =" http://yaweijun1:24240/HPFlights_SOAP?xsd=xsd1 " namespace =" http://schemas.microsoft.com/2003/10/Serialization/ " />
  </ xsd:schema >
  </ wsdl:types >
- < wsdl:message name =" IHPFlights_Service_CreateFlightOrder_InputMessage ">
  < wsdl:part name =" parameters " element =" tns:CreateFlightOrder " />
  </ wsdl:message >

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值