使用 WSDL 部署 Web 服务: 第 1 部分

WSDL驱动的Web服务端点创建与部署 要深入自定义Web服务的行为,开发者需要进行源码级别的定制。CXF允许开发者通过插件系统来实现各种自定义需求,例如消息拦截、日志记录、安全控制等。例如,CXF提供了接口,通过这个接口,开发者可以创建自定义拦截器来处理传入和传出的消息:// 自定义处理消息的逻辑开发者可以将此拦截器注册到特定的阶段,如PRE_INVOKE或。 阅读详情
 

使用 WSDL 部署 Web 服务: 第 1 部分

Web 服务和 WSDL 简介

developerWorks
文档选项
将此页作为电子邮件发送

将此页作为电子邮件发送


级别: 初级

Bilal Siddiqui (wap_monster@yahoo.com), CEO, WAP Monster

2001 年 11 月 01 日

在“使用 WSDL 部署 Web 服务”系列中,Bilal 将研究创建、部署和发布 Web 服务的所有主要技术方面 ― 从 Web 服务描述语言(WSDL),到简单对象访问协议(SOAP)以及通用描述、发现和集成(UDDI)注册中心。第 1 部分集中讲述了 WSDL 创建:您将学习如何手工创建 WSDL 接口,然后将您的成果与 WSDL 编写工具的输出作比较。

可互操作的基于 Web 分布式应用程序的思想并非新近出现。仅举一例,电子数据交换(EDI)市场需求早在 B2B 在线电子商务获得任何有意义的实现之前就存在了 ― 并且随着 B2B 电子市场的普及,互操作性已经成为最迫切的 EDI 需求。

以任何在线电子市场为例。存在着许多企业,各自提供特有的“服务( services )”(让我们称之为“Web 服务( Web services )”)。在当今的电子商务中,尚不存在一种机制,使一个业务能自动发现其预期伙伴提供的服务。所谓的 下一代 .com还是提供这种自动的发现机制。

什么是 WSDL?

这种新的 .com 需要一种解决方案来描述它所提供的服务(Web 服务)。具体而言,这意味着您需要一种格式或某种类型的语法,使您可以通过使用它们来描述下列问题的答案:

  • 您的在线业务提供什么服务?
  • 您如何调用业务服务?
  • 当用户调用您的业务服务时,该业务服务需要他/她提供什么信息?
  • 用户将如何提供这些必需信息?
  • 服务将以什么格式发送返回给用户的信息?

很幸运,WSDL 提供了完成所有这些作业的机制。





回页首


WSDL 和 SOAP

 SOAP 和为更好理解 WSDL 是如何工作的,我将首先描述 HTTP 是如何使用 WSDL 工作的。WSDL 的用途是“描述”您的 Web 服务。业务之间将通过交换 WSDL 文件来理解对方的服务。一旦知道您伙伴的服务并希望调用它们,SOAP 就派上用场了。可以将服务看作是通过 SOAP 访问的对象。

最有可能的情况是,您将通过因特网或电子邮件与潜在伙伴通信。当然,因特网使用 HTTP 而电子邮件以 SMTP 方式工作,这使得 HTTP 和 SMTP 成为作为 SOAP 的“传输服务提供者”的有利候选人。





回页首


WSDL 编写

现在,我将讲述为 Web 服务编写 WSDL 的过程。目的是公开现有的 Web 服务。您所处的情况也许就是下列情况之一:

  • 您有一个现存的服务(例如,一个网站),并希望表示它的功能性。
  • 您有一个 WSDL,并且希望依照已经决定表示的功能性来实现 Web服务器端的逻辑。(有些人也许会认为这是一个不可能的方案,但是 UDDI 的指纹概念使它变得极为可能;我将在本系列的第四部分讨论 UDDI)。
  • 您正在从零开始,并且既无网站又无 WSDL 界面。

本文中所涵盖的信息适用于这些可能性中的任意一种或全部。





回页首


WSDL 编写的四个步骤

我将把 WSDL 编写分成四个简单步骤。遵循每个步骤,您的 Web 服务将准备就绪用于部署。

步骤 1:服务接口

您将构建一个移动电话销售公司的服务接口作为样本项目(我将这个服务称为 MobilePhoneService )。该公司销售不同型号的移动电话,所以公司 Web 服务的后端数据存储库中将包含一个具有两列( model number 和 price )的表格。(为了将焦点保持在 WSDL 本身,我保持该表格的简单性)。有两个关于要使用 WSDL 表示的服务的方法:

  • getListOfModels ()
  • getPrice (modelNumber)

GetListOfModels 方法提供了一个字符串数组,其中每个字符串表示一种移动电话的型号。 GetPrice 获得型号,然后返回它的价格。WSDL 将这些方法作为操作调用。现在将开始构建“WSDL 接口文件( WSDL interface file )”。

每个 WSDL 文件的根元素都是 <definitions> ,必须在其中提供服务的完整描述。首先,必须在 <definitions> 元素中提供各种名称空间的声明。三个必须做的外部名称空间声明是 WSDL、SOAP 和 XSD(XML 模式定义)。还有一个名称空间 ― TNS,它指您的 MobilePhoneService(这表示 TNS(targetNamespace 的缩写)包含专为 MobilePhoneService 定义的所有元素和属性的名称)。但是 WSDL 是您将在 WSDL 编写中使用得最多的主要名称空间。在本系列文章中使用到其它名称空间时,我将提到它们的效用。

关于名称空间只要注意一点:WSDL 广泛地使用名称空间这一概念。我鼓励您到 W3C 的官方网站去学习关于名称空间的更多知识(请参阅 参考资料)。WSDL 是这种思想的一种实现,因为名称空间提供了无限的灵活性,而这恰恰是用于电子数据交换的可移植格式所需要的。

<definitions> 元素包含一个或多个 <portType> 元素,实际上,每个元素都是您希望表示的一系列 operation 。或者,您也可以将单个 portType 元素看作是将各种方法组成类的一个逻辑分组。例如,如果您的供应链管理解决方案需要在客户和供应商之间进行交互,您最可能做的是分别定义与他们交互的功能性;也就是说,您将为用户和供应商各定义一个 portType。应该将每个 portType 称为 服务,因此整个 WSDL 文件将成为一个服务集合。

必须为每个服务提供一个名称。在本例中,仅有一个服务(因此只有一个 <portType> )。 需要使用该 portType 元素的 name 属性为移动电话销售服务指定名称。

在每个服务内可以有几个方法、或者 operation ,WSDL 通过 <operation> 元素来引用它们。样本应用程序有两个要表示的方法: getListOfModels 和 getPrice 。因此,您需要提供两个 <operation> 元素,每个元素有一个 name 。 我已经使用 <operation> 元素的 name 属性命名了每个操作。

此时,WSDL 文件看上去象 清单 1。


清单 1:定义操作
<?xml version="1.0" encoding="UTF-8" ?>
<definitions  name="MobilePhoneService"
     targetNamespace="www.mobilephoneservice.com/MobilePhoneService-interface"
     xmlns="http://schemas.xmlsoap.org/wsdl/"
     xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
     xmlns:tns="http://www.mobilephoneservice.com/MobilePhoneService"
     xmlns:xsd="http://www.w3.org/1999/XMLSchema">
     <portType name="MobilePhoneService_port">
             <operation name="getListOfModels ">
                     .......
                     .......
             </operation>
             <operation name="getPrice">
                     .......
                         .......
             </operation>
     </portType>
</definitions>

步骤 2:指定参数

定义好操作(或方法)以后,现在需要指定将向它们发送和从它们返回的参数。在 WSDL 术语中,所有参数称为“消息”。认为您是在递送消息而结果得到返回的消息是有用的。方法调用是这样一种操作:它准备返回“消息”来响应进入的消息。

请回忆,在第一步骤中有两个操作要表示。第一个操作 getListOfModels 不必获得任何参数并且返回一个字符串数组,其中每个字符串表示移动电话的型号。因此,必须定义一个包含字符串数组的 <message> 元素。

看看 清单 2 中的各种 <message> 元素。其中的第一个元素有一个等于 ListOfPhoneModels 的名称属性(该消息的逻辑名称),以及名称为 models 的单个 <part> 元素,这意味着该 ListOfPhoneModels 是一个“只含有一个 part 的”消息,其中仅有的这个 part 的名称是“models”。消息可以有任意多个 part ― 只要为它们起不同的名称,以唯一标识。

我已包括了 <part> 元素的另一个属性,它就是 type 。将这个“type”属性当作 C++ 或 Java 中的数据类型。我已经将 models 的数据类型指定为 tns:Vector。(请回忆,我在 <definitions> 根元素中指定了一些名称空间,其中之一是 tns 。)这个类型即指 MobilePhoneService 名称空间。这意味着当编写 WSDL 时,您可以创建自己的名称空间。现在您也许会问两个逻辑问题:为什么?和怎么做?

要回答 为什么,让我们以 getListOfModels 操作返回的字符串数组为例。WSDL 使用 XML 模式定义(XSD)定义的一些原始数据类型(诸如 int、float、long、short、byte、string、Boolean 等等),并允许您直接使用它们,或者以这些原始数据类型构建复杂数据类型后,在消息中使用它们。这就是为什么当引用复杂数据类型时,您需要定义自己的名称空间。在本例中,需要为 array of strings 构建一个复杂数据类型。

现在来看 怎么做问题,您将使用 XSD 创建自己的名称空间。为实现这个目的,我在 <types> 元素中使用了 xsd:complexType 元素用来定义称为 Vector 的数据类型。 Vector 使用两个原始数据类型:string(元素数据)和 Integer(元素计数)。因此, Vector 成为名称空间的一部分并可以通过别名 tns 来引用。

在 清单 2 中,我以类似的方式定义了另外两个消息 PhoneModel 和 PhoneModelPrice 。这两个消息只使用了 xsd 名称空间中的原始数据类型 string,因此您不必为使用它们而定义任何更复杂的数据类型。

您也许已经注意到当创建 <message> 元素时,没有指定这些消息是进入参数还是返回值。这是一个您将在 <portType> 元素内的 <operation> 元素中完成的工作。因此,正如您在 清单 2 中所看到的,我已经将 <input> 和 <output> 元素都添加到这两个操作中。每个 input 元素通过消息名来引用它并将它当作用户调用该操作时要提供的参数。类似地,每个 <output> 元素引用一个消息;它将该消息当作操作调用的返回值。

至今, 清单 2准确地限定了目前的讨论的范围。

步骤 3:消息传递和传输

我以一种抽象方式定义了操作和消息,而不考虑实现的细节。实际上,WSDL 的任务是定义或描述 Web 服务,然后提供一个对外部框架的引用来定义 WSDL 用户将如何实现这些服务。可以将这个框架当作 WSDL 抽象定义和它们的实现之间的“绑定( binding )”。

当前,最流行的绑定( binding )技术是使用简单对象访问协议(SOAP)。WSDL 将指定能够访问 Web 服务实际实现的 SOAP 服务器,并且从那时起 SOAP 的整个任务就是将用户从 WSDL 文件带到它的实现。SOAP 是本系列文章中下一部分的主题,所以我将暂时避免讨论 SOAP 细节而继续集中讲述 WSDL 编写。

WSDL 编写的第三个步骤是描述将 SOAP 与 WSDL 文件绑定到一起的过程。您将把 <binding> 元素包括到 <definitions> 元素内。这个 binding 元素应该有 name 和 type 属性。 name 将标识这个绑定而 type 将标识您希望与这个绑定相关联的 portType(一组操作)。在 清单 3 中,您会发现 <portType> 元素的 name 与 <binding> 元素的 type 属性值相匹配。

WSDL binding 元素包含您将用于绑定用途的外部技术的声明。因为正在使用 SOAP,所以这里将使用 SOAP 的名称空间。WSDL 术语中,对外部名称空间的使用称为 extensibility 元素。

在 清单 3 中,您将看见一个空的 <soap:binding/> 元素。该元素的用途是声明将把 SOAP 作为绑定和传输服务使用。

<soap:binding> 元素有两个属性:style 和 transport。style 是一个可选属性,它描述该绑定内操作的性质。transport 属性指定 HTTP 作为该绑定将使用的级别较低的传输服务。

SOAP 客户机将从 WSDL 文件中读取 SOAP 结构并与另一端的 SOAP 服务器协调,所以必须特别关注 interoperability 。我打算在本系列文章的第三部分详细讲述该问题。

在空的 <soap:binding/> 元素后面,有两个 WSDL <operation> 元素,分别表示步骤 1 的操作。每个 <operation> 元素提供各自操作的绑定细节。因此,我提供了另一个 extensibility 元素,即 <soap:operation/> (仍然是一个空元素,与它发生的那个操作相关)。该 <soap:operation/> 元素有一个 soapAction 属性,SOAP 客户机将使用该属性创建 SOAP 请求。

请回忆步骤 2 中, getListOfModels 操作只有输出而无任何输入。因此,必须为该操作提供一个 <output> 元素。该输出包含 <soap:body/> 元素(仍然是一个空元素,与它发生的那个操作相关)。SOAP 客户机需要该信息来创建 SOAP 请求。 <soap:body/> 的名称空间属性值应该与您将部署到 SOAP 服务器上的 service 的名称相对应,SOAP 服务器将在在本系列文章的下一部分中讲述。

您已几乎要完成步骤 3 了。只要将下一个操作复制到这个操作的后面,您将完成 清单 3。

步骤 4:概括

您已经生成了一个完整描述服务 interface 的 WSDL 文件。现在,WSDL 需要一个附加步骤来创建该 WSDL 文件的概要。WSDL 将该文件称为 implementation 文件,在本系列文章的第四部分中,当您在 UDDI 注册中心发布 Web 服务时,会使用它。请看 清单 4― 这个 WSDL 实现文件。它的主要特性如下:

  • 除了
    清单 4(实现文件)引用不同的 targetNamespace 去引用实现文件以外, <definitions> 根元素和 清单 3(WSDL 接口文件)中的完全相同。
  • 有一个
    <import> 元素,该元素引用 清单 3的接口文件(文件名 MobilePhoneService-interface.wsdl)和它的名称空间。
  • 有一个
    <service> 标记,其中有一个表示该服务的逻辑名 name 。在 service 元素内有一个引用在 清单 3中创建的 SOAP 绑定的 port 元素。




回页首


将 IBM 的 Web Services ToolKit(WSTK)用于 WSDL 编写

现在,Web 服务已经完全就绪用于部署。我已经展示了如何手工创建这些文件(使用象 emacs 这样的简单文本编辑器)。可以使用诸如 IBM 的 WSTK(请参阅 参考资料以获得该工具箱以及本文提到的其它参考资料的链接)之类的 Web 服务编写工具来生成相同的这些文件。

WSTK 可以使用向导帮助过程来生成这些文件。用户可以生成与我在以上教程中演示的同样两种方法的 WSDL 文件,并将 WSTK 文件和 清单 3和 4中的 WSDL 文件作比较。

您将注意到下列差异:

  • WSTK
    依照逻辑规则创建了所有名称属性;在本示例中,我使用了自己视为方便的名称。
  • WSTK 为每个操作至少生成一个 input
    标记,即使该操作不必获得任何输入。 listAllPhoneModels 操作没有任何 input 元素,但是如果使用 WSTK 生成相同文件,它将因为包含这个方法的一个空 input 元素。
  • WSTK 产生了除已生成的两个文件以外的第三个文件。这第三个文件是
    SOAP 引擎用于服务部署的 SOAP 部署描述符。我将在本系列文章中讨论服务部署。

在这部分中,我演示了手工进行 WSDL 编写以创建接口和实现文件,并与 IBM 的 Web Services ToolKit 生成的文件作了比较。在本系列的下一部分中,我将讨论在 SOAP 服务器上部署这个 WSDL 服务。



参考资料

  • 您可以参阅本文在 developerWorks 全球站点上的 英文原文.

  • 请访问 W3C 的官方网站以查找 Web 服务描述语言(WSDL)1.1 规范以及所有其它 XML 相关的官方规范,包括 XSD 和名称空间的技术文档。

  • 请访问 IBM 的 alphaWorks网站以下载本文中使用的 Web Services ToolKit(WSTK)。

  • 请从 Apache.org下载 Apache 的 SOAP 工具箱。
    Building Web Services:Making Sense of XML, SOAP, WSDL, and UDDI是一本新书,其作者是 Steve Graham、Simeon Simeonov、Toufic Boubez、Glen Daniels、Doug Davis、Yuichi Nakamura 和 Ryo Neyama ― 一群来自 Web 服务技术领域各处的人。(Sams 出版,2001)。

  • 请阅读这篇 developerWorks 上的文章,它描述了如何将 WSDL 元素映射到 UDDI 注册中心。

  • 请访问 WebServicesArchitect.com以获得关于 Web 服务的好文章。


关于作者

Bilal Siddiqui 是一位 XML 顾问。自从 1995 年毕业于拉合尔工程技术大学(University of Engineering and Technology,Lahore)电子工程专业以后,他就开始为工业控制系统设计各种软件解决方案。稍后,他致力于 XML 方面并使用他在 C++ 编程中取得的经验来构建基于 Web 和 WAP 的 XML 处理工具、服务器端解析方案和服务应用程序。可以通过电子邮件( wap_monster@yahoo.com)向 Bilal 索取本文中包含的代码文件的工作副本。

揭秘WeatherWebService.wsdl:定义与应用的Web服务接口 在当今的数字时代,Web服务已成为IT生态系统中不可或缺的一部分。Web服务不仅仅是传统意义上的一组网页,它是一种通过网络提供服务的方式,允许不同的应用程序通过互联网交换信息。这些服务使用开放的协议和标准,如HTTP、XML、SOAP和WSDL,使得它们可以轻松集成,并支持跨平台、跨编程语言的通信。Web服务可定义为一个软件应用,它能够通过网络提供可机器识别的信息。这些服务通常通过Web API提供,以便其他软件系统可以访问和使用它们。 阅读详情

相关推荐

使用Axis2从WSDL生成Web服务代码的项目实践

Web服务是一种通过网络进行通信和交换数据的软件应用。它利用标准的网络协议,如HTTP或SMTP,使得不同平台和语言编写的应用程序可以相互通信。这种通信通常基于XML语言,用于描述数据和消息格式。Apache Axis2是一个用于构建和部署Web服务和客户端的框架,它在Web服务技术领域中占有重要地位。与早期的Apache Axis1相比,Axis2带来了许多创新和改进。Axis2的架构更加模块化,支持轻量级的Web服务,而Axis1则较为笨重,性能较低。

weixin_33173126的博客 1023

调用wsdl这种的地址,传参为xml,使用的工具类

因为本人日常的调用地址,很多时候都是wsdl这种的,还需要XML格式的传参,测试的时候用到soapUI测试工具,传参方式是: <soapenv:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:imp

lcx102009的博客 1985

Axis1.4与WSDL互转工具及服务端代码生成全攻略

Axis1.4是Apache软件基金会的一个项目,它提供了一套用于开发和部署Web服务的工具和API。作为早期流行的Web服务框架之一,Axis1.4使用Apache Tomcat作为默认服务器。它支持SOAP、WSDL和XML技术,可以帮助开发者简化Web服务的开发流程。WSDL(Web Services Description Language)是一种基于XML的接口描述语言,用于描述网络服务的公共接口。

weixin_35238815的博客 816

python webservice接口测试传参数_webservice接口测试wsdl,参数是xml格式。python,入参转化成str,返回值转化成dict调用......

1、用SoapUI测试webservice接口,传入参数是xml格式时。xml格式需要将xml的外围增加xml]]>2、但是用python去做webservice测试,调用函数去传参时,直接将xml作为字符串的格式传入即可。其中,webservice请求的返回值类型是:,需要用json.loads(escape(result))转成字典的格式:。去引用具体展示如下: 注意SoapUI:xml...

weixin_34163313的博客 985

利用axis1.4.jar、wsdl4j.jar和jaxrpc.jar构建Java Web服务

Apache Axis1是一个开源的SOAP引擎,用于构建和部署Web服务。它由Apache软件基金会提供支持,并作为Apache SOAP项目的一部分。Axis1提供了一套全面的工具和服务,使得开发者能够轻松创建、发布和使用Web服务。Apache Axis1广泛应用于各种企业级应用中,是实现服务导向架构(SOA)的重要工具之一。随着互联网的发展和企业IT需求的增长,Web服务作为一种跨平台、跨语言的信息交互方式,变得越来越重要。

weixin_30356433的博客 1059

深入WSDL:全面解析和使用指南

WSDL(Web Services Description Language,网络服务描述语言)是一种基于XML的接口描述语言,用于描述网络服务及其通信协议的细节。简而言之,WSDL文档是机器可读的合约,它定义了Web服务如何与外界沟通,如何接收请求以及响应请求。它描述了服务的调用方法、数据类型、绑定协议等重要信息。在WSDL中,message元素定义了通信消息的结构,而portType元素则定义了服务能够进行的操作集合。一个message可以看作是一次网络调用中的请求或响应的抽象定义。

weixin_32999557的博客 1449

webservice的WSDL文档详解

WSDL – WebService Description Language – Web服务描述语言。 –通过XML形式说明服务在什么地方-地址 –通过XML形式说明服务提供什么样的方法 – 如何调用 –服务端给客户端提供的一个说明书 –约束了客户端和服务端之间通信的消息格式Wsdl文档从下往上读: Types - 数据类型定义的容器,它使用某种类型系统(一

menghuanzhiming的博客 3221

手把手教你用Arduino和开源电路DIY一个手机连接的电化学传感器(附GitHub源码)

本文详细介绍了如何利用Arduino和开源电路DIY一个手机连接的电化学传感器,成本不到300元即可复现价值数千元的专业设备。从硬件选型、电路搭建到固件开发和手机应用实现,手把手教你完成整个项目,特别适合科研人员、环境监测爱好者和理工科学生。附GitHub源码,方便快速上手和扩展功能。

weixin_42561040的博客 336

调用对方WSDL中方法,使用CALL方式传递字符串参数

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33980459的博客 2764

超详细!新手必看STM32-DMA配置与实验(串口使用DMA发送数据)

DMA就是:直接存储器访问。DMA传输数据从一个地址空间复制到另一个地址空间,提供在外设和存储器或者存储器和存储器之间的高速数据传输。

qq_1033275663的博客 2万+

三菱FX5U运动控制(步进)

三菱FX5U脉冲定位控制,原点回归,相对定位,绝对定位,运动控制案例。

weixin_55762091的博客 1万+

使用 WSDL 部署 Web 服务: 第 1 部分 Web 服务和 WSDL 简介

摘自http://www-128.ibm.com/developerworks/cn/webservices/ws-intwsdl/part1/index.html使用 WSDL 部署 Web 服务: 第 1 部分Web 服务和 WSDL 简介级别: 初级Bilal Siddiqui, CEO, WAP Monster2001 年 11 月 01 日在“使用 WSDL

1034

从零搭建基于OpenSpec的现代化UI自动化测试框架实战指南

UI自动化测试是软件质量保障的关键环节,其核心在于通过脚本模拟用户操作,对Web应用界面进行功能验证。其原理在于利用浏览器驱动工具(如Selenium、Playwright)提供的API,实现对页面元素的定位、交互与断言。一个设计良好的自动化框架能显著提升测试脚本的可维护性、可读性和执行稳定性,从而在持续集成、回归测试等场景中发挥巨大价值。本文聚焦于如何构建一个现代化的UI测试框架,通过整合OpenSpec架构规范、Pytest测试引擎与Playwright浏览器自动化工具,形成清晰的页面对象模型(POM)

weixin_28836989的博客 286

如何使用 WSDL 部署 Web 服务(详解): 第 1 部分

什么是 WSDL? 这种新的 .com 需要一种解决方案来描述它所提供的服务(Web 服务)。具体而言,这意味着您需要一种格式或某种类型的语法,使您可以通过使用它们来描述下列问题的答案: 您的在线业务提供什么服务? 您如何调用业务服务? 当用户调用您的业务服务时,该业务服务需要他/她提供什么信息? 用户将如何提供这些必需信息? 服务将以什么格式发送返回给用户的信...

weixin_30782293的博客 387

Jetson Orin Nano Super开发板实战:视觉模型部署与性能优化指南

本文详细介绍了Jetson Orin Nano Super开发板在边缘AI视觉模型部署与性能优化的完整实战指南。内容涵盖JetPack 6.1环境配置、Docker容器化部署、YOLO11及Transformer模型的TensorRT优化技巧,并通过实测数据展示了性能提升与功耗管理策略,为开发者提供高效的视觉AI部署解决方案。

7h6j5k4l3的博客 1196

11. 使用 HTTP PUT, PATCH 以及 MERGE 请求消费 SAP ABAP OData 服务修改操作的实现及其区别

使用 SAP ABAP SEGW 事物码实现 OData 服务的修改操作时,对于消费端通过 PATCH/MERGE 和 PUT 这三种不同类型的 HTTP 请求触发的场景,我们应该在 UPDATE_ENTITY 方法里用 IF 分支分别进行处理,原因就在于 GET_ENTITY 方法是否在修改处理逻辑的过程中被触发。......

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 2457

使用 WSDL 部署 Web 服务

 可互操作的基于 Web 分布式应用程序的思想并非新近出现。仅举一例,电子数据交换(EDI)市场需求早在 B2B 在线电子商务获得任何有意义的实现之前就存在了 ― 并且随着 B2B 电子市场的普及,互操作性已经成为最迫切的 EDI 需求。以任何在线电子市场为例。存在着许多企业,各自提供特有的“服务( services )”(让我们称之为“Web 服务( Web services )”)。在

Giraffe_zj的专栏 905

AttributeError: module ‘lib‘ has no attribute ‘X509_V_FLAG_CB_ISSUER_CHECK‘解决方案

本文主要介绍了AttributeError: module ‘lib’ has no attribute 'X509_V_FLAG_CB_ISSUER_CHECK’解决方案,希望能对使用python的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 5万+

了解 Web 服务规范: 第 2 部分:Web 服务描述语言 (WSDL)

开始之前 本教程旨在帮助您了解 Web 服务描述语言 (Web Services Description Language)。本教程适合希望通过使用 WSDL 公开自己的服务供他人使用的开发人员,同时也适合拥有希望访问的服务的 WSDL 而需要创建客户机的开发人员。 为了学...

chuifuhuo6864的博客 343

知识图谱:综述

第一种理解:知识图谱本质上是语义网络。本体论是语义网络中最重要的一个要素。第二种理解:知识图谱也叫做多关系图,由多种类型的节点和多种类型的边组成。课程以第二种理解为主。

u013250861的博客 479

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Web服务和WSDL简介

在“使用 WSDL 部署 Web 服务”系列中,Bilal 将研究创建、部署和发布 Web 服务的所有主要技术方面 — 从 Web 服务描述语言(WSDL),到简单对象访问协议(SOAP)以及通用描述、发现和集成(UDDI)注册中心。第 1 部分集中讲述了 WSDL 创建:您将学习如何手工创建 WSDL 接口,然后将您的成果与 WSDL 编写工具的输出作比较。可互操作的基于 Web 分布式

崔宗朴的博客 1216

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

WebService中的WSDL详细解析

WebService中的WSDL详解 有人在WebService开发的时候,特别是和第三方有接口的时候,走的是SOAP协议,然后用户(或后台)给你一个WSDL文件(或网址),说按照上面的进行适配, 这时就要对WebService的WSDL有一定的理解,本文将对WSDL(WebService描述语言)进行详细总结。 WSDL (Web Services Descrip...

孤独地搬砖的博客 9万+

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

上一篇: Tapestry入门
下一篇: 使用 WSDL 部署 Web 服务,第 2 部分: 简单对象访问协议(SOAP)
麦子_9
博客等级 码龄24年 183粉丝 75原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值