AnsweredAssumed Answered

Ayuda con Alfresco y C# windows form VS 2008

Question asked by josss777 on Oct 24, 2011
Buenas a todos!!! estoy haciendo un aplicativo en c# windows form con vs 2008 e integrarlo con alfresco 3.x enterprise, he intentado con manuales, tips en webs, incluso me baje un proyecto de c# con .net -> alfresco-dotNet-0.2Beta, lo quise correr y me salian una serie de errores, trate de guiarme del codigo y me di cuenta que me faltan algunos metodos en el webservices del alfresco como el StrNum, y un error frecuente con el addsecurity dentro de la clase WebserviceFactory por incompatibilidad del RepositoryService con el Microsoft.Web.System3.WebServicesClientProtocol luego, le agregue el WS3.0 a mi proyecto y reduje esa funcion de addsecurity a esto

public static RepositoryService getRepositoryService(String endPointAddress){
            RepositoryService repositoryService = new RepositoryService();
            repositoryService.Url = endPointAddress + REPOSITORY_SERVICE_ADDRESS;           
            Microsoft.Web.Services3.WebServicesClientProtocol service = new Microsoft.Web.Services3.WebServicesClientProtocol();
            service.PreAuthenticate = repositoryService.PreAuthenticate; //AuthenticationUtils.IsSessionValid;
            service.Url = repositoryService.Url;
            addSecurityHeader(service);           
            return repositoryService;
        }

Creo que al haber configurado el WS3.0 me salio este error -> WSE032: There was an error loading the microsoft.web.services3 configuration section.

Al no configurar el WS3.0 me sale este error -> Se requiere WebServiceBindingAttribute en las clases de proxy.

Estoy usando solo 3 webservices de alfresco: Repository, ContentService y Constants, este es mi codigo para correr el alfresco con el boton para subir un archivo:

RepositoryWebService.RepositoryService rs = new RepositoryWebService.RepositoryService();
                    RepositoryWebService.Store espacio = new RepositoryWebService.Store();
                    espacio.address = "SpaceStore";

                    RepositoryWebService.ParentReference pref = new RepositoryWebService.ParentReference();
                    pref.store = espacio;
                    pref.path = "/app:company_home/uploadFiles/";

                    // foreach(string val in archivos){
                    RepositoryWebService.NamedValue nombre = new RepositoryWebService.NamedValue();
                    nombre.name = n_archivos[0].ToString();
                    nombre.value = archivos[0].ToString();
                    nombre.isMultiValue = false;
                    //}
//lista de archivos y pruebo solo enviando el primero
                    FileStream inputStream = new FileStream(archivos[0].ToString(), FileMode.Open);
                    int bufferSize = (int)inputStream.Length;
                    byte[] bytes = new byte[bufferSize];
                    inputStream.Read(bytes, 0, bufferSize);
                    inputStream.Close();
                    //Contenido.ContentFormat contenidoformato = new Contenido.ContentFormat();
                    ContentWebService.ContentService cont = new ContentWebService.ContentService();
                    RepositoryWebService.CMLCreate cMLCreate = new RepositoryWebService.CMLCreate();
                    cMLCreate.id = "1";
                    cMLCreate.parent = pref;
                    cMLCreate.property = new RepositoryWebService.NamedValue[] { nombre };
                    cMLCreate.type = Constants.TYPE_CONTENT;

                    RepositoryWebService.CML cml = new RepositoryWebService.CML();
                    cml.create = new RepositoryWebService.CMLCreate[] { cMLCreate };
                    RepositoryWebService.UpdateResult[] resul = WebServiceFactory.getRepositoryService().update(cml);

Por favor necesito ayuda, ya voy 4 dias con esto!!. Gracias

Outcomes