调用Oracle UCM的LIST_PATH服务获取文件夹数据时遇csSystemCodeExecutionError错误
解决Oracle UCM LIST_PATH服务csSystemCodeExecutionError错误
先排查基础问题
- 核对文件夹路径:确认
Folders/Users/SCM02.STUDENT/demofolder是系统内真实存在的路径,UCM路径区分大小写,别写错层级或字母大小写。嫌麻烦的话,直接到UCM网页端找到该文件夹,复制完整路径替换payload里的对应值。 - 检查账号权限:调用SOAP服务的账号必须拥有目标文件夹的读取权限。先用同一账号登录UCM网页端,打开目标文件夹确认能看到里面的文档,要是打不开,就找管理员调整权限。
修正SOAP Payload的冗余字段
你的payload里重复定义了IdcService字段——ucm:Service标签已经指定了IdcService="LIST_PATH",没必要在ucm:Document下再添加<ucm:Field name="IdcService">LIST_PATH</ucm:Field>,冗余字段可能引发系统解析错误。修正后的payload如下:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ucm="http://www.oracle.com/UCM"> <soapenv:Header/> <soapenv:Body> <ucm:GenericRequest webKey="cs"> <ucm:Service IdcService="LIST_PATH"> <ucm:Document> <ucm:Folder> <ucm:Field name="path">Folders/Users/SCM02.STUDENT/demofolder</ucm:Field> </ucm:Folder> </ucm:Document> </ucm:Service> </ucm:GenericRequest> </soapenv:Body> </soapenv:Envelope>
额外注意事项
- LIST_PATH服务仅返回文件夹内的文档元数据(包含文档ID),无法直接获取文档内容。如果需要内容,得先用LIST_PATH拿到文档ID,再调用
GET_FILE或CHECKOUT服务,传入文档ID等参数才能获取。 - 确认SOAP请求的端点URL正确,UCM的Web服务入口通常为
http://<UCM服务器地址>:<端口>/cs/idcplg/soap,别填错地址或端口。
内容的提问来源于stack exchange,提问作者Egis edge
相关产品推荐
相关产品推荐

