I am getting the following exception and my guess is it is not able to find
JAXB library or some class. Unfortunately the exception does not tell me
which class it is not able to find in CP. How can i debug further and make
the missing JDK/JAXB classes in the classpath? Is it necessary? Or what is
the right thing to do? I have uploaded the entire source in a zip file.
INFO: The requests and reponses from PayPal webservices will be logged to
the file: paypal_sdk.log
Exception in thread "main" groovy.lang.MissingPropertyException: No such
property: result for class: Script1
at
org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:49)
at
org.codehaus.groovy.runtime.callsite.PogoGetPropertySite.getProperty(PogoGetPropertySite.java:49)
at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGroovyObjectGetProperty(AbstractCallSite.java:241)
at Script1$_run_closure1.doCall(Script1.groovy:4)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at
org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:88)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
at
org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:272)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)
at
org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:39)
at
org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)
at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:117)
at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:121)
at PayDSL.process(PayDSL.groovy:121)
at UseDSL.main(UseDSL.java:9)
This is a time critical project, I appreciate your help greatly..
-Regards http://old.nabble.com/file/p27493620/labrats.zip labrats.zip
--
View this message in context: http://old.nabble.com/MissingProperty-Exception-due-to-JAXB--tp27493620p27493620.html
Sent from the groovy - user mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email
--
View this message in context: http://old.nabble.com/MissingProperty-Exception-due-to-JAXB--tp27493620p27493833.html
thanks
--
View this message in context: http://old.nabble.com/MissingProperty-Exception-due-to-JAXB--tp27493620p27504824.html
My feeling is it is bug in Groovy...Only Groovy expert can help
me...thanks..
--
View this message in context: http://old.nabble.com/MissingProperty-Exception-due-to-JAXB--tp27493620p27506679.html
http://www.slideshare.net/paulk_asert/xml-and-web-services-with-groovy-presentation
(The JAXB example has the 'build' dir in the classpath.
See the wsimport line. The Jersey one has all the Jersey jar files
in the classpath).
Another (RESTful) Jersey example:
/////////////////////////////////
package com.asert
import javax.xml.bind.annotation.*
import javax.ws.rs.*
import com.sun.jersey.api.container.httpserver.HttpServerFactory
import groovy.xml.MarkupBuilder
@XmlRootElement
@XmlAccessorType (XmlAccessType.FIELD)
final class Song {
@XmlElement String name
@XmlElement int duration
@XmlElement Artist artist
}
@XmlRootElement
@XmlAccessorType (XmlAccessType.FIELD)
final class Artist {
@XmlElement String name
}
class SongList {
static song(sn, d, an) { new Song(name:sn, duration:d, artist:new Artist(name:an)) }
static songs = [song("S1", 5, "A1"), song("S2", 8, "A2"), song("S3", 13, "A3")]
}
@Path ("/songs/{listId}")
class SongListResource {
@GET @Produces(["text/xml", "application/json", "application/atom"])
Song getList(@PathParam('listId') String listId) {
SongList.songs[listId as int]
}
}
//<name>S2</name><duration>8</duration><artist><name>A2</name></artist>
@Path ("/songsxml/{listId}")
class SongXmlResource {
@GET @Produces("text/xml")
String getSong(@PathParam('listId') String listId) {
def s = SongList.songs[listId as int]
def sw = new StringWriter()
new MarkupBuilder(sw).song{
name(s.name)
duration(s.duration)
artist{ name(s.artist.name) }
}
sw.toString()
}
}
def baseUri = "http://localhost:9998/"
println """
Starting HTTP server with Jersey...
App WADL available at ${baseUri}application.wadl
App available at ${baseUri}songs/listId
"""
HttpServerFactory.create(baseUri).start()
/////////////////////////////////
Cheers, Paul.
Since Groovy script does not directly use anu JAXB dependant classes your
slides or example didn't help much. I have uploaded complete source code in
a zip which gives a good picture and it is fairly simple code...groovy
script in question is less than 20 lines... the issue is in getResult and
during the
call ap.pay(request) which depend on JAXB.
--
View this message in context: http://old.nabble.com/MissingProperty-Exception-due-to-JAXB--tp27493620p27508439.html
some how the GetResult method was not recognized as 'result" property as per
the artilce
http://www.javaworld.com/javaworld/jw-09-2008/jw-09-dsls-in-java-4.html?page=4.
I do not know what other step either the article or the script i wrote is
missig
--
View this message in context: http://old.nabble.com/MissingProperty-Exception-due-to-JAXB--tp27493620p27649518.html