WebService学习:SOPA与WSDL基本语法

在WebService学习中,发现SOPA和WSDL的语法比较繁琐,故将以下几点记下,以备查看。

 

SOPA基本语法:

SOAP消息基于XML文档构建,一条SOAP消息就是一份特定的XML文档,SOAP消息包含如下3个主要元素:

1、  必需的<Envelope  />根元素,SOAP消息对应的XML文档以该元素作为根元素;

2、  可选的<Header/>元素,包含SOAP消息的头信息;

3、  必需的<Body/>元素,包含所有的调用和相应信息(实际需要传送的信息)。

 

WSDL基本语法:

portType元素

<portType />元素用于描述一个webservice所有可以被调用的操作,以及该操作相关的消息。每个<portType />元素可以包含多个<operation />子元素,每个<operation />子元素定义一个允许被远程调用的操作。

例:

<wsdl:portType name="XXXPortType">
<wsdl:operation  name="geta">
<wsdl:input name="getaRequest" message="tns:getaRequest"/>
<wsdl:output name="getaResponse" message="tns:getaResponse"/>
</wsdl:operation>
<wsdl:operation name="getb">
<wsdl:input name="getbRequest" message="tns:getbRequest"/>
<wsdl:output name="getbResponse" message="tns:getbResponse"/>
</wsdl:operation>
</wsdl:portType>

binding元素

<binding />元素用于定义webservice与某个具体网络传输协议或消息传输协议之间的绑定。<binding />元素有如下两个常用属性:

name属性:指定<binding />元素的名称

type属性:指定为哪个<portType />元素定义的web service进行绑定。该属性值必须等于前面定义的<portType />元素的name属性值。

 

Service元素

<service />元素用于为web services提供的访问入口指定详细的部署细节。每个<service />元素可以包含多个<port />子元素,

每个<port />子元素定义一个服务访问入口。

<service /> 元素内部的<port />子元素需要指定如下属性:

Name属性:指定<port />子元素的名称

Type属性:指定为哪个<binding />元素绑定服务访问入口。

<soap:address />服务访问入口的网络地址。

 

 

基于源码流程分析(SOPA) Sources Oriented Process Analysis SOPA为分析java流程的eclipse插件,其主要用途如下: 1. 孙子曰:凡治众如治寡,分数是也。每个交易所涉及的方法众多,如何才能整体把握所用到的方法很关键。流程分析图将众多方法进行层次整理,使开发人员方便的理解各个方法的用途及调用过程。 2. 快速画交易流程图。通过debug方式人工画出交易流程图有诸多困难。一是因为很慢,二是因为非常耗费精力。对于一个只包含10个方法的交易,想画出流程图就已经很困难,即使画出也要耽误很多时间,30个方法以上的交易人工几乎难以出流程。SOPA能够快速的画出流程图,几十万个方法也是在几分钟内完成。 3. 纠错功能。JAVA开发现有的纠错机制仅有Debug一种方式,debug给人带来方便的同时也会有一些不足之处,比如debug过程有时会比较慢。假如程序已经自动生成流程分析图,当程序出现异常时,将生成的异常流程分析图跟正确的流程分析图进行比对,找到哪个方法没有调用,就可以快速定位到是哪个方法出现了异常。 4. 团队协作更加简单。一个工程往往是架构师先搭框架,然后再将各个细化的任务进行分配。而各个方法之间的调用、一个功能的实现机制等往往需要很多的沟通,这就造成了相互之间团队协作的效率不够高。如果架构师将流程分析图发给其他开发人员,则会使其他人对项目的架构一目了然,从而能够快速的领会架构师的意图,工作效率也就随之提高。 5. 使工程维护更加简单。当开发人员写完代码后的较短时间内会记得交易的流程。但是开发完成很长时间后,即使自己写的交易有时也会忘掉流程,所以一个交易的流程需要存档。当一个工程上线之后就会把工程交给维护人员进行维护,开发人员自然转到其他项目组。当程序出现问题时,维护人员对照已经存档的流程分析图进行比对,就可以快速维护完成。 6. 加强学习知识能力。在程序开发方面,公司的员工流动性一般会比较大,而每个公司都希望新来的员工快速掌握公司所需要的技能。每个员工都需要经常学习各种知识,怎样快速掌握某一方面的知识也很重要。当程序员预先拿到一个交易的流程分析图,看图就能快速精确的掌握所要学习的知识,然后再找到相应的代码进行学习。这样就大大提高了学习效率。 7. 电子图纸化管理。JAVA工程有很多配置文件,单纯看配置文件有时难以掌握一个交易的流程,甚至花很长时间也难以搞懂交易的流程。SOPA将交易流程生成到文件,类似于一个建筑的图纸一样,使开发人员通过看流程分析图可以在短时间内就可以了解整个交易的流程,效率也就随之提高。 8. 流程简化模式。每个交易所涉及的方法如果很多就会眼花缭乱,此时就需要简化处理。将重复的方法去掉,也会使交易变得容易理解。 9. 显示注释功能。有些方法会有自己的说明,我们会将方法说明显示到流程分析图上,使理解流程更加简单。 10. SOPA能为每位员工每年节省几个月的时间。 临沂谷王信息技术有限公司 邮箱:guwang_org@163.com
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值