BOS创建facade,发布webservice,idea 解析wsdl文件成Java,配置wsdl文件在服务端。

栏目:eas cloud知识作者:金蝶来源:金蝶云社区发布:2024-09-16浏览:1

BOS创建facade,发布webservice,idea 解析wsdl文件成Java,配置wsdl文件在服务端。

  1. 创建facade

    切换到金蝶BOS设计开发工具视图,在app包下右键新建功能

    image.webp

    双击新建的功能,点击方法,新增方法和参数

    image.webp

    右键新增功能,点击发布成Java代码

    image.webp

    查看生成的Java代码,转到Java开发视图

    image.webp

    回到金蝶BOS设计开发工具视图,右键新增功能,点击发布webservice

image.webp

选中要发布的方法,填入发布的位置(位置随便写,后面配置即可)

image.webp


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文件放在其中

image.webp

这样刷新BIM中Java视图的包,便可生成新的目录以及文件

image.webp


3.BIM切换到金蝶BOS业务建模工具,选中项目,运行测试

image.webp

4.网址输入:

localhost:56898/ormrpc/services


下载两个文件

image.webp


5.打开idea,新建Java项目,拷贝这两个文件到项目中

image.webp


6.将wsdl文件解析成Java文件

1)右键项目,选择add Framework support(增加框架支持)

image.webp


2)

image.webp

3)选中两个wsdl文件

image.webp

7.编写测试类(测试类中的内容遍是调用发布的功能,代码在下面)

image.webp


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();
        }
    }

结果:

image.webp

小贴士:里面的参数说明可参考EAS登录接口说明文档

EAS登录接口说明文档(WebService).docx

BOS创建facade,发布webservice,idea 解析wsdl文件成Java,配置wsdl文件在服务端。

创建facade切换到金蝶BOS设计开发工具视图,在app包下右键新建功能双击新建的功能,点击方法,新增方法和参数右键新增功能,点击发布成Java...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息