java - RESTEasy -- "Unexpected element" when unmarshaling JSON? -


i writing resteasy client apple's appstore lookup service, returns json object representing results of query. test case json looks this:

{   "resultcount":1,   "results": [ {     "kind":"software",      "features":["gamecenter",      "iosuniversal"],      "supporteddevices":["all"],      "isgamecenterenabled":true,     ...<more stuff>...  }]  } 

i've created simple jaxb object see if can unmarshal response service using resteasy client. i'm trying map "resultcount" property response. looks this:

@mapped @xmlrootelement @xmlaccessortype(xmlaccesstype.none) public class appstorelookupresponse implements serializable {      private static final long serialversionuid = 7589102375949422744l;      @xmlelement     private int resultcount = -1;      /**      * returns resultcount      *       * @return resultcount      */     public int getresultcount() {         return resultcount;     }      /**      * sets resultcount      *       * @param resultcount      *            resultcount set      */     public void setresultcount(int resultcount) {         this.resultcount = resultcount;     }  } 

however, when run client see following exception:

org.jboss.resteasy.plugins.providers.jaxb.jaxbunmarshalexception: javax.xml.bind.unmarshalexception  - linked exception: [com.sun.istack.internal.saxparseexception2; columnnumber: 0; unexpected element (uri:"", local:"resultcount"). expected elements <{}appstorelookupresponse>]     @ org.jboss.resteasy.plugins.providers.jaxb.abstractjaxbprovider.readfrom(abstractjaxbprovider.java:86)     @ org.jboss.resteasy.core.interception.messagebodyreadercontextimpl.proceed(messagebodyreadercontextimpl.java:105)     @ org.jboss.resteasy.plugins.interceptors.encoding.gzipdecodinginterceptor.read(gzipdecodinginterceptor.java:37)     @ org.jboss.resteasy.core.interception.messagebodyreadercontextimpl.proceed(messagebodyreadercontextimpl.java:108)     @ org.jboss.resteasy.core.messagebody.readerutility.doread(readerutility.java:111)     @ org.jboss.resteasy.client.core.baseclientresponse.readfrom(baseclientresponse.java:291)     @ org.jboss.resteasy.client.core.baseclientresponse.getentity(baseclientresponse.java:255)     @ org.jboss.resteasy.client.core.baseclientresponse.getentity(baseclientresponse.java:228)     @ org.jboss.resteasy.client.core.extractors.bodyentityextractor.extractentity(bodyentityextractor.java:56)     @ org.jboss.resteasy.client.core.clientinvoker.invoke(clientinvoker.java:102)     @ org.jboss.resteasy.client.core.clientproxy.invoke(clientproxy.java:72)     @ $proxy20.lookupbyid(unknown source)     @ net.odyssi.mms.appstore.apple.test.appleappstorelookupclienttest.testlookupbyid(appleappstorelookupclienttest.java:111)     @ sun.reflect.nativemethodaccessorimpl.invoke0(native method)     @ sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl.java:57)     @ sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:43)     @ java.lang.reflect.method.invoke(method.java:601)     @ org.junit.runners.model.frameworkmethod$1.runreflectivecall(frameworkmethod.java:45)     @ org.junit.internal.runners.model.reflectivecallable.run(reflectivecallable.java:15)     @ org.junit.runners.model.frameworkmethod.invokeexplosively(frameworkmethod.java:42)     @ org.junit.internal.runners.statements.invokemethod.evaluate(invokemethod.java:20)     @ org.junit.internal.runners.statements.runbefores.evaluate(runbefores.java:28)     @ org.junit.runners.parentrunner.runleaf(parentrunner.java:263)     @ org.junit.runners.blockjunit4classrunner.runchild(blockjunit4classrunner.java:68)     @ org.junit.runners.blockjunit4classrunner.runchild(blockjunit4classrunner.java:47)     @ org.junit.runners.parentrunner$3.run(parentrunner.java:231)     @ org.junit.runners.parentrunner$1.schedule(parentrunner.java:60)     @ org.junit.runners.parentrunner.runchildren(parentrunner.java:229)     @ org.junit.runners.parentrunner.access$000(parentrunner.java:50)     @ org.junit.runners.parentrunner$2.evaluate(parentrunner.java:222)     @ org.junit.runners.parentrunner.run(parentrunner.java:300)     @ org.eclipse.jdt.internal.junit4.runner.junit4testreference.run(junit4testreference.java:50)     @ org.eclipse.jdt.internal.junit.runner.testexecution.run(testexecution.java:38)     @ org.eclipse.jdt.internal.junit.runner.remotetestrunner.runtests(remotetestrunner.java:467)     @ org.eclipse.jdt.internal.junit.runner.remotetestrunner.runtests(remotetestrunner.java:683)     @ org.eclipse.jdt.internal.junit.runner.remotetestrunner.run(remotetestrunner.java:390)     @ org.eclipse.jdt.internal.junit.runner.remotetestrunner.main(remotetestrunner.java:197) 

what causing throw exception? haven't seen error in past, , haven't had success in locating solution problem. can give appreciated!!

finally found answer this! upgraded resteasy libraries 2.3.5, , removed jettison provider jars in favor of jackson. solved of issues.


Comments

Popular posts from this blog

python - How to create a legend for 3D bar in matplotlib? -

java - Multi-Label Document Classification -

php - Dynamic url re-writing using htaccess -