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

QQ登录

只需一步,快速开始

查看: 2177|回复: 8

[结贴] Bex5V3.3 DocHelper.downloadDoc返回空指针错误

[复制链接]

53

主题

267

帖子

896

积分

高级会员

Rank: 4

积分
896
QQ
发表于 2016-1-27 19:00:04 | 显示全部楼层 |阅读模式
本帖最后由 ajun007_cn 于 2016-1-27 19:28 编辑

Bex5V3.3 DocHelper.downloadDoc返回空指针错误,如下图所示:
17.jpg
我想做一个上传图片从文档服务器复制到指定文件夹,使用: DocHelper.downloadDoc去下载到文件流。
在目标文件夹有文件,但图片打开全是空白。
我定位原码:DocHelper.java121行:Docs.queryDocByID(docID).download(out);估计是Docs.queryDocByID(docID)返回的是空指针。

完整信息如下:
docID ===================  C6EEB81A92C00001C054736018B0F280
复制单个文件操作出错
java.lang.NullPointerException
        at com.justep.doc.DocHelper.downloadDoc(DocHelper.java:121)
        at CopyImageUtil.copyFile(CopyImageUtil.java:63)
        at Wx_CMSProcess.wx_CatalogBeforeSaveWx_CatalogAction(Wx_CMSProcess.java:30)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at com.justep.system.action.Engine.invokeActions(Native Method)
        at com.justep.system.action.Engine.invokeActions(Unknown Source)
        at com.justep.business.server.BusinessServer.doAction(Unknown Source)
        at com.justep.business.server.BusinessServer.doExcute(Unknown Source)
        at com.justep.business.server.BusinessServer.excute(Unknown Source)
        at com.justep.business.server.BusinessServer.excute(Unknown Source)
        at com.justep.business.server.BusinessServerServlet.execService(Unknown Source)
        at com.justep.business.server.BusinessServerServlet.service(Unknown Source)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
        at com.justep.x.bs.BusinessServerServlet.service(Unknown Source)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Thread.java:745)
图片复制失败!
原图片删除成功!


东莞相思鸟软件 专业X5开发团队 长期招收学徒 推荐工作
http://www.leiothrixsoft.com QQ:402807176

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36064
发表于 2016-1-28 10:03:11 | 显示全部楼层
确认传的docID是否正确,本地测试没问题
doc.png

docjs.png

file.png

远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

53

主题

267

帖子

896

积分

高级会员

Rank: 4

积分
896
QQ
 楼主| 发表于 2016-1-28 10:44:50 | 显示全部楼层
本帖最后由 ajun007_cn 于 2016-1-28 12:15 编辑
jishuang 发表于 2016-1-28 10:03
确认传的docID是否正确,本地测试没问题

你这里测试的是Action的方式,我的代码是在概念的saveAction执行前事件里复制图片的动作,问题是不是出在这里?保存前是不是文档还没有传到服务器,queryDocByID查询不到,所以返回空指针?如果是这样,换到saveAction的执行后事件如何?
我试了换到saveAction的执行后事件,还是报同样的错误,删除旧图片没有问题,说明传的docID是没有问题的。


东莞相思鸟软件 专业X5开发团队 长期招收学徒 推荐工作
http://www.leiothrixsoft.com QQ:402807176
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36064
发表于 2016-1-28 14:20:15 | 显示全部楼层
saveAction的执行前和执行后都是在同一个事务中,新上传的doc还没有到文档服务器上,查询是找不到的
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

53

主题

267

帖子

896

积分

高级会员

Rank: 4

积分
896
QQ
 楼主| 发表于 2016-1-28 14:31:25 | 显示全部楼层
jishuang 发表于 2016-1-28 14:20
saveAction的执行前和执行后都是在同一个事务中,新上传的doc还没有到文档服务器上,查询是找不到的 ...

那我要在文档修改或新增的时候复制图片到我自定义的路径,该如何实现?或者有没有其它解决方案?
东莞相思鸟软件 专业X5开发团队 长期招收学徒 推荐工作
http://www.leiothrixsoft.com QQ:402807176
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36064
发表于 2016-1-28 16:20:57 | 显示全部楼层
可以在data的onSaveCommit事件中操作
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

53

主题

267

帖子

896

积分

高级会员

Rank: 4

积分
896
QQ
 楼主| 发表于 2016-1-28 18:07:16 | 显示全部楼层
jishuang 发表于 2016-1-28 16:20
可以在data的onSaveCommit事件中操作

我找了以前2.7版本写的代码,都是在SaveAction之后事件写的,都可以复制图片到指定目录,为什么到3.3版本的用同样的方法却不行?是不是DocHelper的BUG,因为我发现将model\BIZ\SA\doc\logic\code\src设为原码路径之后代码中有错误标记。
东莞相思鸟软件 专业X5开发团队 长期招收学徒 推荐工作
http://www.leiothrixsoft.com QQ:402807176
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36064
发表于 2016-1-29 10:31:27 | 显示全部楼层
本地测试5.2.7也是同样的错误
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

53

主题

267

帖子

896

积分

高级会员

Rank: 4

积分
896
QQ
 楼主| 发表于 2016-2-19 20:22:11 | 显示全部楼层
结贴
东莞相思鸟软件 专业X5开发团队 长期招收学徒 推荐工作
http://www.leiothrixsoft.com QQ:402807176
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-22 11:17 , Processed in 0.093413 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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