天翎MyApps技术社区 - 低代码平台 | 流程管理系统 | BPM软件

 找回密码
 注册成为天翎用户
查看: 1637|回复: 6

[已解决] 调用自己写的类提示is not a function

[复制链接]
济南佳诺 发表于 2017-3-31 11:24:12 | 显示全部楼层 |阅读模式
11.png
这是报错信息
22.png
这是我的类
已经做成jar包放到web-inf/lib下了
karrman 发表于 2017-3-31 14:23:31 | 显示全部楼层
1、调用自己写的类,方法如下
将java类(包路径com.semir.store.WSTest)打成jar包放在lib下面
之后在脚本中调用如下,其中new Packages是固定开头,com.semir.store.WSTest()是路径
//申明一个java类
var wstest = new Packages.com.semir.store.WSTest();
//MI_Store2SAP_Customer方法名称
var arrayObj = wstest.MI_Store2SAP_Customer(参数);

2、你可以加上打印,看一下自己的类是否可以成功调用;
3、你的报错,是否你返回的值是json,但是没有安装json的规则去读取数据呢
http://stackoverflow.com/questio ... roperty-length-from
4、如以上可以解决您的问题,请回帖,说明可以结贴,谢谢
 楼主| 济南佳诺 发表于 2017-3-31 14:38:52 | 显示全部楼层
我就是按这个流程标准的去做的,我的包路径是:CallCenter,下面class文件是CallOut.class,然后脚本中代码是:var call = new Packages.CallCenter.CallOut(),就是在这句代码报错,所以也没法打印,报错信息是:[JavaPackage cn.myapps.callCenter.CallOut] is not a function, it is org.mozilla.javascript.NativeJavaPackage.
 楼主| 济南佳诺 发表于 2017-3-31 14:40:45 | 显示全部楼层
而且我还用了另外一种方法,就是把编译好的class文件放到cn\myapps\callCenter下,然后代码调用:var call = new Packages.cn.myapps.callCenter.CallOut(),还是报同样的错,清理了tomcat缓存文件也不行
karrman 发表于 2017-3-31 15:26:57 | 显示全部楼层
请参考此帖子,情况跟你完全一样
如何调用自己写的JAVA类!!!
http://www.teemlink.com/bbs/foru ... 1&fromuid=36950
(出处: 天翎myApps)
 楼主| 济南佳诺 发表于 2017-3-31 15:29:02 | 显示全部楼层
我这个已经解决了,我换了一套环境,就可以了,可能是我上一个测试环境丢失了部分东西
karrman 发表于 2017-3-31 18:32:41 | 显示全部楼层
感谢楼主反馈,结贴

本版积分规则

QQ|手机版|天翎MyApps技术社区 ( 粤ICP备11093750号 )

GMT+8, 2026-8-12 04:49

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表