WSDL的工作方式与用途 (wsl是什么工具)


标题:WSDL的工作方式与用途(WSL工具介绍)

一、引言

在当今信息化社会中,Web服务已成为企业间交互和应用程序集成的重要技术手段。
WSDL(Web Services Description Language)作为一种重要的Web服务描述语言,为Web服务的发布、发现、绑定和调用提供了重要的指导信息。
本文将详细介绍WSDL的工作方式及其用途,帮助读者更好地理解这一关键概念。

二、WSDL概述

WSDL是Web服务描述语言的英文缩写,它是一种基于XML的接口描述语言。
WSDL提供了一种标准化的方式,用于描述Web服务的公共接口,包括服务提供的操作、消息格式以及服务访问的协议细节。
WSDL文档是描述Web服务的核心元数据,可以被服务提供者和服务消费者用于理解Web服务的交互方式和接口细节。

三、WSDL的工作方式

WSDL通过定义一系列元素来描述Web服务的各个方面,包括服务提供的操作、消息类型、端口和绑定信息等。WSDL的工作方式可以分为以下几个步骤:

1. 服务定义:WSDL首先定义了一个Web服务的名称和标识符。这些信息用于识别服务的唯一性。
2. 操作定义:WSDL描述了Web服务可以执行的操作,包括操作的名称、输入参数和输出参数等信息。这些操作定义了服务提供者和消费者之间的交互方式。
3. 消息类型定义:WSDL定义了服务中的消息类型,包括消息的结构和内容。这些消息是服务提供者和消费者之间传输的数据。
4. 端口类型定义:WSDL定义了服务的端口类型,包括端口的数据传输协议和格式等信息。端口是服务提供者和消费者之间进行通信的接口。
5. 绑定和地址:WSDL将端口类型与具体的协议和地址绑定在一起,以便服务消费者能够访问服务。

四、WSDL的用途

WSDL在Web服务中扮演着重要的角色,其用途主要体现在以下几个方面:

1. 服务发布:WSDL文档是服务提供者在发布Web服务时提供的关键信息。通过WSDL文档,服务提供者可以描述服务的公共接口、操作、消息格式和访问协议等信息,使其他系统或开发者能够了解和使用该服务。
2. 服务发现:WSDL文档可以通过注册中心(如UDDI)进行发布,使其他系统能够发现和找到所需的Web服务。通过WSDL文档,服务消费者可以了解服务的接口细节和访问方式,从而实现系统的集成和互操作性。
3. 服务绑定:WSDL文档中的绑定信息使得开发者可以将Web服务与具体的协议和地址进行关联。这样,服务消费者可以使用相应的客户端工具或库来调用远程的Web服务。
4. 服务调用:通过WSDL文档,服务消费者可以了解Web服务的接口细节和操作方式,从而编写相应的客户端代码来调用远程的Web服务。这种跨平台的交互方式使得不同系统之间的数据共享和业务协同变得更加容易。

五、WSL工具简介

WSL(Windows Subsystem for Linux)是一个在Windows 10中运行原生Linux二进制可执行文件的兼容层。
WSL并不是直接跟WSDL相关的工具,但它在某种程度上为Linux环境下的Web开发提供了便利。
通过使用WSL,开发者可以在Windows环境下运行Linux命令和工具,从而更便捷地进行Web开发、测试及部署等工作。
尽管WSL与WSDL在名字上有所相似,但它们的功能和应用领域是不同的。

六、结语

WSDL作为Web服务描述语言,为Web服务的发布、发现、绑定和调用提供了重要的指导信息。
通过了解WSDL的工作方式和用途,我们可以更好地理解和应用Web服务,实现不同系统之间的数据共享和业务协同。
同时,WSL工具为Windows环境下的Linux开发者提供了便利,使得跨平台开发变得更加容易。


PowerBuilder 9 的新功能是什么?

1. 快速开发JSP Targets-透过精灵及其它RAD工具,开发者可快速开发与部署JSP网络应用程序。 2. Web Services-让开发者无需精通SOAP与WSDL,仍能建立与发展符合微软或其它标准架构的Web Services程序。 3. XML DataWindow-在Web DataWindow之后,PowerBuilder又一创新技术-XML DataWindow。 它不仅可以让开发人员将DataWindow上的资料直接储存成XML格式的文件,以及从XML文件直接加载至DataWindow中,而且还可以客制化其中的XML文件。 4. PowerBuilder Native Interface(PBNI)-以往PowerBuilder程序只能够通过外部函数调用的方式来存取C/C++的函数,但在PowerBuilder 9.0之中增加了一项强而有力的界面-PBNI。 如今透过PBNI的方式,PowerBuilder开发人员不仅可以对象导向的方式来存取C/C++函数,而且还可反向地让C/C++程序调用PowerBuilder之中的对象,达到应用程序的整合。 更甚者,通过JNI与PBNI两者的结合,Java应用程序也可双向地与PowerBuilder程序沟通。 5. 应用程序服务器的支持-除了充分与Sybase EAServer应用程序服务器整合外, PowerBuilder现已支持BEA Weblogic Server、IBM WebSphere及其它J2EE应用程序服务器,此乃经由产生EJB代理程序,再透过此PowerBuilder代理程序调用J2EE应用程序服务器中的EJB。 6. PBDOM对象的提供-即对DOM支持的实现方式,定义XML文件如何存取与运用,在PowerScripts程序代码开发的PBDOM可用来读取、编写及运用标准格式的XML。 7. PDF报表生成-如今在PowerBuilder 9.0之中,使用者可以直接将DataWindow的内容储存成PDF格式的档案,如此让报表的呈现具有更多样性。 8. 资源管理的加强-协助开发者更有效率地管理大型PowerBuilder项目及与Rational ClearCase、Merant PVCS以及其它的版本管理软件更为紧密的整合。 9. OrcaScript公用程序-OrcaScript是一种拟似英文语法的描述语言,它可以让程式开发人员在不激活PowerBuilder开发环境的情况下去处理PowerBuilder应用程序,例如:编译PowerBuilder应用程序、部署PowerBuilder组件至EAServer、从版本管理软件中获得最新版本的PowerBuilder程序代码等等。

PowerBuilder 9 的新功能是什么?

1. 快速开发JSP Targets-透过精灵及其它RAD工具,开发者可快速开发与部署JSP网络应用程序。 2. Web Services-让开发者无需精通SOAP与WSDL,仍能建立与发展符合微软或其它标准架构的Web Services程序。 3. XML DataWindow-在Web DataWindow之后,PowerBuilder又一创新技术-XML DataWindow。 它不仅可以让开发人员将DataWindow上的资料直接储存成XML格式的文件,以及从XML文件直接加载至DataWindow中,而且还可以客制化其中的XML文件。 4. PowerBuilder Native Interface(PBNI)-以往PowerBuilder程序只能够通过外部函数调用的方式来存取C/C++的函数,但在PowerBuilder 9.0之中增加了一项强而有力的界面-PBNI。 如今透过PBNI的方式,PowerBuilder开发人员不仅可以对象导向的方式来存取C/C++函数,而且还可反向地让C/C++程序调用PowerBuilder之中的对象,达到应用程序的整合。 更甚者,通过JNI与PBNI两者的结合,Java应用程序也可双向地与PowerBuilder程序沟通。 5. 应用程序服务器的支持-除了充分与Sybase EAServer应用程序服务器整合外, PowerBuilder现已支持BEA Weblogic Server、IBM WebSphere及其它J2EE应用程序服务器,此乃经由产生EJB代理程序,再透过此PowerBuilder代理程序调用J2EE应用程序服务器中的EJB。 6. PBDOM对象的提供-即对DOM支持的实现方式,定义XML文件如何存取与运用,在PowerScripts程序代码开发的PBDOM可用来读取、编写及运用标准格式的XML。 7. PDF报表生成-如今在PowerBuilder 9.0之中,使用者可以直接将DataWindow的内容储存成PDF格式的档案,如此让报表的呈现具有更多样性。 8. 资源管理的加强-协助开发者更有效率地管理大型PowerBuilder项目及与Rational ClearCase、Merant PVCS以及其它的版本管理软件更为紧密的整合。 9. OrcaScript公用程序-OrcaScript是一种拟似英文语法的描述语言,它可以让程式开发人员在不激活PowerBuilder开发环境的情况下去处理PowerBuilder应用程序,例如:编译PowerBuilder应用程序、部署PowerBuilder组件至EAServer、从版本管理软件中获得最新版本的PowerBuilder程序代码等等。

Android 使用KSOAP2调用WebService

android 利用ksoap2方式连接webservice(2010-04-16 16:36:25)转载标签:androidksoap2webserviceit 分类:Android 利用J2SE的ksoap2标准,我也来做一个山寨版本的android连接webservice。 因为soap封装的关系,android application在接收到数据后不能够正确的按照J2SE的标准来获取。 在运用之前,我们先要引导两个jar进入工程的buildpath 这两个jar包都可以在网上查到下载,引导完后再做一项准备工作。 弄清楚已发布的webservice的地址,以及封装的方式。 比如: webservice接口:(顺便说明一下,在android当中,不能写localhost,必须写清楚PC机当前的网络IP)webservice封装:都了解了过后,说明已经做好准备了。 下面就介绍一下android如何获取webservice封装数据。 。 引入ksoap2中以封装好的类 import ; import ; import ; import ; 在类中定义webservice的接口地址以及解析方式并且定义要调用的webservice中的函数 private static final String URL =static final String NAMESPACE =static final String METHOD_NAME = GetMyFriends; 这个信息我们可以在webservice中查到 <xs:element> <xs:complexType> <xs:sequence> <xs:element minOccurs=0 type=xs:int/> <xs:element minOccurs=0 nillable=true type=xs:string/> </xs:sequence> </xs:complexType> </xs:element> 接下来开始做对webservice请求数据的工作,请求webservice函数以及封装要用的两个参数(userId和password) SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME); (userId, ); (password, test); 之后我们给定义发送数据的信封的封装格式 SoapSerializationEnvelope envelope = new SoapSerializationEnvelope( 11 ); 发出请求 (request); AndroidHttpTransport aht = new AndroidHttpTransport(URL); (null, envelope); 接着就可以定义一个SoapObject类型的实例去获取我们返回来的数据 SoapObject so = (SoapObject) ; 这里如果是返回来的数据只有一行并且只有一个值,比如验证函数,返回boolean类型的话,操作比较简单,String getReturn= (return); 这个getReturn就是你要获取的值。 但是如果返回来是多行的值的话,这个方法就不行了,我们必须对返回来的信息做一些解析。 我曾试过用J2SE的标准方式来获取,但是会报错,最主要的可能是他的方式在android当中不能使用。 所以在这里我用了正则表达式这种方式来进行数据的解析,我们先来看一下他返回的数据的结构是什么情况。 GetMyFriendsResponse{return=FriendsMessage{ permitList=anyType{nickName=我爱罗; singnature=null; userId=2; }; permitList=anyType{nickName=jack; singnature=null; userId=1004; }; permitList=anyType{nickName=admin; singnature=leo_admin; userId=1001; };};} 简单看他很想Json结构,但是确不是。 。 。 就目前的解决方式,我只是通过规律来进行了正则表达式的解析:如解析上面的内容。 //首先取得permitList(好友)的个数 String testPattern = permitList; int resultlength = (); cresult = (testPattern, ); int lastlength = (resultlength - ()) / (); //取得每个permitList中的值。 String LoginReturn=, pattern=nickName=.*?;\\s*singnature=.*?;\\s*userId=.*?;; //动态生成String 数组,存储每个好友的信息 String[] GetFinalReturn = new String[lastlength]; for (int i=0;i<lastlength;i++){ LoginReturn = (^.*(+pattern+).*$, $1); GetFinalReturn[i] = LoginReturn; result = (LoginReturn,); } 这个数组里面存储的格式就是nickName=admin; singnature=leo_admin; userId=1001; 这样以来,我们可以根据=和;两个符号之间做split操作就可以得到数据。 好了,到此连接webservice和解析返回来的数据的工作就做完了,虽然这个方式看起来很复杂,但是目前来说,用ksoap2方式来连接webservice暂时还没有找到更有效的解决方式。 。


收藏

科技浪潮来袭:自动驾驶、生物科技引领未来创新领域

未来科技大潮:自动驾驶、基因编辑、数字支付等领域的革新与畅想

评 论
请登录后再评论