Subir mediante Webservices mi tipo de contenido

cancel
Showing results for 
Search instead for 
Did you mean: 
seize
Member II

Subir mediante Webservices mi tipo de contenido

Hola a todos, soy nuevo en el foro. Estoy realizando un proyecto para desde java mediante web services poder subir, actualizar, descargar, etc contenidos. El problema es que cuando uso el tipo de contenido por defecto de alfresco "{http://www.alfresco.org/model/content/1.0}contains" funciona perfectamente, pero no se como hacer para utilizar el tipo de contenidos que he creado yo (que desde localhost:8080/alfresco funciona correctamente). He probado varias cosas pero nada. Agradeceria cualquier ayuda.

Un saludo y gracias de antemano
10 Replies
pjcaracuel_2349
Active Member II

Re: Subir mediante Webservices mi tipo de contenido

Puedes poner que tipo de error te da? ME imagino por donde van los tiros, pero….. necesito mas pistas. Te digo una cosa que creo no has contemplado, tienes que definir los metadatos tuyos en la clase que hace la importacion Ejemplo:


        public static final String ORGANISMO =  "{justicia.sentencias.model}OrganismoProdJa";
   public static final String TIPO_PROCEDIMIENTO =  "{justicia.sentencias.model}TipoProcedimientoJa";
   public static final String TIPO_RESOLUCION =  "{justicia.sentencias.model}TipoResolucionJa";
   public static final String JURISDICCION =  "{justicia.sentencias.model}JuridisccionJa";
   public static final String PONENTE =  "{justicia.sentencias.model}PonenteJa";
   public static final String NUM_PROCEDIMIENTO =  "{justicia.sentencias.model}NumeroProcedimientoJa";
   public static final String ANIO_PROCEDIMIENTO =  "{justicia.sentencias.model}AnnoProcedimientoJa";
   public static final String NUM_RESOLUCION =  "{justicia.sentencias.model}NumeroResolucionJa";
   public static final String ANIO_RESOLUCION =  "{justicia.sentencias.model}AnnoResolucionJa";
   public static final String FECHA_DICTADO =  "{justicia.sentencias.model}FechaDictadoJa";

Como asiganar los metadatos al documento, pos con una funcion del tipo:


private boolean asignaPropiedades(String [] campos, WSAlfresco wsa1, IReference sentencia,GeneraLog log)throws Exception{
      Properties metadatos= new Properties();

       try{
       metadatos.put(ORGANISMO, campos[1]);
       metadatos.put(TIPO_PROCEDIMIENTO, campos[2]);
       metadatos.put(TIPO_RESOLUCION, campos[3]);
       metadatos.put(JURISDICCION, campos[4]);
       metadatos.put(PONENTE, campos[5]);
       metadatos.put(NUM_PROCEDIMIENTO, campos[6]);
       metadatos.put(ANIO_PROCEDIMIENTO, campos[7]);
       metadatos.put(NUM_RESOLUCION, campos[8]);
       metadatos.put(ANIO_RESOLUCION, campos[9]);
       metadatos.put(FECHA_DICTADO,formatDate(campos[10]) );
       wsa1.updateContent(sentencia, metadatos);
       return true;
       }   
       catch(Exception e)
           {    
          log.escribeLog(e.toString());
            return false;
           }
   }
   

Saludos
seize
Member II

Re: Subir mediante Webservices mi tipo de contenido

Gracias por tu respuesta

el error que me da es este
Se ha establecido la conexion con el repositorio Alfresco.
Error al cargar el archivo
AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.generalException
faultSubcode:
faultString:
faultActor:
faultNode:
faultDetail:
   {http://www.alfresco.org/ws/service/repository/1.0}RepositoryFault:<ns1:errorCode>0</ns1:errorCode><ns1:message>java.lang.IllegalArgumentException: Association {dublin.core}somaweb has not been defined in the data dictionary</ns1:message>
   {http://xml.apache.org/axis/}exceptionName:org.alfresco.repo.webservice.repository.RepositoryFault
   {http://xml.apache.org/axis/}stackTrace:
   at org.alfresco.repo.webservice.repository.RepositoryWebService.update(RepositoryWebService.java:341)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:597)
   at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:397)
   at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:186)
   at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323)
   at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
   at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
   at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
   at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:454)
   at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
   at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
   at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
   at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
   at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
   at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
   at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
   at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
   at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
   at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
   at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
   at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
   at java.lang.Thread.run(Thread.java:619)

   {http://xml.apache.org/axis/}hostname:home


   at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
   at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
   at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
   at java.lang.reflect.Constructor.newInstance(Unknown Source)
   at java.lang.Class.newInstance0(Unknown Source)
   at java.lang.Class.newInstance(Unknown Source)
   at org.apache.axis.encoding.ser.BeanDeserializer.<init>(BeanDeserializer.java:104)
   at org.apache.axis.encoding.ser.BeanDeserializer.<init>(BeanDeserializer.java:90)
   at org.alfresco.webservice.repository.RepositoryFault.getDeserializer(RepositoryFault.java:146)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
   at java.lang.reflect.Method.invoke(Unknown Source)
   at org.apache.axis.encoding.ser.BaseDeserializerFactory.getSpecialized(BaseDeserializerFactory.java:154)
   at org.apache.axis.encoding.ser.BaseDeserializerFactory.getDeserializerAs(BaseDeserializerFactory.java:84)
   at org.apache.axis.encoding.DeserializationContext.getDeserializer(DeserializationContext.java:464)
   at org.apache.axis.encoding.DeserializationContext.getDeserializerForType(DeserializationContext.java:547)
   at org.apache.axis.message.SOAPFaultDetailsBuilder.onStartChild(SOAPFaultDetailsBuilder.java:157)
   at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1035)
   at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)
   at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
   at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
   at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
   at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
   at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
   at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
   at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
   at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
   at org.apache.xerces.jaxp.SAXParserImpl.parse(Unknown Source)
   at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
   at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
   at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
   at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)
   at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
   at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
   at org.apache.axis.client.Call.invoke(Call.java:2767)
   at org.apache.axis.client.Call.invoke(Call.java:2443)
   at org.apache.axis.client.Call.invoke(Call.java:2366)
   at org.apache.axis.client.Call.invoke(Call.java:1812)
   at org.alfresco.webservice.repository.RepositoryServiceSoapBindingStub.update(RepositoryServiceSoapBindingStub.java:986)
   at Metodos.subirContenido(Metodos.java:337)
   at Prueba.main(Prueba.java:14)
Se cerrado la conexion con el repositorio Alfresco.

y este el modelo que he creado yo:


<?xml version="1.0" encoding="UTF-8"?>

<!– Definition of new Model –>

  <model name="my:soma1" xmlns="http://www.alfresco.org/model/dictionary/1.0">
  <!– Optional meta-data about the model –>
    <description>Someco Model</description>
    <author>Unileon</author>
    <version>1.0</version>
   
    <!– Imports are required to allow references to definitions in other models –>
   <imports>
        <!– Import Alfresco Dictionary Definitions –>
      <import uri="http://www.alfresco.org/model/dictionary/1.0" prefix="d"/>
      <!– Import Alfresco Content Domain Model Definitions –>
      <import uri="http://www.alfresco.org/model/content/1.0" prefix="cm"/>
   </imports>
  
    <!– Introduction of new namespaces defined by this model –>
    <namespaces>
      <namespace uri="dublincore.model" prefix="my"/>
    </namespaces>
   
    <!– definicion de las constrains para nuestros tipos –>
    <constraints>
      <constraint name="my:tipolista" type="LIST">
        <parameter name="allowedValues">
          <list>
            <!– aqui damos el nombre de los distintos valores que puede tomar tipo –>
            <value>Documental</value>
            <value>Comedia</value>
            <value>Noticia</value>
          </list>
        </parameter>
      </constraint>

      <constraint name="my:tipoformato" type="LIST">
        <parameter name="allowedValues">
          <list>
            <!– aqui damos el nombre de los distintos valores que puede tomar tipo –>
            <value>Alta calidad (AVI)</value>
            <value>Baja calidad (FLV)</value>
          </list>
        </parameter>
        <parameter name="caseSensitive"><value>true</value></parameter>
      </constraint>

      <constraint name="my:tipoidioma" type="LIST">
        <parameter name="allowedValues">
          <list>
            <!– aqui damos el nombre de los distintos valores que puede tomar tipo –>
            <value>Spanish</value>
            <value>English</value>
            <value>French</value>
          </list>
        </parameter>
        <parameter name="caseSensitive"><value>true</value></parameter>
      </constraint>
    </constraints>

    <!– tipo –>
   
    <types>
    <!– tipo padre Dublin core –>
      <type name="my:dublincore">
        <title>Dublin core</title>
        <parent>cm:content</parent>
      </type>
     
     
    <!– tipo hijo soma web–> 
      <type name="my:somaweb">
        <title>SOMA web</title>
        <parent>my:dublincore</parent>
       
        <properties>

          <property name="my:creador">
            <type>d:text</type>
          </property>

          <property name="my:nombrepublicador">
            <type>d:text</type>
          </property>
         
          <property name="my:webpublicador">
            <type>d:text</type>
          </property>

          <property name="my:fecha.modificacion">
            <type>d:date</type>
          </property>

          <property name="my:tipo">
            <type>d:text</type>
            <multiple>false</multiple>
            <constraints>
              <constraint ref="my:tipolista" />
            </constraints>
          </property>

          <property name="my:formato">
            <type>d:text</type>
            <multiple>false</multiple>
            <constraints>
              <constraint ref="my:tipoformato" />
            </constraints>
          </property>

          <property name="my:idioma">
            <type>d:text</type>
            <multiple>false</multiple>
            <constraints>
              <constraint ref="my:tipoidioma" />
            </constraints>
          </property>

        </properties>
       
      </type>
    </types>

    <aspects>
      <aspect name="my:visible">
        <title>SOMA visible</title>
        <properties>
          <property name="my:fechavisible">
            <type>d:date</type>
          </property>
          <property name="my:isActive">
            <type>d:boolean</type>
            <default>false</default>
          </property>
        </properties>
      </aspect>
    </aspects>
   
   </model>
     

Supongo que mi error es que no pongo bien el tipo, pero no me queda claro con que campos definirlo en java. Yo introduzco  {dublin.core}somaweb pero mi duda ahora es si es correcto.

Bueno agradeceria ayuda, y de todas formas muchas gracias por lo de las propiedades tambien estaba atascado un poco en eso.

Un saludo
pjcaracuel_2349
Active Member II

Re: Subir mediante Webservices mi tipo de contenido

El error es claro

Association {dublin.core}somaweb has not been defined in the data dictionary

Pon la linea que ejecutas cuando salta el error y veremos que puede ser.

Saludos
seize
Member II

Re: Subir mediante Webservices mi tipo de contenido

Muchas gracias por tu ayuda, y por responder con paciencia cosas que pueden ser tan triviales  Smiley Happy
seize
Member II

Re: Subir mediante Webservices mi tipo de contenido

Hola de nuevo, he seguido trabajando pero no he conseguido solucionar mi problema. Cuando trato de modificar el ASSOC_CONTAINS de mi web service de java por mi tipo de contenido me da un error de que ese tipo no existe.

Este es mi contenido


<?xml version="1.0" encoding="UTF-8"?>

<!– Definition of new Model –>

  <model name="my:soma1" xmlns="http://www.alfresco.org/model/dictionary/1.0">
  <!– Optional meta-data about the model –>
    <description>Someco Model</description>
    <author>Unileon</author>
    <version>1.0</version>
   
    <!– Imports are required to allow references to definitions in other models –>
   <imports>
        <!– Import Alfresco Dictionary Definitions –>
      <import uri="http://www.alfresco.org/model/dictionary/1.0" prefix="d"/>
      <!– Import Alfresco Content Domain Model Definitions –>
      <import uri="http://www.alfresco.org/model/content/1.0" prefix="cm"/>
   </imports>
  
    <!– Introduction of new namespaces defined by this model –>
    <namespaces>
      <namespace uri="dublincore.model" prefix="my"/>
    </namespaces>
   
    <!– definicion de las constrains para nuestros tipos –>
    <constraints>
      <constraint name="my:tipolista" type="LIST">
        <parameter name="allowedValues">
          <list>
            <!– aqui damos el nombre de los distintos valores que puede tomar tipo –>
            <value>Documental</value>
            <value>Comedia</value>
            <value>Noticia</value>
          </list>
        </parameter>
      </constraint>

      <constraint name="my:tipoformato" type="LIST">
        <parameter name="allowedValues">
          <list>
            <!– aqui damos el nombre de los distintos valores que puede tomar tipo –>
            <value>Alta calidad (AVI)</value>
            <value>Baja calidad (FLV)</value>
          </list>
        </parameter>
        <parameter name="caseSensitive"><value>true</value></parameter>
      </constraint>

      <constraint name="my:tipoidioma" type="LIST">
        <parameter name="allowedValues">
          <list>
            <!– aqui damos el nombre de los distintos valores que puede tomar tipo –>
            <value>Spanish</value>
            <value>English</value>
            <value>French</value>
          </list>
        </parameter>
        <parameter name="caseSensitive"><value>true</value></parameter>
      </constraint>
    </constraints>

    <!– tipo –>
   
    <types>
    <!– tipo padre Dublin core –>
      <type name="my:dublincore">
        <title>Dublin core</title>
        <parent>cm:content</parent>
      </type>
     
     
    <!– tipo hijo soma web–> 
      <type name="my:somaweb">
        <title>SOMA web</title>
        <parent>my:dublincore</parent>
       
        <properties>

          <property name="my:creador">
            <type>d:text</type>
          </property>

          <property name="my:nombrepublicador">
            <type>d:text</type>
          </property>
         
          <property name="my:webpublicador">
            <type>d:text</type>
          </property>

          <property name="my:fecha.modificacion">
            <type>d:date</type>
          </property>

          <property name="my:tipo">
            <type>d:text</type>
            <multiple>false</multiple>
            <constraints>
              <constraint ref="my:tipolista" />
            </constraints>
          </property>

          <property name="my:formato">
            <type>d:text</type>
            <multiple>false</multiple>
            <constraints>
              <constraint ref="my:tipoformato" />
            </constraints>
          </property>

          <property name="my:idioma">
            <type>d:text</type>
            <multiple>false</multiple>
            <constraints>
              <constraint ref="my:tipoidioma" />
            </constraints>
          </property>

        </properties>
       
      </type>
    </types>

    <aspects>
      <aspect name="my:visible">
        <title>SOMA visible</title>
        <properties>
          <property name="my:fechavisible">
            <type>d:date</type>
          </property>
          <property name="my:isActive">
            <type>d:boolean</type>
            <default>false</default>
          </property>
        </properties>
      </aspect>
    </aspects>
   
   </model>
     

y este es el error:

AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.generalException
faultSubcode:
faultString:
faultActor:
faultNode:
faultDetail:
   {http://www.alfresco.org/ws/service/repository/1.0}RepositoryFault:<ns1:errorCode>0</ns1:errorCode><ns1:message>java.lang.IllegalArgumentException: Association {dublincore.model}somaweb has not been defined in the data dictionary</ns1:message>
   {http://xml.apache.org/axis/}exceptionName:org.alfresco.repo.webservice.repository.RepositoryFault
   {http://xml.apache.org/axis/}stackTrace:
   at org.alfresco.repo.webservice.repository.RepositoryWebService.update(RepositoryWebService.java:341)
   at sun.reflect.GeneratedMethodAccessor639.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:597)
   at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:397)
   at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:186)
   at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323)
   at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
   at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
   at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
   at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:454)
   at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
   at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
   at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
   at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
   at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
   at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
   at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
   at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
   at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
   at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
   at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
   at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
   at java.lang.Thread.run(Thread.java:619)

   {http://xml.apache.org/axis/}hostname:home


   at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
   at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
   at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
   at java.lang.reflect.Constructor.newInstance(Unknown Source)
   at java.lang.Class.newInstance0(Unknown Source)
   at java.lang.Class.newInstance(Unknown Source)
   at org.apache.axis.encoding.ser.BeanDeserializer.<init>(BeanDeserializer.java:104)
   at org.apache.axis.encoding.ser.BeanDeserializer.<init>(BeanDeserializer.java:90)
   at org.alfresco.webservice.repository.RepositoryFault.getDeserializer(RepositoryFault.java:146)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
   at java.lang.reflect.Method.invoke(Unknown Source)
   at org.apache.axis.encoding.ser.BaseDeserializerFactory.getSpecialized(BaseDeserializerFactory.java:154)
   at org.apache.axis.encoding.ser.BaseDeserializerFactory.getDeserializerAs(BaseDeserializerFactory.java:84)
   at org.apache.axis.encoding.DeserializationContext.getDeserializer(DeserializationContext.java:464)
   at org.apache.axis.encoding.DeserializationContext.getDeserializerForType(DeserializationContext.java:547)
   at org.apache.axis.message.SOAPFaultDetailsBuilder.onStartChild(SOAPFaultDetailsBuilder.java:157)
   at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1035)
   at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)
   at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
   at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
   at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
   at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
   at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
   at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
   at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
   at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
   at org.apache.xerces.jaxp.SAXParserImpl.parse(Unknown Source)
   at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
   at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
   at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
   at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)
   at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
   at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
   at org.apache.axis.client.Call.invoke(Call.java:2767)
   at org.apache.axis.client.Call.invoke(Call.java:2443)
   at org.apache.axis.client.Call.invoke(Call.java:2366)
   at org.apache.axis.client.Call.invoke(Call.java:1812)
   at org.alfresco.webservice.repository.RepositoryServiceSoapBindingStub.update(RepositoryServiceSoapBindingStub.java:986)
   at Metodos.nuevoContenido(Metodos.java:416)
   at Prueba.main(Prueba.java:19)

Tal vez solo es una bobada pero agradeceria enormemente la ayuda porque me estoy volviendo loco Smiley Surprisedops:

Muchas gracias.

Un saludo
pjcaracuel_2349
Active Member II

Re: Subir mediante Webservices mi tipo de contenido

Puedes poner la linea de la clase java donde salta el error?

Aparentemente estas gestionando una asociacion que no esta definida, tienes un tipo padre y un tipo hijo, pero no una asociacion.

Saludos
seize
Member II

Re: Subir mediante Webservices mi tipo de contenido

Hola, si, la linea en la que me da el error es esta:

            UpdateResult[] resultado = WebServiceFactory.getRepositoryService().update(cml);     

y si quieres ver un poco más del contexto es este:

            CMLCreate create = new CMLCreate("1", parentReference, null, null, null, Constants.TYPE_CONTENT, propiedades);
            CML cml = new CML();
            cml.setCreate(new CMLCreate[]{create});
            UpdateResult[] resultado = WebServiceFactory.getRepositoryService().update(cml);    
           
            Reference newContentNode = resultado[0].getDestination();
            Content contenido = contentService.write(newContentNode, Constants.PROP_CONTENT, infoContenido.getBytes(), formatoContenido);
            System.out.println("Se ha creado el contenido");

La cuestión es que supongo que lo que está mal definido es el ASSOC_CONTAINS = "{dublincore.model}somaweb" porque mientras lo tengo como ASSOC_CONTAINS = "{http://www.alfresco.org/model/content/1.0}contains" todo funciona perfecto.

Muchas gracias por interesarte. Un saludo
seize
Member II

Re: Subir mediante Webservices mi tipo de contenido

Parece que el problema anterior era debido a las asociaciones, y ya he conseguido que reconozca mis tipos de contenido, pero ahora de otro error de este tipo:

Error al subir el nuevo contenido
AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.generalException
faultSubcode:
faultString:
faultActor:
faultNode:
faultDetail:
   {http://www.alfresco.org/ws/service/repository/1.0}RepositoryFault:<ns1:errorCode>0</ns1:errorCode><ns1:message>org.alfresco.repo.node.integrity.IntegrityException: Found 3 integrity violations:
This operation is only relevant to child associations
   Trace of possible cause:
      org.alfresco.repo.node.integrity.AssocTargetRoleIntegrityEvent.checkIntegrity(AssocTargetRoleIntegrityEvent.java:79)
      org.alfresco.repo.node.integrity.IntegrityChecker.processAllEvents(IntegrityChecker.java:710)
      org.alfresco.repo.node.integrity.IntegrityChecker.checkIntegrity(IntegrityChecker.java:632)
      org.alfresco.repo.transaction.AlfrescoTransactionSupport$TransactionSynchronizationImpl.beforeCommit(AlfrescoTransactionSupport.java:655)
      org.springframework.transaction.support.TransactionSynchronizationUtils.triggerBeforeCommit(TransactionSynchronizationUtils.java:48)
      org.springframework.transaction.support.AbstractPlatformTransactionManager.triggerBeforeCommit(AbstractPlatformTransactionManager.java:835)
      org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:645)
      org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:632)
      org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:314)
      org.alfresco.util.transaction.SpringAwareUserTransaction.commit(SpringAwareUserTransaction.java:466)
      org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:334)
      org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:227)
      org.alfresco.repo.webservice.repository.RepositoryWebService.update(RepositoryWebService.java:333)
      sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      java.lang.reflect.Method.invoke(Method.java:597)
      org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:397)
      org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:186)
      org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323)
      org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
      org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
      org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
      org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:454)
      org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
      org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)
      javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
      org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
      javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
      org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
      org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
      org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
      org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
      org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
      org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
      org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
      org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
      org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
      org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
      java.lang.Thread.run(Thread.java:619)
The association source is missing the aspect required for this association:
   Source Node: workspace://SpacesStore/0f139360-0ebe-4aa1-8fa5-05684e7c0ddb
   Association: Association[ class=ClassDef[name={http://www.somaweb.com/model/content/1.0}visible], name={http://www.somaweb.com/model/content/1.0}contenido, target class={http://www.somaweb.com/model/content/1.0}somaweb, source role=null, target role=null]
   Required Source Aspect: {http://www.somaweb.com/model/content/1.0}visible
   Actual Source Aspects: [{http://www.alfresco.org/model/system/1.0}referenceable, {http://www.alfresco.org/model/content/1.0}auditable]
The association target type is incorrect:
   Target Node: workspace://SpacesStore/2d87a38e-be49-46bd-a553-27fb7024399c
   Association: Association[ class=ClassDef[name={http://www.somaweb.com/model/content/1.0}visible], name={http://www.somaweb.com/model/content/1.0}contenido, target class={http://www.somaweb.com/model/content/1.0}somaweb, source role=null, target role=null]
   Required Target Type: {http://www.somaweb.com/model/content/1.0}somaweb
   Actual Target Type: {http://www.alfresco.org/model/content/1.0}content</ns1:message>
   {http://xml.apache.org/axis/}exceptionName:org.alfresco.repo.webservice.repository.RepositoryFault
   {http://xml.apache.org/axis/}stackTrace:
   at org.alfresco.repo.webservice.repository.RepositoryWebService.update(RepositoryWebService.java:341)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:597)
   at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:397)
   at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:186)
   at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323)
   at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
   at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
   at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
   at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:454)
   at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
   at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
   at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
   at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
   at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
   at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
   at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
   at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
   at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
   at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
   at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
   at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
   at java.lang.Thread.run(Thread.java:619)

   {http://xml.apache.org/axis/}hostname:home


   at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
   at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
   at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
   at java.lang.reflect.Constructor.newInstance(Unknown Source)
   at java.lang.Class.newInstance0(Unknown Source)
   at java.lang.Class.newInstance(Unknown Source)
   at org.apache.axis.encoding.ser.BeanDeserializer.<init>(BeanDeserializer.java:104)
   at org.apache.axis.encoding.ser.BeanDeserializer.<init>(BeanDeserializer.java:90)
   at org.alfresco.webservice.repository.RepositoryFault.getDeserializer(RepositoryFault.java:146)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
   at java.lang.reflect.Method.invoke(Unknown Source)
   at org.apache.axis.encoding.ser.BaseDeserializerFactory.getSpecialized(BaseDeserializerFactory.java:154)
   at org.apache.axis.encoding.ser.BaseDeserializerFactory.getDeserializerAs(BaseDeserializerFactory.java:84)
   at org.apache.axis.encoding.DeserializationContext.getDeserializer(DeserializationContext.java:464)
   at org.apache.axis.encoding.DeserializationContext.getDeserializerForType(DeserializationContext.java:547)
   at org.apache.axis.message.SOAPFaultDetailsBuilder.onStartChild(SOAPFaultDetailsBuilder.java:157)
   at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1035)
   at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)
   at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
   at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
   at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
   at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
   at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
   at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
   at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
   at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
   at org.apache.xerces.jaxp.SAXParserImpl.parse(Unknown Source)
   at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
   at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
   at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
   at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)
   at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
   at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
   at org.apache.axis.client.Call.invoke(Call.java:2767)
   at org.apache.axis.client.Call.invoke(Call.java:2443)
   at org.apache.axis.client.Call.invoke(Call.java:2366)
   at org.apache.axis.client.Call.invoke(Call.java:1812)
   at org.alfresco.webservice.repository.RepositoryServiceSoapBindingStub.update(RepositoryServiceSoapBindingStub.java:986)
   at Metodos.crearContenido(Metodos.java:275)
   at Prueba.main(Prueba.java:21)

Le ha pasado a alguien o sabe alguien a que se debe?

Muchas gracias y un saludo
pjcaracuel_2349
Active Member II

Re: Subir mediante Webservices mi tipo de contenido

Buenas,

Echale un vistazo a esta parte del error porque es muy significativa
Required Target Type: {http://www.somaweb.com/model/content/1.0}somaweb
   Actual Target Type: {http://www.alfresco.org/model/content/1.0}content

La asociacion requiere un tipo somaweb y tu le esta sasociando un tipo content

Saludos