起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 468|回复: 3

[结贴] .j文件调用action出现:执行Action出错, null

[复制链接]

34

主题

109

帖子

731

积分

高级会员

Rank: 4

积分
731
QQ
发表于 4 天前 | 显示全部楼层 |阅读模式
按照第三方组织机构数据如何导入到X5中如何实现注册用户中说明的方法,写了一个.j文件用来调用action,但是报错:执行Action出错, null

错误信息:
  1. bsessionid: F5031210D3C67E95B73E512F8E793227
  2. 2025-05-29 14:29:29 action:<?xml version="1.0" encoding="UTF-8"?>
  3. <action process="/DrcProjManagement/common/process/thirdParty/thirdPartyProcess" activity="mainActivity" name="addPerson" execute-context="" content-type="application/xml"><parameters><parameter name="orgName"><xbiz:simple xmlns:xbiz="http://www.justep.com/xbiz#" type="http://www.w3.org/2001/XMLSchema#String">server11</xbiz:simple></parameter><parameter name="sex"><xbiz:simple xmlns:xbiz="http://www.justep.com/xbiz#" type="http://www.w3.org/2001/XMLSchema#String">男</xbiz:simple></parameter><parameter name="name"><xbiz:simple xmlns:xbiz="http://www.justep.com/xbiz#" type="http://www.w3.org/2001/XMLSchema#String">wang103</xbiz:simple></parameter><parameter name="mobile"><xbiz:simple xmlns:xbiz="http://www.justep.com/xbiz#" type="http://www.w3.org/2001/XMLSchema#String">15987655678</xbiz:simple></parameter><parameter name="email"><xbiz:simple xmlns:xbiz="http://www.justep.com/xbiz#" type="http://www.w3.org/2001/XMLSchema#String">12354534@qq.com</xbiz:simple></parameter></parameters></action>
  4. java.util.NoSuchElementException
  5.         at java.util.LinkedHashMap$LinkedHashIterator.nextNode(LinkedHashMap.java:713)
  6.         at java.util.LinkedHashMap$LinkedValueIterator.next(LinkedHashMap.java:739)
  7.         at com.justep.system.log.LogUtils.log(Unknown Source)
  8.         at com.justep.system.log.LogUtils.log(Unknown Source)
  9.         at com.justep.system.interceptor.CheckPermission.execute(Unknown Source)
  10.         at com.justep.system.action.EngineInterceptor.excute(Unknown Source)
  11.         at com.justep.system.action.Engine.invokeActions(Native Method)
  12.         at com.justep.system.action.Engine.invokeActions(Unknown Source)
  13.         at com.justep.business.server.BusinessServer.doAction(Unknown Source)
  14.         at com.justep.business.server.BusinessServer.doExcute(Unknown Source)
  15.         at com.justep.business.server.BusinessServer.excute(Unknown Source)
  16.         at com.justep.business.server.BusinessServer.excute(Unknown Source)
  17.         at com.justep.business.server.BusinessServerServlet.execService(Unknown Source)
  18.         at com.justep.business.server.BusinessServerServlet.service(Unknown Source)
  19.         at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
  20.         at com.justep.x.bs.BusinessServerServlet.service(Unknown Source)
  21.         at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
  22.         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
  23.         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  24.         at com.justep.micro.service.MicroServiceFilter.doFilter(Unknown Source)
  25.         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
  26.         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  27.         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
  28.         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
  29.         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
  30.         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
  31.         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
  32.         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
  33.         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
  34.         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
  35.         at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
  36.         at java.lang.Thread.run(Thread.java:745)
复制代码
我对照了传入的参数,也没错。

34

主题

109

帖子

731

积分

高级会员

Rank: 4

积分
731
QQ
 楼主| 发表于 4 天前 | 显示全部楼层
本帖最后由 叫我银垚就好了 于 2025-5-29 14:45 编辑

.j文件如下:
  1.               String ip = request.getRemoteAddr();
  2. String language = "zh_CN";
  3. Date loginDate = new Date(System.currentTimeMillis());
  4. // 模拟登录获取bsessionid用于调用注册的action
  5. ActionResult actionResult = ActionEngine.login2("system01", ActionUtils.md5("123456"), ip, language, loginDate, null, ActionUtils.JSON_CONTENT_TYPE, null);
  6. String bsessionid = "";
  7. if (actionResult.isSuccess()) {
  8. bsessionid = actionResult.getBSessionID();
  9. System.out.println("bsessionid: " + bsessionid);
  10. //给action传参并调用action
  11. Action action = new Action();
  12. action.setProcess("/DrcProjManagement/common/process/thirdParty/thirdPartyProcess");
  13. action.setActivity("mainActivity");
  14. action.setName("addPerson");
  15. action.setParameter("name", userName);
  16. action.setParameter("orgName", orgName);
  17. action.setParameter("sex", gender);
  18. action.setParameter("mobile", mobile);
  19. action.setParameter("email", email);
  20. ActionResult ar2 = ActionEngine.invokeAction(action, ActionUtils.JSON_CONTENT_TYPE, bsessionid, null, null);
  21. if (ar2.isSuccess()) {
  22. result.put("message1", ar2.getContent().toString());
  23. } else {
  24. result.put("message2", ar2.getMessage());
  25. }
  26. // 退出登录
  27. ActionEngine.logout(bsessionid);
  28. } else{
  29. result.put("message3", actionResult.getMessage());
  30. }
复制代码
action.java文件如下:

  1. public class thirdParty {

  2. /**
  3. * 添加人员方法
  4. *
  5. * @param {String} name 姓名
  6. * @param {String} orgName 机构名称
  7. * @param {String} sex 性别
  8. * @param {String} mobile 手机号
  9. * @param {String} email 邮箱
  10. * */
  11. public static void addPerson(String name, String orgName, String sex, String mobile, String email){
  12. System.out.println("我被调用了。");
  13. }
  14. }
复制代码

action文件:
<?xml version="1.0" encoding="UTF-8"?>
<model xmlns="http://www.justep.com/model">
<action name="addPerson" global="false" procedure="addPersonProcedure"><label language="zh_CN">第三方添加人员</label>
<public type="String" name="name"></public>
<public type="String" name="orgName"></public>
<public type="String" name="sex"></public>
<public type="String" name="mobile"></public>
<public type="String" name="email"></public>
</action>
</model>
procedurd文件:
<?xml version="1.0" encoding="utf-8"?>
<model xmlns="http://www.justep.com/model" xmlns:m="http://www.justep.com/model">  
  <procedure name="addPersonProcedure" code-model="/DrcProjManagement/common/logic/code" code="thirdParty.addPerson">
    <parameter name="name" type="String"/>  
    <parameter name="orgName" type="String"/>  
    <parameter name="sex" type="String"/>  
    <parameter name="mobile" type="String"/>  
    <parameter name="email" type="String"/>
  </procedure>  
</model>


通过http请求调用就会报错。

回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36171
发表于 4 天前 | 显示全部楼层
确认是不是登录成功了,确认登录的人有没有这个process和activity的权限,可以在页面上用按钮调用action成功看看具体的参数给自己写的有什么不一样的
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

34

主题

109

帖子

731

积分

高级会员

Rank: 4

积分
731
QQ
 楼主| 发表于 4 天前 | 显示全部楼层
配置了也没用。
刚刚解决了,我重启了一下电脑就好了。。。。。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2025-6-2 15:58 , Processed in 0.063892 second(s), 24 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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