As we transition to the new Hyland Community, some post links may be temporarily disrupted as we finalize redirects. We apologize for the inconvenience and are working to resolve this as quickly as possible. Details.
import java.io.IOException; import java.io.InputStream; import java.net.URL; import java.net.URLConnection; import org.apache.abdera.Abdera; import org.apache.abdera.model.Document; import org.apache.abdera.model.Element; import org.apache.abdera.model.Entry; import org.apache.abdera.model.ExtensibleElement; import org.apache.abdera.model.Feed; import org.apache.abdera.parser.ParseException; import org.apache.abdera.parser.Parser; import org.apache.abdera.protocol.client.AbderaClient; import org.apache.abdera.protocol.client.ClientResponse; import org.apache.abdera.protocol.client.RequestOptions; import com.sun.org.apache.xerces.internal.impl.dv.util.Base64; public class ClienteAbderaCMIS { /** * @param args * @throws IOException * @throws ParseException */ public static String NS_CMIS_RESTATOM = "http://docs.oasis-open.org/ns/cmis/restatom/200908/"; public static String NS_CMIS_CORE = "http://docs.oasis-open.org/ns/cmis/core/200908/"; public static String CMISRA = "cmisra"; public static String CMIS = "cmis"; public static void main(String[] args) throws ParseException, IOException { //Obtenemos un parser Abdera abdera = new Abdera(); Parser parser = abdera.getParser(); //URL de la carpeta (espacio) al que nos conectaremos URL url = new URL("http://localhost:8080/alfresco/s/cmis/p/User%20Homes/Cecilia%20Albo/children"); //Usuario y password con permisos sobre la carpeta String credenciales = "admin" + ":" + "admin"; //Abrimos la conexión URLConnection uconn = url.openConnection(); //Metemos las credenciales (usuario + password) en la cabecera de la petición (cuidado con el espacio en blanco) uconn.setRequestProperty("Authorization", "Basic" + " " + Base64.encode(credenciales.getBytes())); //Obtenemos la respuesta del servidor InputStream content = uconn.getInputStream(); //Parseamos la respuesta Document<Feed> doc = parser.parse(content); //Obtenemos el elemento raíz (nombre de la carpeta) Feed feed = doc.getRoot(); System.out.println(feed.getTitle()); //Obtenemos los elementos hijos del elemento raíz for(Entry entry : feed.getEntries()){ System.out.println("\t" + entry.getTitle()); } //Instanciamos una nueva entrada (contenido) Entry entry = abdera.newEntry(); entry.setTitle("TestAbderaFolder"); entry.setSummary("Test Abdera Folder"); /* *Creamos el documento * * *<?xml version="1.0" encoding="utf-8"?> <entry xmlns="http://www.w3.org/2005/Atom" xmlns:cmisra="http://docs.oasis-open.org/ns/cmis/restatom/200908/" xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/"> <title>Someco</title> <cmisra:object> <cmis:properties> <cmis:propertyId propertyDefinitionId="cmis:objectTypeId"> <cmis:value>cmis:folder</cmis:value> </cmis:propertyId> </cmis:properties> </cmisra:object> </entry> */ ExtensibleElement objElement = entry.addExtension(NS_CMIS_RESTATOM, "object", CMISRA); ExtensibleElement propsElement = objElement.addExtension(NS_CMIS_CORE, "properties", CMIS); ExtensibleElement stringElement = propsElement.addExtension(NS_CMIS_CORE, "propertyId", CMIS); stringElement.setAttributeValue("propertyDefinitionId","cmis:objectTypeId"); Element valueElement = stringElement.addExtension(NS_CMIS_CORE, "value", CMIS); valueElement.setText("cmis:folder"); //Intanciamos un cliente Abdera AbderaClient client = new AbderaClient(); RequestOptions options = new RequestOptions(); options.setHeader("Authorization", "Basic" + " " + Base64.encode(credenciales.getBytes())); ClientResponse response = null; response = client.post("http://localhost:8080/alfresco/s/cmis/p/User%20Homes/Cecilia%20Albo/Documentos%20Personales/children", entry, options); } }
org.apache.chemistry.CMISRuntimeException: Remote server returned error code: 405
14:51:44,043 User:admin ERROR [web.scripts.AbstractRuntime] Exception from executeScript - redirecting to status template error: 02100006 Script url /cmis/s/workspace:SpacesStore/i/95e0fc58-7a98-41e6-9c83-2a765253a185 does not support the method POST org.alfresco.web.scripts.WebScriptException: 02100006 Script url /cmis/s/workspace:SpacesStore/i/95e0fc58-7a98-41e6-9c83-2a765253a185 does not support the method POST
package es.uniovi.pfc.chemistry.test; import java.io.Serializable; import java.util.Collection; import java.util.HashMap; import java.util.Map; import org.apache.chemistry.Folder; import org.apache.chemistry.NameConstraintViolationException; import org.apache.chemistry.Repository; import org.apache.chemistry.RepositoryInfo; import org.apache.chemistry.Type; import org.apache.chemistry.UpdateConflictException; import org.apache.chemistry.atompub.client.APPConnection; import org.apache.chemistry.atompub.client.APPRepositoryService; public class TestChemistry { /** * @param args */ public static final String PARAM_USERNAME = "username"; public static final String PARAM_PASSWORD = "password"; public static void main(String[] args) throws NameConstraintViolationException, UpdateConflictException { String username = "admin"; String password = "admin"; Map<String, Serializable> params = new HashMap<String, Serializable>(); params.put(PARAM_USERNAME, username); params.put(PARAM_PASSWORD, password); Repository repository = new APPRepositoryService("http://localhost:8080/alfresco/s/cmis", params) .getDefaultRepository(); RepositoryInfo repositoryInfo = repository.getInfo(); System.out.println(repositoryInfo.getName()); System.out.println(repositoryInfo.getProductName()); System.out.println(repositoryInfo.getVendorName()); System.out.println(repositoryInfo.getProductVersion()); Collection<Type> types = repository.getTypes(); for (Type type : types) { System.out.println("Type id:" + type.getId()); } APPConnection connection = (APPConnection) repository.getConnection(params); Folder folder = connection.getRootFolder(); System.out.println("Root folder id: " + folder.getId()); System.out.println("Root folder nombre" + folder.getName()); Folder childrenFolder = folder.newFolder("cmis:folder"); childrenFolder.setName("PruebaChemistry"); childrenFolder.save(); } }