创建facade
切换到金蝶BOS设计开发工具视图,在app包下右键新建功能
双击新建的功能,点击方法,新增方法和参数
右键新增功能,点击发布成Java代码
查看生成的Java代码,转到Java开发视图
回到金蝶BOS设计开发工具视图,右键新增功能,点击发布webservice
选中要发布的方法,填入发布的位置(位置随便写,后面配置即可)
2.配置,将生成的Java代码以及wsdl文件放到指定位置,并配置config文件
(适用集群端口和实例端口,推荐)
启用安全模式
1)修改eas\Server\eas\server\profiles\server*\config\webservice.propetties文件,另起一行,添加参数如下:(注意参数名和值不要写错)
2)isRomoteLocate=false
3)在服务端server-config.wsdd(路径:eas/server/deploy/eas.ear/web.war/WEB-INF, 如果缓存更新不及时,手动删除web的缓存目录/apusic/domains/server*/deploy/EAS/tmpfiles)全局参数部分,添加scope的范围:
<parameter name="scope" value="session"/>
保证服务端返回设置jsessionid的cookie
4)在项目存储目录:中,新建webservice文件夹,将生成的Java文件放在其中
这样刷新BIM中Java视图的包,便可生成新的目录以及文件
3.BIM切换到金蝶BOS业务建模工具,选中项目,运行测试
4.网址输入:
localhost:56898/ormrpc/services
下载两个文件
5.打开idea,新建Java项目,拷贝这两个文件到项目中
6.将wsdl文件解析成Java文件
1)右键项目,选择add Framework support(增加框架支持)
2)
3)选中两个wsdl文件
7.编写测试类(测试类中的内容遍是调用发布的功能,代码在下面)
public static void main(String[] args) throws Exception { //调用登陆接口 Service s=new Service(); Call call=(Call)s.createCall(); call.setOperationName("login"); call.setTargetEndpointAddress("http://localhost:56898/ormrpc/services/EASLogin?wsdl"); call.setReturnType(new QName("urn:client","WSContext")); call.setReturnClass(WSContext.class); call.setReturnQName(new QName("","loginReturn")); //超时 call.setTimeout(Integer.valueOf(1000*600000*60)); call.setMaintainSession(true); //登陆接口参数 WSContext rs=(WSContext)call.invoke(new Object[]{"user", "lingy123", "eas", "SFdemo01", "l2", Integer.valueOf(0)}); if(rs. getSessionId() == null){ throw new Exception("login fail"); } System.out.println("session:"+rs.getSessionId()); WSMytestFacadeSrvProxy wsesProxy = null; try { wsesProxy = new WSMytestFacadeSrvProxyServiceLocator().getWSMytestFacade(); ((Stub)wsesProxy).setHeader("http://login.webservice.bos.kingdee.com","SessionId", rs.getSessionId()); String test = wsesProxy.myFunction("琳琳"); System.out.println("test"+test); } catch (AxisFault axisFault) { axisFault.printStackTrace(); } catch (RemoteException e) { e.printStackTrace(); } catch (ServiceException e) { e.printStackTrace(); } }
结果:
小贴士:里面的参数说明可参考EAS登录接口说明文档
EAS登录接口说明文档(WebService).docx(326.81KB)
推荐阅读