Główna » Java

InvalidQueryException: Parse error: data is not a RelationQueryNode

28 May 2009 Brak komentarzy

Jackrabbit

Ostatnio z potrzeb zawodowych zająłem się JCR - konkretnie Jackrabbitem. Próbując załadować obiekt z repozytorium otrzymywałem błąd: InvalidQueryException: Parse error: data is not a RelationQueryNode. Błąd spowodowany był tym, że nie kodowałem XPath’a którego używałem do załadowania obiektów.

Błąd był spowodowany niewłaściwym kodowaniem znaków, ID obiektu, który chciałem załadować składało się z liczb, przesłane bez zakodowania ISO-9075 powodowało błąd.
Wystarczyło dodać kodowanie za pomocą klasy org.apache.jackrabbit.util.ISO9075 (znajduje się ona w bibliotece jackrabbit-jcr-commons-1.5.5.jar).

Przykładowe rozwiązanie:

[java]return (Person) jcrMappingTemplate.getObject(“/person/” + ISO9075.encode(id));[/java]

by wszystko wróciło do normy.

Zostaw odpowiedź!

Musisz się zalogować aby móc komentować.