• error en web service

  • Hemos intentado hacer de OpenKM una aplicación lo más intuitiva posible, sin embargo siempre viene bien algún consejo.
Hemos intentado hacer de OpenKM una aplicación lo más intuitiva posible, sin embargo siempre viene bien algún consejo.
Forum rules: Por favor, antes de preguntar algo consulta el wiki de documentación o utiliza la función de búsqueda del foro. Recuerda que no tenemos una bola de cristal ni poderes mentales, o sea que que para informar sobre un error es necesario que nos indiques tanto la versión de OpenKM que usas como la del navegador y sistema operativo. Para más información consulta Cómo informar de fallos de forma efectiva.
 #244  by benta
 
Hola!!

Estoy utilizando el web service pero cuando llamo a una funcion que me devuelva un Folder me tira este error:

AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelop ... rException
faultSubcode:
faultString: org.xml.sax.SAXException: Invalid element in org.openkm.www.types.Folder - subscriptors
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}stackTrace: ... XException: Invalid element in org.openkm.www.types.Folder - subscriptors
at org.apache.axis.encoding.ser.BeanDeserializer.onStartChild(BeanDeserializer.java:258)
at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1035)
at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:165)
at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1141)
at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:236)
at org.apache.axis.message.RPCElement.getParams(RPCElement.java:384)
at org.apache.axis.client.Call.invoke(Call.java:2467)
at org.apache.axis.client.Call.invoke(Call.java:2366)
at org.apache.axis.client.Call.invoke(Call.java:1812)
at org.openkm.www.OKMFolderBindingStub.create(OKMFolderBindingStub.java:357)
at com.adapter.cliente.dms.TestCliente.main(TestCliente.java:51)

Puede ser que el wsdl le falte el atributo subscriptors y por eso me tira este error? Cuando genero el cliente web service la clase Folder no tiene este atributo

Estoy utilizando el OpenKM-2.0b_JBoss-4.2.2.GA

Desde ya muchas gracias!!
 #250  by pavila
 
Puedes postear un código de cliente de ejemplo que reproduzca el error?
 #251  by frankie
 
Why can not delete an empty folder for 2b version even the folder is empty?
The user is read and write access
 #252  by frankie
 
Why can not delete an empty folder for 2b version even the folder is empty?
The user is read and write access
 #253  by frankie
 
is the follow change is correct
Code: Select all
private boolean hasWriteAccess(Node node) throws javax.jcr.RepositoryException {
		boolean canWrite = true;
		AccessManager am = ((SessionImpl) node.getSession()).getAccessManager();
		
		for (NodeIterator ni = node.getNodes(); ni.hasNext(); ) {
			Node child = ni.nextNode();
			
			if (child.isNodeType(Document.TYPE)) {
				//canWrite &= am.isGranted(((NodeImpl)node).getId(), Permission.WRITE); 				canWrite &= am.isGranted(((NodeImpl)child).getId(), Permission.WRITE);
			} else if (child.isNodeType(Folder.TYPE)) {
				//canWrite &= am.isGranted(((NodeImpl)node).getId(), Permission.WRITE); 				canWrite &= am.isGranted(((NodeImpl)child).getId(), Permission.WRITE); 
				canWrite &= hasWriteAccess(child);
			} else {
				throw new javax.jcr.RepositoryException(\"Unknown node type\");
			}
		}
		
		return canWrite;
	}

and change if (hasWriteAccess(folderNode))
to if (!hasWriteAccess(folderNode))
 #254  by benta
 
hola Pavila!

Para generar el cliente utilize axis y ejecute esto:
Code: Select all
public class GenerarCliente {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		
		org.apache.axis.wsdl.WSDL2Java.main(new String[]{\"http://localhost:8080/OpenKM/OKMFolder?wsdl\"});
	}

}
Y para testear hice esto:
Code: Select all
/**
 * @param args
 */
public static void main(String[] args) {
	// TODO Auto-generated method stub
	
	OKMAuthServiceLocator locator = new OKMAuthServiceLocator();
	OKMFolderServiceLocator locatorFolder = new OKMFolderServiceLocator();

	OKMAuth autentication = null;		
	OKMFolder fold;
	
	String token = null;

	try{			
		autentication = locator.getOKMAuthPort();			
		fold = locatorFolder.getOKMFolderPort();
		
		token = autentication.login(\"user1\", \"pass1\");
		
		System.out.println(\"TOKEN = \"+token);
		
		//Folder folder = repository.getPersonalDocumentsFolder(token);
		
		Folder folder = new Folder();
		folder.setAuthor(\"user1\");
		folder.setCreated(new GregorianCalendar());
		folder.setPath(\"/okm:root/pedro\");
		byte bite =1 ;
		folder.setPermissions(bite);
		
		folder = fold.create(token, folder);
		
		System.out.println(\"Author: \"+folder.getAuthor());
		System.out.println(\"Path: \"+folder.getPath());
		
		Date fecha = folder.getCreated().getTime();
		System.out.println(\"Fecha: \"+fecha);
		System.out.println(\"Children: \"+folder.isHasChilds());
		System.out.println(\"Permissions: \"+folder.getPermissions());
		
		autentication.logout(token);
		
		System.out.println(\"TODO BIEN\");
	} catch (Exception e) {
		e.printStackTrace();
		System.out.println(\"Algo salio mal\");
		
		try {
			autentication.logout(token);
		} catch (Exception e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		} 
	}
}
El problema me parece que estoy teniendo con el atributo subcriptos que tiene folder. Porque al generar el cliente folder no tiene este atributo.
Puede ser esto correcto? como lo puedo solucionar?
 #255  by benta
 
No se porque la parte del codigo quedo 4 veces?

Espero que lo puedas entender...

Gracias!!
 #256  by pavila
 
about \"Why can not delete an empty folder for 2b version even the folder is empty?\", yes, this is a known bug. Is corrected in CVS and will be reflected in the next release. The fix is that you said.
 #257  by pavila
 
Que versión de Axis utilizas?
 #258  by pavila
 
He detectado un error en los WS que estará arreglado en la próxima release de OpenKM. Espero poder hacerla esta semana. En el CVS está corregido.
 #259  by benta
 
La version de Axis que estoy utilizando es la 1.3

Puede ser que haya un error en el wsdl?
 #270  by pavila
 
Cómo ya he comentado, he visto el error y está arreglado en el CVS. La próxima versión que libere de OpenKM estará corregida.
 #838  by rmedina
 
esta corregida?
porque en la version 2 de openkm , intento crear una carpeta y me lanza

org.xml.sax.SAXException: Invalid element in org.openkm.www.types.Folder - uuid

:S

espero puedan ayudarme
gracias!
 #847  by pavila
 
Está corregido en el CVS. Tendrás que bajar el proyecto y compilarlo. En la documentación hay información al respecto.
 #855  by rmedina
 
Bueno los problemas anteriores se solucionaron

- el tema de ejecutar xDoclet antes de compilar
- el tema de las variables de entorno de GWT que deben setearse por consola para ejecutar el
Code: Select all
generate.bat
igual gracias!
jaja

About Us

OpenKM is part of the management software. A management software is a program that facilitates the accomplishment of administrative tasks. OpenKM is a document management system that allows you to manage business content and workflow in a more efficient way. Document managers guarantee data protection by establishing information security for business content.