Hi Christoper, I'll look into this when I get back to the UK. Sounds like we should run some compliance tests against the JSON we produce. There seem to be a few out there that we could use.
In the meantime, thanks very much for the feedback! Jim On 30 Dec 2010, at 20:36, Christopher Schmidt wrote: > Hi Jim, all I can say is, that I was not able to unmarshal the anonymous > array containing a anonymous object returned from a POST to traverse/path. > All I got was a ArrayOutOfBounds exception (I used the > maven jersey-json dependency). Maybe just an issue with the combination of > Jersey and JAXB. > > Normally this code should work: > > GenericType<Collection<Traverse>> genericType = new > GenericType<Collection<Traverse>>() {}; > > Collection<Traverse> ja = webResource.path("node/3/traverse/path") > .accept(MediaType.APPLICATION_JSON) > .type(MediaType.APPLICATION_JSON) > .post(genericType, "{\"order\":\"depth first\", \"max > depth\": 1}"); > > for this JAXB Entity: > > @XmlAccessorType(XmlAccessType.FIELD) > @XmlRootElement > public class Traverse { > public String start; > . . . > } > > And I did not get any answer from the Jersey users list. > Java.net is currently down once again :-( so I can not post the link to my > question. > > Christopher > > > On Thu, Dec 30, 2010 at 5:15 PM, Jim Webber <j...@neotechnology.com> wrote: > >> Hi Christoper, Peter, >> >> I wonder if this is some horrid coupling creeping in since AFAIK we also >> use Jackson for JSON production. Perhaps its own eccentricities are escaping >> our service boundary. >> >> Anyone know if Jackson is/isn't very compliant? >> >> Jim >> >> On 29 Dec 2010, at 23:41, Peter Neubauer wrote: >> >>> Very cool Christopher, >>> Tis looks like a perfect way to test the server. As we are considering >>> using more scale in at least our testing, we really should look into >>> this for easing web testing to start with! I guess Andres and Andreas >>> will be all over this after New Year :) >>> >>> /Peter >>> >>> On Wednesday, December 29, 2010, Christopher Schmidt >>> <fakod...@googlemail.com> wrote: >>>> I am answering my own thread here, just in case someone is interested... >>>> >>>> I solved my unmarshaling issue with Neo4j REST, JAXB and Jersey with >> using >>>> the Jackson JSON processor (http://jackson.codehaus.org/) instead of >> Jersey >>>> JSON. >>>> >>>> This makes it easy to write a POPO representation of Neo4j's REST >> *objects*. >>>> I implemented some of them (in Scala), see here: >>>> >> https://github.com/FaKod/SJersey/tree/master/src/test/scala/org/sjersey/test/json/neo4jstuff >>>> >>>> The usage is rather simple. I tested it with a *specs* test class here: >>>> >> https://github.com/FaKod/SJersey/blob/master/src/test/scala/org/sjersey/test/AccessTest.scala >>>> >>>> Although some idea files are checked in, it should be able to check it >> out >>>> with maven2 (pom.xml). >>>> >>>> I have written a blog post about this POC >>>> here< >> http://blog.fakod.eu/2010/12/10/yet-another-trya-rest-client-with-jersey-and-scala/ >>> , >>>> as I said: Just in case someone is interested to use Scala, Jersey and >> the >>>> Neo4j REST server ;) >>>> >>>> Christopher >>>> >>>> On Wed, Dec 8, 2010 at 4:09 PM, Christopher Schmidt < >> fakod...@googlemail.com >>>>> wrote: >>>> >>>>> I have a little spare time ;-) and I try to create a/another "very >> smart" >>>>> REST client DSL in Scala. >>>>> >>>>> For testing and test data I am using the Neo4j Server from here: >>>>> >> http://blog.neo4j.org/2010/04/neo4j-rest-server-part1-get-it-going.html >>>>> >>>>> Client library is Jersey, JSON marshaling and unmarshaling lib is JAXB. >> The >>>>> current client Scala code is: >>>>> >>>>> rest { >>>>> implicit s => >>>>> val traversalPath = "node/3/traverse/path".POST[JSONArray] <= >>>>> PathRequest(order = "depth first", max_depth = 4, uniqueness = "node >> path") >>>>> println("Array length: " + traversalPath.length) // prints 2 >>>>> } >>>>> >>>>> The above JSONArray works fine, but if I use Java objects >>>>> (as XmlRootElement) I get unmarshaling exceptions. It would be helpful >> If >>>>> there is someone out there who already created some JAXB objects for >>>>> Neo4j... >>>>> >>>>> Christopher >>>>> >>>>> >>>>> On Wed, Dec 8, 2010 at 3:56 PM, Peter Neubauer < >>>>> peter.neuba...@neotechnology.com> wrote: >>>>> >>>>>> Christopher, >>>>>> are you trying to build your own server, or are you using Neo4j >> Server? >>>>>> >>>>>> The REST API is now part of the server component, we are right now >>>>>> defining a mechanism to mount your own server extensions without >>>>>> breaking the REST hypermedia of the existing API. >>>>>> >>>>>> What are you trying to do? >>>>>> >>>>>> Cheers, >>>>>> >>>>>> /peter neubauer >>>>>> >>>>>> GTalk: neubauer.peter >>>>>> Skype peter.neubauer >>>>>> Phone +46 704 106975 >>>>>> LinkedIn http://www.linkedin.com/in/neubauer >>>>>> Twitter http://twitter.com/peterneubauer >>>>>> >>>>>> http://www.neo4j.org - Your high performance graph >>>>>> database. >>>>>> http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing >> party. >>>>>> >>>>>> >>>>>> >>>>>> On Wed, Dec 8, 2010 at 3:52 PM, Christopher Schmidt >>>>>> <fakod...@googlemail.com> wrote: >>>>>>> Hi all, is anyone using the REST interface and JAXB? >>>>>>> >>>>>>> I have some problems with the traversal response of POST call to >>>>>>> "/node/3/traverse/path" which returns: >>>>>>> >>>>>>> [ { >>>>>>> "start" : "http://localhost:9999/node/3", >>>>>>> "nodes" : [ "http://localhost:9999/node/3", " >>>>>> http://localhost:9999/node/1" >>>>>>> ], >>>>>>> "length" : 1, >>>>>>> "relationships" : [ "http://localhost:9999/relationship/6" ], >>>>>>> "end" : "http://localhost:9999/node/1" >>>>>>> }, { >>>>>>> "start" : "http://localhost:9999/node/3", >>>>>>> "nodes" : [ "http://localhost:9999/node/3", " >>>>>> http://localhost:9999/node/2" >>>>>>> ], >>>>>>> "length" : 1, >>>>>>> "relationships" : [ "http://localhost:9999/relationship/2" ], >>>>>>> "end" : "http://localhost:9999/node/2" >>>>> -- >>>> Christopher >>>> twitter: @fakod >>>> blog: http://blog.fakod.eu >>>> _______________________________________________ >>>> Neo4j mailing list >>>> User@lists.neo4j.org >>>> https://lists.neo4j.org/mailman/listinfo/user >>>> >>> _______________________________________________ >>> Neo4j mailing list >>> User@lists.neo4j.org >>> https://lists.neo4j.org/mailman/listinfo/user >> >> _______________________________________________ >> Neo4j mailing list >> User@lists.neo4j.org >> https://lists.neo4j.org/mailman/listinfo/user >> > > > > -- > Christopher > twitter: @fakod > blog: http://blog.fakod.eu > _______________________________________________ > Neo4j mailing list > User@lists.neo4j.org > https://lists.neo4j.org/mailman/listinfo/user _______________________________________________ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user