在java中使用SOAP在共享点中创建新目录
我刚刚开始使用java开发share point,我的公司使用share point 2010版本,所以我必须使用SOAP,我已经完成了以下功能。 从共享点下载文档。 将文档上载到共享点 但我在创建新目录时遇到了困难,我曾通过谷歌搜索尝试过一些代码,但没有成功。 这是我的密码:在java中使用SOAP在共享点中创建新目录,java,soap,Java,Soap,我刚刚开始使用java开发share point,我的公司使用share point 2010版本,所以我必须使用SOAP,我已经完成了以下功能。 从共享点下载文档。 将文档上载到共享点 但我在创建新目录时遇到了困难,我曾通过谷歌搜索尝试过一些代码,但没有成功。 这是我的密码: public void createFolder(ListsSoap ls, String filePathToCreate, String fileName, LoginDO loginDO,
public void createFolder(ListsSoap ls, String filePathToCreate,
String fileName, LoginDO loginDO, HttpServletResponse response)
throws Exception {
try {
String query = "";
String folderName = "NewFolder";
// 1. Prepare Query, Query Options and field Options
if (CommonUtilities.isValidStr(folderName)) {
// Prepare Query & Query Options for child folders
query = "<Batch OnError=\"Continue\" PreCalc=\"TRUE\" ListVersion=\"0\" " +
"RootFolder=\"https://xxx/Shared%20Documents/FPL%20SOs%20-%20JD%20Documents\">"
+ "<Method ID=\"1\" Cmd=\"New\">"
+ "<Field Name=\"FSObjType\">1</Field>"
+"<Field Name=\"ID\">New</Field>"
+ "<Field Name=\"BaseName\">" + folderName + "</Field>"
+ "</Method></Batch>";
} else {
// Prepare Query & Query Options for Parent folders
query = "<Query><Where><Eq><FieldRef Name=\"FSObjType\" />"
+ "<Value Type=\"Lookup\">1</Value></Eq></Where></Query>";
}
UpdateListItems.Updates updates = null;
// 2. Prepare Query, QueryOptions & ViewFields object as per options
if (CommonUtilities.isValidStr(query)) {
updates = new UpdateListItems.Updates();
updates.getContent().add(
sharepointUtil.createSharePointCAMLNode(query));
}
// 3. Call Web service to get result for selected options
UpdateListItemsResult result = ls
.updateListItems(SHAREPOINT_FOLDER_NAME,updates);
/*
* CommonUtilities
* .getApplicationProperty(ApplicationConstants.SHAREPOINT_FOLDER_NAME
* ), "", msQuery, viewFields, "", msQueryOptions, "");
*/
// 4. Get elements from share point result
Element element = (Element) result.getContent().get(0);
NodeList nl = element.getElementsByTagName("z:row");
for (int i = 0; i < nl.getLength(); i++) {
Node node = nl.item(i);
System.out.println("Some.!");
}
} catch (Exception e) {
e.printStackTrace();
}
// logger.logMethodEnd();
}`
无论如何,updateListItems方法执行时没有错误,但结果中并没有任何内容
感谢您的帮助。
谢谢你:看来这里面有问题
"RootFolder=\"https://xxx/Shared%20Documents/FPL%20SOs%20-%20JD%20Documents\">"
传递根目录以在其中创建文件夹时。
通过传递具有完整目录层次结构的folderName找到了其他解决方法
感谢大家的投入:也许这会有所帮助