Webmethods WmRoot servics 应用,为Admin UI 添加菜单项

来源:互联网 发布:车牌识别算法 matlab 编辑:程序博客网 时间:2024/05/24 06:04

1.怎样才可以调用WmRoot包中的services

在webmethods中WmRoot 这个包算是核心了,里面有很多有用的services。不过由于权限(ACL)问题,在developer中无法直接调用WmRoot 中的service。不过可以在IS Admin UI中浏览到这些services。见下图,

怎样才可以在developer中查看和调用这些services呢?你只需修改一下配置

在Admin UI界面点击Setting -> Extended. 然后点击 Show and Hide Keys。找到watt.server.ns.hideWmRoot= true 将 true改为false即可。这时你可以用admin权限的账号登陆到developer就可以看到WmRoot这个包了,注意,用developer的账号登陆看不到,因为这个包的ACL的list权限是Administrator。

还有一种办法无需修改配置可以直接调用,但是前提是你得知道调用的services的名字。

随便新建一个service,随便调用一个services然后将调用的这个services的Property下的services直接改成你想调用的WmRoot下的services即可。


2.为Admin UI添加menu菜单。

在WmRoot包中用两个service可以给Admin界面添加Menu菜单,一个是wm.server.ui.addMenu ,这个添加的menu会显示在Adapters菜单下。

另外一个是wm.server.ui.addSolution,这个menu会添加在Solutions菜单栏下。


1)  添加到Adapter菜单栏下。

运行wm.server.ui.addMenu , 输入如图所示参数,

其中参数 service 和 submenu的意义不知道,有知道的可以留言。


刷新Admin UI 界面,可以看到已经添加了一个menu.但是我定义的testa.dsp 和tesb.dsp并不存在,所有,打开后看到的是404错误。见图:


但是这个添加之后,你一旦重启IS Server,这个menu就不存在了,所以你得建个server来调用wm.server.ui.addMenu。然后将这个service设置为所在包的Startup Services.

这样当这个包一加载,这个menu就添加了。如下图所示,initServics就调用了wm.server.ui.addMenu这个service.


2)添加到Solutions菜单栏下。

打开wm.server.ui.addSolution可以看到一个输入参数callBack.

这时你新建一个service.添加一个Map Step,然后在pipeline out 中输入以下 Key Vale对。

name   My Solution

text       My Solution

url       ../mypackage/mySolution.dsp

target mypackage/mySolution.dsp

当然,这个url指向的dsp文件不存在,所以打开也是404错误。

运行wm.server.ui.addSolution,把你刚才新建的service的全名copy到callBack这个参数,然后运行。刷新Admin UI界面,你会发现新增加了一个菜单栏在Solutions下面。


这个方法添加的菜单栏在IS重启后也会丢失,所以你可以建一个调用wm.server.ui.addSolution 的service作为某个包的Startup Service即可。

当然,WmRoot下还有很多有用的Servics.比如,wm.server.query.getCurrentUser可以获取当前的用户。等等,其他的各位可以自己可以去看看。


3,移除菜单栏。

调用wm.server.ui.removeMenu 和  wm.server.ui.removeSolution 既可以移除菜单栏。




原创粉丝点击