- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
在EOS6.1上快速WebService一、概述EOS6.1的一个主要的功能就是.doc
在EOS6.1上快速Web Service
一、 概述
EOS6.1的一个主要的功能就是快速开发符合wsdl1.1标准的WebService,相对于EOS6.0GA版,该功能有了明显的改善。现以通过开发的流程带领大家快速入门,其中列举一些在开发过程中需要注意的问题,方便大家在实际项目中快速使用EOS6.1开发出高质量的Web Service。
二、 构件的开发
在EOS6或更高版本中,WebService的开发有两种方式,即自顶向下与自底向上的开发方式。自顶向下方式指的是通过WSDL生成逻辑构件实现或Java实现,这种方式前提是需要进行服务定义。自底向上的方式指的是先创建逻辑构件与Java构件实现,然后再装配为WebService。两种方式各有优劣,在实际项目中可以根据具体情况进行选择。本节主要是介绍一下自底向上的方式开发WebService。
在EOS6版本中构件实现主要有两种类型,即逻辑构件与Java构件。
A、逻辑构件的创建:
新建EOS项目或在已有项目下新建构件包A,在构件包A的[构件]节点下创建逻辑构件,并在创建好的逻辑构件下新建一个或多个逻辑流。
B、Java构件的创建:
新建EOS项目或在已有项目下新建构件包A,在构件包A的[运算]节点下的[Java]子节点下新建Java类。
注:
1、 通常开发的Java构件需要添加@Service与@Remotable标注,如果使用了@Service指定了服务接口,那么该接口必须加上@Remotable标注,否则无法装配为Web Service;
2、 EOS6.1发布的Web Service生产的WSDL规格定义是document/literal wrapped风格,所以Java构件内的方法不允许重载。
三、 构件的装配
Web Service服务是通过构件的装配实现的,装配的方式有两种:
第一、 通过构件上的右键菜单[封装为Web Service]向导完成,此方式比较简单,推荐使用。
第二、 先在构件包的[构件装配]节点下新建组合构建,再将构建拖拽到组合构建装配图中,然后再进行Web Service的绑定即可。
服务装配过程都比较简单,但如果构件中含有比较复杂的JavaBean、集合、Map或DataObject类型的参数,在装配的时候需要进行JavaBean或服务的aegis配置。
JavaBean的aegis配置:
一般是JavaBean中含有复杂类型属性时才需要配置,如集合类型与Map类型。
JavaBean的aegis配置文件名必须为[JavaBean类名].aegis.xml,这可以在服务封装为Web Service的向导过程中配置,也可以通过JavaBean的源文件右键菜单[Java Bean的aegis配置]创建,格式如下:
mappings
mapping
!--
name 表示字段的名称
keyType 表示Map的key的类型,必须是带包路径的全名
componentType 表示集合或Map类型中value的类型,必须是带包路径的全名
--
property name=[required] componentType=[required] keyType=[optional] /
/mapping
/mappings
如定义一个JavaBean类com.exampl.UserBean
public class UserBean implements Serializable{
private String userName;
private MapString,Address map;
private ListAddress list;
public ListAddress getList() {
return list;
}
public void setList(ListAddress list) {
this.list = list;
}
......
}
public class Address implements Serializable {
private int id;
private String address;
private String postcode;
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
……
}
那么UserBean的aegis配置即是:UserBean.aegis.xml。
?xml version=1.0 encoding=UTF-8?
mappings
map
文档评论(0)