我尝试为外部系统构建一个Web服务来上传文档。
每个用户创建一个唯一的文件夹来存储他自己上传的文档。
为此,我想创建具有唯一名称的不同文件夹。
我查找了API并找到DLFolderLocalServiceUtil.addFolder
(参数列表太长而无法输入)方法。
param serviceContext
是必需的,我似乎无法找到检索它的方法。
所以,我把NULL改为。在构建和部署之后,我从客户端调用包含addFolder()
的方法,在服务器上发生NullPointerException
,并在客户端上发生轴异常。
的faultcode:
{http://schemas.xmlsoap.org/soap/envelope/}Server.userException, faultString: java.rmi.RemoteException.
是因为我将NULL作为参数而不是serviceContext
的实例?
如果是这样,我如何获得serviceContext
的实例?如果我不能,那还有什么问题呢?
这是我的参数表:
DLFolderLocalServiceUtil.addFolder(user.getUserId(), user.getGroupId(), user.getGroupId(), true, 10157, "test", "description", false, null);
答案 0 :(得分:0)
您也可以尝试DLAppLocalServiceUtil.addFolder。
同样,服务上下文是一个参数,但我能够创建一个包含以下内容的文件夹
final Folder folder = DLAppLocalServiceUtil.addFolder(
getThemeDisplay().getUserId(),
getThemeDisplay().getScopeGroupId(),
DLFolderConstants.DEFAULT_PARENT_FOLDER_ID,
"Folder Name",
"Folder Description",
new ServiceContext());
在我的特定用例中,我使用请求对象中的ThemeDisplay
来组织我的Document Media元素:
(ThemeDisplay)request.getAttribute(WebKeys.THEME_DISPLAY)
注意:此外,在我的特定用法中,触发文件夹创建的用户将具有提升的权限,因为此类权限可能是非管理员用户的问题。