BOS 7.5 - WebService开发指南

更新时间:2024-04-19 22:40:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

BOS 7.5 WebService开发指南

德汇集团 互联网事业部 林奎 2015-08-26

看了几个版本的 webService 开发指南,中间都遇到各种各样的问题,现在终于跑通了一次,所以就把经验写来下,以便大家少卡壳。

软件版本BOS7.5 EAS.7.5 Eclipse Java EE IDE Version: Mars Release (4.5.0)

一.建立Fa?ade或者Entity,本案例中以Fa?ade为例,Entity可以参考

在BOS Studio工具中建立Fa?ade以及相应的方法并发布,发布时要勾选“生成配置文件”

需要注意的地方:

1、发布成WebService的方法,其方法参数和返回值类型必须是下列列表中的类型,否则发布时看不见方法。是否可以添加异常未尝试。

2、发布以后, 查看deployed_metas目录中 facade_pkmapping.properties文件(或者entity_pkmapping.properties) 是否有增加的pkmapping,若没有可能没发布成功,可重新发布

发布完后,实现 方法处理逻辑:

1

二.在BOS Studio中选择Fa?ade发布WebService

2

发布成功以后,在临时目录里会生成一个wsdd文件 例如:

E:\\YYZSWorkspace\\YYZS_WSDL\\LoginWebSrvFacade.wsdd

G:\\xinjiangdehui\\dehui\\src\\fdc_tenancy\\dev\\src\\com\\kingdee\\eas\\fdc\\tenancy\\app\\webservice\\WSLoginWebSrvFacadeSrvProxy.java

LoginWebSrvFacade.wsdd处理方法如下:

找到解决方案的runtime\\server\\deploy\\eas.ear目录,用解压缩软件打开web.war,进入WEB-INF目录

1、 把LoginWebSrvFacade.wsdd添加进去;

2、 把LoginWebSrvFacade.wsdd文件里的service节点内容添加到

server-config.wsdd文件。

操作方法建议:提取server-config.wsdd文件到临时目录,用记事本工具打开,再打开LoginWebSrvFacade.wsdd,拷贝service节点内容粘贴到server-config.wsdd文件,注意XML格式一致;保存server-config.wsdd文件并拷回到web.war压缩包里。

上面的步骤操作完成后,快测已经可以看到新建的WebService

三.部署到正式服务器

1、在BIM中部署代码和元数据;

2、把解决方案下改好的runtime\\server\\deploy\\eas.ear\\web.war文件拷贝到EAS服务器的server\\deploy\\eas.ear目录中,重启EAS服务器

3

四.验证

打开浏览器,输入地址:http://server-ip:port/ormrpc/services,应该可以看到新建的Webservice,右键点击相应的wsdl,选择另存为?,扩展名改为wsdl(默认是xml格式), 就可以下载客户端开发使用的wsdl文件。同时把EASLogin 也下载成 wsdl文件,登录的时候需要用到

五.客户端开发

注意:

1. 在myeclipse上通过wsdl创建客户端好像有问题,请使用eclipse

2. 使用EAS的WebService之前,必须先通过EASLogin Web服务登录(运行EAS登录接口),否则会产生认证错误。EASLogin里有两个login方法,只调用参数如下的login:

String userName //EAS登录用户名,可以是user或其他有效的用户名 String password //EAS用户登录密码 明文密码 String slnName //eas

String dcName //注册的数据中心代码 String language //登录的语言

Int32 dbType //数据类型,0:MSSQL,1:ORACLE

新建java项目,把下载的wsdl文件拷贝到项目中,右键点击,选择:Web Services—>Generate Client,产生客户端代理类。

4

客户端代码示例:

public class wstest {

public static void main(String[] args){ try{

//通过 WebService 登录 EAS

EASLoginProxyServiceLocator loginLocator = new EASLoginProxyServiceLocator();

EASLoginProxy loginProxy = loginLocator.getEASLogin(); System.out.println(\开始登录服务器 .... \);

WSContext context = loginProxy.login( \ , \ \ , \ , \ , 1);

System.out.println(\登陆成功,SessionID : \ + context.getSessionId());

// 通过 WSLoginWebSrv 获取信息

WSLoginWebSrvFacadeSrvProxyServiceLocator accountLocator = new WSLoginWebSrvFacadeSrvProxyServiceLocator();

WSLoginWebSrvFacadeSrvProxy accountProxy = accountLocator.getWSLoginWebSrvFacade();

boolean result = accountProxy.checkUser(\, \); System. out .println(result); } catch (ServiceException e) { e.printStackTrace();

} catch (RemoteException e) {

5

e.printStackTrace();

} } }

运行代码 结果如下:

6

本文来源:https://www.bwwdw.com/article/syvp.html

Top