2017-01-13 12 views
1

Созданием папки в Alfresco, используя открытый CMIS с успокоительной WebServicesСоздания папки в Alfresco, используя открытый CMIS с успокоительной WebServices

import java.util.HashMap; 

import java.util.Map; 

import javax.ws.rs.Consumes; 
import javax.ws.rs.POST; 
import javax.ws.rs.Path; 
import javax.ws.rs.PathParam; 
import javax.ws.rs.Produces; 
import javax.ws.rs.QueryParam; 
import javax.ws.rs.core.MediaType; 
import javax.ws.rs.core.Response; 

import org.apache.chemistry.opencmis.client.api.Folder; 
import org.apache.chemistry.opencmis.client.api.Session; 
import org.apache.chemistry.opencmis.commons.PropertyIds; 



@Path("/testClient") 
public class TestClient 
{ 

    Folder mainFolder; 
    Folder subFolder; 
    Folder permission; 


    @POST 
    @Path("{createFolder}") 
    @Consumes("content-type = application/x-www-form-urlencoded") 
    @Produces(MediaType.APPLICATION_JSON) 
    public Response createFolder(@PathParam("foldername") String foldername) 
    { 
     Session session = Util.getSession(); 
      Folder rootFolder = session.getRootFolder(); 
      Map<String, Object> folderProp = new HashMap<String, Object>(); 
      folderProp.put(PropertyIds.OBJECT_TYPE_ID, "cmis:folder"); 
      folderProp.put(PropertyIds.NAME, ""+foldername.trim()); 
      Response res = null; 
      mainFolder = rootFolder.createFolder(folderProp); 

      if(mainFolder.getName()==foldername) 
      { 
       res = Response.status(200).entity("Folder Created").build(); 
       System.out.println("Folder Created"); 
      } 

      else 
      { 
       res = Response.status(201).entity("Folder Created").build(); 
       System.out.println("Folder Not Created"); 
      } 

      return res; 


    } 


} 

Как создать папку в Alfresco Использование открытого КМИСА и успокоительный Webservices Я пытался, но это показывает мне следующее сообщение об ошибке:

StackTrace : 

INFO: Initialization processed in 475 ms Jan 12, 2017 1:02:59 PM org.apache.catalina.core.StandardService startInternal INFO: Starting service Catalina Jan 12, 2017 1:02:59 PM org.apache.catalina.core.StandardEngine startInternal INFO: Starting Servlet Engine: Apache Tomcat/7.0.73 Jan 12, 2017 1:02:59 PM org.apache.catalina.util.SessionIdGeneratorBase createSecureRandom INFO: Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [108] milliseconds. Jan 12, 2017 1:02:59 PM org.apache.catalina.loader.WebappClassLoaderBase validateJarFile INFO: validateJarFile(F:\ALFRESCOJAVAw.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\CreateFolderRESTAPI\WEB-INF\lib\servlet-api-2.5.jar) - jar not loaded. See Servlet Spec 3.0, section 10.7.2. Offending class: javax/servlet/Servlet.class Jan 12, 2017 1:03:03 PM org.apache.catalina.startup.TldConfig execute INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time. Jan 12, 2017 1:03:03 PM com.sun.jersey.api.core.servlet.WebAppResourceConfig init INFO: Scanning for root resource and provider classes in the Web app resource paths: /WEB-INF/lib /WEB-INF/classes Jan 12, 2017 1:03:06 PM com.sun.jersey.api.core.ScanningResourceConfig init INFO: No root resource classes found. Jan 12, 2017 1:03:06 PM com.sun.jersey.api.core.ScanningResourceConfig logClasses INFO: Provider classes found: class org.apache.cxf.jaxrs.provider.CachingMessageBodyWriter class org.apache.cxf.jaxrs.provider.AbstractCachingMessageProvider class org.apache.cxf.jaxrs.provider.JAXBElementProvider class org.apache.cxf.jaxrs.provider.XPathProvider class org.codehaus.jackson.jaxrs.JacksonJaxbJsonProvider class org.apache.cxf.jaxrs.provider.RequestDispatcherProvider class org.apache.cxf.jaxrs.provider.FormEncodingProvider class org.apache.cxf.jaxrs.validation.JAXRSBeanValidationInInterceptor class org.apache.cxf.jaxrs.provider.DataBindingProvider class org.apache.cxf.jaxrs.provider.CachingMessageBodyReader class org.apache.cxf.jaxrs.validation.ValidationExceptionMapper class org.codehaus.jackson.jaxrs.JsonMappingExceptionMapper class org.codehaus.jackson.jaxrs.JacksonJsonProvider class org.apache.cxf.jaxrs.provider.MultipartProvider class org.apache.cxf.jaxrs.provider.XSLTJaxbProvider class org.apache.cxf.jaxrs.provider.DataSourceProvider class org.apache.cxf.jaxrs.provider.SourceProvider class org.apache.cxf.jaxrs.validation.JAXRSBeanValidationOutInterceptor class org.codehaus.jackson.jaxrs.JsonParseExceptionMapper Jan 12, 2017 1:03:06 PM com.sun.jersey.server.impl.application.WebApplicationImpl _initiate INFO: Initiating Jersey application, version 'Jersey: 1.19 02/11/2015 05:39 AM' Jan 12, 2017 1:03:06 PM com.sun.jersey.server.impl.application.RootResourceUriRules SEVERE: The ResourceConfig instance does not contain any root resource classes. Jan 12, 2017 1:03:06 PM com.sun.jersey.spi.inject.Errors processErrorMessages SEVERE: The following errors and warnings have been detected with resource and/or provider classes: SEVERE: Missing dependency for method public void org.apache.cxf.jaxrs.provider.AbstractCachingMessageProvider.setMessageContext(org.apache.cxf.jaxrs.ext.MessageContext) at parameter at index 3 SEVERE: Missing dependency for method public void org.apache.cxf.jaxrs.provider.RequestDispatcherProvider.setMessageContext(org.apache.cxf.jaxrs.ext.MessageContext) at parameter at index 2 SEVERE: Missing dependency for method public void org.apache.cxf.jaxrs.provider.AbstractCachingMessageProvider.setMessageContext(org.apache.cxf.jaxrs.ext.MessageContext) at parameter at index 3 SEVERE: Missing dependency for field: private org.apache.cxf.jaxrs.ext.MessageContext org.apache.cxf.jaxrs.provider.MultipartProvider.mc SEVERE: Missing dependency for field: private org.apache.cxf.jaxrs.ext.MessageContext org.apache.cxf.jaxrs.provider.SourceProvider.context SEVERE: Missing dependency for method public void org.apache.cxf.jaxrs.provider.JAXBElementProvider.setMessageContext(org.apache.cxf.jaxrs.ext.MessageContext) at parameter at index 16 SEVERE: Missing dependency for method public void org.apache.cxf.jaxrs.provider.JAXBElementProvider.setMessageContext(org.apache.cxf.jaxrs.ext.MessageContext) at parameter at index 3 SEVERE: Missing dependency for field: private org.apache.cxf.jaxrs.ext.MessageContext org.apache.cxf.jaxrs.provider.FormEncodingProvider.mc Jan 12, 2017 1:03:06 PM org.apache.catalina.core.ApplicationContext log SEVERE: StandardWrapper.Throwable com.sun.jersey.api.container.ContainerException: The ResourceConfig instance does not contain any root resource classes. at com.sun.jersey.server.impl.application.RootResourceUriRules.(RootResourceUriRules.java:99) at com.sun.jersey.server.impl.application.WebApplicationImpl._initiate(WebApplicationImpl.java:1359) at com.sun.jersey.server.impl.application.WebApplicationImpl.access$700(WebApplicationImpl.java:180) at com.sun.jersey.server.impl.application.WebApplicationImpl$13.f(WebApplicationImpl.java:799) at com.sun.jersey.server.impl.application.WebApplicationImpl$13.f(WebApplicationImpl.java:795) at com.sun.jersey.spi.inject.Errors.processWithErrors(Errors.java:193) at com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:795) at com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:790) at com.sun.jersey.spi.container.servlet.ServletContainer.initiate(ServletContainer.java:509) at com.sun.jersey.spi.container.servlet.ServletContainer$InternalWebComponent.initiate(ServletContainer.java:339) at com.sun.jersey.spi.container.servlet.WebComponent.load(WebComponent.java:605) at com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:207) at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:394) at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:577) at javax.servlet.GenericServlet.init(GenericServlet.java:158) at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1269) at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1182) at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1072) at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5368) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5660) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1571) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1561) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745)

Jan 12, 2017 1:03:06 PM org.apache.catalina.core.StandardContext loadOnStartup 
SEVERE: Servlet [AlfrescoRest] in web application [/CreateFolderRESTAPI] threw load() exception 
com.sun.jersey.api.container.ContainerException: The ResourceConfig instance does not contain any root resource classes. 
    at com.sun.jersey.server.impl.application.RootResourceUriRules.<init>(RootResourceUriRules.java:99) 
    at com.sun.jersey.server.impl.application.WebApplicationImpl._initiate(WebApplicationImpl.java:1359) 
    at com.sun.jersey.server.impl.application.WebApplicationImpl.access$700(WebApplicationImpl.java:180) 
    at com.sun.jersey.server.impl.application.WebApplicationImpl$13.f(WebApplicationImpl.java:799) 
    at com.sun.jersey.server.impl.application.WebApplicationImpl$13.f(WebApplicationImpl.java:795) 
    at com.sun.jersey.spi.inject.Errors.processWithErrors(Errors.java:193) 
    at com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:795) 
    at com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:790) 
    at com.sun.jersey.spi.container.servlet.ServletContainer.initiate(ServletContainer.java:509) 
    at com.sun.jersey.spi.container.servlet.ServletContainer$InternalWebComponent.initiate(ServletContainer.java:339) 
    at com.sun.jersey.spi.container.servlet.WebComponent.load(WebComponent.java:605) 
    at com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:207) 
    at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:394) 
    at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:577) 
    at javax.servlet.GenericServlet.init(GenericServlet.java:158) 
    at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1269) 
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1182) 
    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1072) 
    at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5368) 
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5660) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1571) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1561) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    at java.lang.Thread.run(Thread.java:745) 

Jan 12, 2017 1:03:06 PM org.apache.coyote.AbstractProtocol start 
INFO: Starting ProtocolHandler ["http-bio-7072"] 
Jan 12, 2017 1:03:06 PM org.apache.coyote.AbstractProtocol start 
INFO: Starting ProtocolHandler ["ajp-bio-8010"] 
Jan 12, 2017 1:03:06 PM org.apache.catalina.startup.Catalina start 
INFO: Server startup in 7493 ms 
` 

Просьбы Помогите мне решить эту ошибку Thnx заранее ..

web.xml

`<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns="http://xmlns.jcp.org/xml/ns/javaee" 
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" 
id="WebApp_ID" version="3.1"> 
<display-name>Restful Web Application</display-name> 

<servlet> 
    <servlet-name>CreateFolderRESTAPI</servlet-name> 
    <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class> 

    <init-param> 
    <param-name>com.sun.jersey.config.property.packages</param-name> 
    <param-value>com.bizruntime.*</param-value> 
    </init-param> 

    <init-param> 
    <param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name> 
    <param-value>true</param-value> 
    </init-param> 
</servlet> 

<servlet-mapping> 
    <servlet-name>CreateFolderRESTAPI</servlet-name> 
    <url-pattern>/*</url-pattern> 
</servlet-mapping> 

</web-app>` 
+0

я говорю о моем ответе сделать это в качестве ответа на этот вопрос (и почему не upvote его) –

ответ

1

Я проверил этот метод, и он работал отлично для меня

public static void createNewFolderIn(String serverUrl, String username, String password, String path, String folderName) { 
    Folder root = getFolderByPath(serverUrl, username, password, path); 
    Map<String, Object> properties = new HashMap<>(); 
    properties.put(PropertyIds.OBJECT_TYPE_ID, BaseTypeId.CMIS_FOLDER.value()); 

    properties.put(PropertyIds.NAME, folderName); 
    List<Ace> addAces = new LinkedList<>(); 
    List<Ace> removeAces = new LinkedList<>(); 
    List<Policy> policies = new LinkedList<>(); 
    Folder newFolder = root.createFolder(properties, policies, addAces, removeAces, getSession(serverUrl, username, password).getDefaultContext()); 

    } 

Надежда что помогло вам.

+1

Вы можете просто работать с корневой папкой –

+0

да теперь работает отлично ... спасибо Яг –

+0

да .. я уже обновил мой код ... конечно, я попрошу вас получить дополнительную помощь @Yagami –