I am having issues with parsing the xml response got from the service at http://wiki.dbpedia.org/Look开发者_JAVA技巧up
My code for the main is the one up here, toghether with annotated beans that build up the xml.
I'd like to 'debug' what's going on in the JAXBContext
, so that I can see what I messed up in the annotated beans. The only thing I found it is possible is to register an EventHandler
like this:
unmarshaller.setEventHandler(new javax.xml.bind.helpers.DefaultValidationEventHandler());
that prints errors like these:
uri http://lookup.dbpedia.org/api/search.asmx/KeywordSearch?QueryString=galway&MaxHits=5
DefaultValidationEventHandler: [ERROR]: unexpected element (uri:"http://lookup.dbpedia.org/", local:"Result"). Expected elements are <{}Result>
Location: line 3
It seems there is an unexpected element Result, but I can't manage to fix it.
Can someone guide me in understanding the JAXB errors more in depth? I really can't figure out what the errors really mean (as I already have set up namespace = "http://wiki.dbpedia.org/Lookup"
in the ArrayOfResult
class).
You have the namespace information specified on ArrayOfResult but not on Result:
package it.cybion.dbpedia.textsearch.rest.response;
import java.net.URI;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement(name = "Result", namespace="http://lookup.dbpedia.org/")
@XmlAccessorType(XmlAccessType.FIELD)
public class Result {
}
精彩评论