Page 1 of 2
error en web service
PostPosted:Wed Apr 09, 2008 11:57 am
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!!
Re:error en web service
PostPosted:Thu Apr 10, 2008 7:49 am
by pavila
Puedes postear un código de cliente de ejemplo que reproduzca el error?
Re:error en web service
PostPosted:Thu Apr 10, 2008 8:31 am
by frankie
Why can not delete an empty folder for 2b version even the folder is empty?
The user is read and write access
Re:error en web service
PostPosted:Thu Apr 10, 2008 12:35 pm
by frankie
Why can not delete an empty folder for 2b version even the folder is empty?
The user is read and write access
Re:error en web service
PostPosted:Thu Apr 10, 2008 12:37 pm
by frankie
is the follow change is correct
Code: Select allprivate 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))
Re:error en web service
PostPosted:Thu Apr 10, 2008 1:17 pm
by benta
hola Pavila!
Para generar el cliente utilize axis y ejecute esto:
Code: Select allpublic 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?
Re:error en web service
PostPosted:Thu Apr 10, 2008 1:23 pm
by benta
No se porque la parte del codigo quedo 4 veces?
Espero que lo puedas entender...
Gracias!!
Re:error en web service
PostPosted:Thu Apr 10, 2008 5:21 pm
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.
Re:error en web service
PostPosted:Thu Apr 10, 2008 5:34 pm
by pavila
Que versión de Axis utilizas?
Re:error en web service
PostPosted:Fri Apr 11, 2008 11:44 am
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.
Re:error en web service
PostPosted:Fri Apr 11, 2008 1:34 pm
by benta
La version de Axis que estoy utilizando es la 1.3
Puede ser que haya un error en el wsdl?
Re:error en web service
PostPosted:Mon Apr 14, 2008 8:04 am
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.
Re:error en web service
PostPosted:Tue Jul 15, 2008 10:56 pm
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!
Re:error en web service
PostPosted:Wed Jul 16, 2008 9:45 am
by pavila
Está corregido en el CVS. Tendrás que bajar el proyecto y compilarlo. En la documentación hay información al respecto.
Re:error en web service
PostPosted:Thu Jul 17, 2008 7:40 pm
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
igual gracias!
jaja