EAS Cloud WebService开发最佳实践

1、 业务场景
EAS的WebService历史悠久,随着架构的不断演进,产生了许多问题,常见的有部署问题找不到对应的facade元数据,调用报错RMIException,找不到会话让重新登陆等。
但是只要规范的开发部署就可以避免上述问题。本文章会以一个名为Hello的facade元数据为样例来开展讲述
目录如下:
1. 在EAS中新建发布WebService
2. 在EAS中对新建的WebService部署教程
3. 相关配置文件的检查-配置
4. EAS-WebService的调用原理图解
5. 如何用SOAPUI进行WebService调用测试
6. 如何用WSDL生成Java代码调用测试
2、 实践思路
(1) 新建发布WebService
1. 新建facade元数据,工具:BOS工具(BIM),解决方案
2. 在eas.custom包下新建Hello - facade元数据

3. 发布facade元数据,发布WebService:

4. 发布facade元数据界面:注意勾选【生成配置信息】选项,以及注意自己的发布路径,方便后续查找

5. 发布webservice界面:注意勾选【追加到配置文件】选项

6. 全部发布之后,切换到Java视图,刷新解决方案工程,可以看到下面的几个新增的目录及文件。如下:

7.在HelloControllerBean中去实现具体的业务逻辑,样例如下:

(2) WebService部署
EAS服务器上进行WebService部署,遵守的规则是:wsdd文件放到web.war中;facade元数据以及java代码放到对应的元数据目录以及代码目录
1,部署wsdl
1)服务器上web.war的路径是:eas\server\deploy\eas.ear\web.war
2 ) 获取并修改web.war

4)用压缩软件打开web.war,把Hello.wsdl直接放到WEB-INF目录下:

5)配置server-config.wsdl文件(用压缩软件打开web.war,把WEB-INF\server-config.wsdl拖出来),打开Hello.wsd,复制service节点内容到server-config文件中。再把server-config.wsdl替换web.war中的server-config.wsdl

6)覆盖原有的server\deploy\eas.ear\web.war
2,部署facade元数据,参考知识贴:bos工具远程/本地部署(https://vip.kingdee.com/article/174121211427903232?productLineId=8&isKnowledge=2&lang=zh-CN)或者自己进行私包部署
(3) EAS服务端webservice配置文件检查修改(下面参数如果有,则不需要重复添加)
1. 编辑\server\profiles\server*\config\webservice.properties文件,另起一行,添加参数(server* 代表所有的实例):
isRomoteLocate=false

2. 编辑eas/server/deploy/eas.ear/web.war/WEB-INF/server-config.wsdd文件,新加参数<parameter name="scope" value="session"/>

-------以上步骤完成之后就可以进行webservice接口的调用代码编写--------
3、 详细设计
EAS-WebService调用图解
以一个EAS集群,包含3个实例为例子,其中三个实例的http端口分别是6888,6890,6892。网络代理端口是8080,当webservice客户端使用集群端口调用webservice接口服务时,正确的调用过程如下:

当webservice客户端
EAS Cloud WebService开发最佳实践
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



