how do we attach Data BindingsIt seems that Tuscany runtime still treats the classes as JAXB. Can you share your test case so that we can take a look?
Thanks, Raymond From: Malisetti, Ramanjaneyulu Sent: Thursday, February 11, 2010 12:24 AM To: [email protected] Subject: RE: how do we attach Data Bindings Hi Raymond, Again I am coming to my old question. I am trying with SCA 1.6 as it supports SDO binding. Even with 1.6 I am getting the following exception. My package name is "sca.samples", I don't understand why it says "sca.samples.jaxws" . Nowhere I mentioned jaxws binding. I mentioned only jms binding. What I should configure and where in order to use SDO binding? My problem scenario is similar to itest\jms\external testcase i.e invoking service operation from client through JMS. I am passing DataObject as a parameter to the operation (here it is "create"). Exception in thread "main" org.apache.tuscany.sca.databinding.TransformationException: com.sun.xml.bind.v2.runtime.IllegalAnnotationsException: 2 counts of IllegalAnnotationExceptions commonj.sdo.DataObject is an interface, and JAXB can't handle interfaces. this problem is related to the following location: at commonj.sdo.DataObject at protected commonj.sdo.DataObject sca.samples.jaxws.Create.arg0 at sca.samples.jaxws.Create commonj.sdo.DataObject does not have a no-arg default constructor. this problem is related to the following location: at commonj.sdo.DataObject at protected commonj.sdo.DataObject sca.samples.jaxws.Create.arg0 at sca.samples.jaxws.Create at org.apache.tuscany.sca.databinding.jaxb.JAXB2Node.transform(JAXB2Node.java:52) at org.apache.tuscany.sca.databinding.jaxb.JAXB2Node.transform(JAXB2Node.java:36) at org.apache.tuscany.sca.databinding.DefaultTransformerExtensionPoint$LazyPullTransformer.transform(DefaultTransformerExtensionPoint.java:200) at org.apache.tuscany.sca.databinding.impl.MediatorImpl.mediate(MediatorImpl.java:113) at org.apache.tuscany.sca.core.databinding.transformers.Input2InputTransformer.transform(Input2InputTransformer.java:189) at org.apache.tuscany.sca.core.databinding.transformers.Input2InputTransformer.transform(Input2InputTransformer.java:45) at org.apache.tuscany.sca.databinding.impl.MediatorImpl.mediate(MediatorImpl.java:113) at org.apache.tuscany.sca.databinding.impl.MediatorImpl.mediateInput(MediatorImpl.java:431) at org.apache.tuscany.sca.core.databinding.wire.DataTransformationInterceptor.invoke(DataTransformationInterceptor.java:65) at org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:349) at org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:193) at $Proxy24.create(Unknown Source) at sca.samples.UnifiedServiceClient.create(UnifiedServiceClient.java:65) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.apache.tuscany.sca.implementation.java.invocation.JavaImplementationInvoker.invoke(JavaImplementationInvoker.java:156) at org.apache.tuscany.sca.core.databinding.wire.PassByValueInterceptor.invoke(PassByValueInterceptor.java:60) at org.apache.tuscany.sca.binding.sca.impl.SCABindingInvoker.invoke(SCABindingInvoker.java:61) at org.apache.tuscany.sca.core.databinding.wire.PassByValueInterceptor.invoke(PassByValueInterceptor.java:60) at org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:349) at org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:193) at $Proxy24.create(Unknown Source) at sca.samples.UnifiedProxy.create(UnifiedProxy.java:107) at sca.samples.UnifiedServiceClientTestCase.main(UnifiedServiceClientTestCase.java:135) Caused by: com.sun.xml.bind.v2.runtime.IllegalAnnotationsException: 2 counts of IllegalAnnotationExceptions commonj.sdo.DataObject is an interface, and JAXB can't handle interfaces. this problem is related to the following location: at commonj.sdo.DataObject at protected commonj.sdo.DataObject sca.samples.jaxws.Create.arg0 at sca.samples.jaxws.Create commonj.sdo.DataObject does not have a no-arg default constructor. this problem is related to the following location: at commonj.sdo.DataObject at protected commonj.sdo.DataObject sca.samples.jaxws.Create.arg0 at sca.samples.jaxws.Create at com.sun.xml.bind.v2.runtime.IllegalAnnotationsException$Builder.check(IllegalAnnotationsException.java:102) at com.sun.xml.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(JAXBContextImpl.java:438) at com.sun.xml.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:286) at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:139) at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:117) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:211) at javax.xml.bind.ContextFinder.find(ContextFinder.java:372) at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:574) at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:522) at org.apache.tuscany.sca.databinding.jaxb.JAXBContextCache$1.run(JAXBContextCache.java:126) at org.apache.tuscany.sca.databinding.jaxb.JAXBContextCache$1.run(JAXBContextCache.java:125) at java.security.AccessController.doPrivileged(Native Method) at org.apache.tuscany.sca.databinding.jaxb.JAXBContextCache.newJAXBContext(JAXBContextCache.java:124) at org.apache.tuscany.sca.databinding.jaxb.JAXBContextCache.getJAXBContext(JAXBContextCache.java:270) at org.apache.tuscany.sca.databinding.jaxb.JAXBContextHelper.createJAXBContext(JAXBContextHelper.java:194) at org.apache.tuscany.sca.databinding.jaxb.JAXBContextHelper.createJAXBContext(JAXBContextHelper.java:228) at org.apache.tuscany.sca.databinding.jaxb.JAXBContextHelper.createJAXBContext(JAXBContextHelper.java:89) at org.apache.tuscany.sca.databinding.jaxb.JAXB2Node.transform(JAXB2Node.java:43) ... 25 more Regards Raman From: Raymond Feng [mailto:[email protected]] Sent: Wednesday, 10 February 2010 11:07 PM To: [email protected] Subject: Re: how do we attach Data Bindings Hi, Tuscany runtime determines the data transformations based on the databindings between bindings and component implementations. The databinding information is either introspected from the Java types on the interface or expressed by the binding providers. Please find more information at [1]. Can you elaborate a bit on your scenario? Do you mean "JAXB" when you say "JXB"? [1] http://tuscany.apache.org/tuscany-databinding-guide.html Thanks, Raymond From: Malisetti, Ramanjaneyulu Sent: Wednesday, February 10, 2010 8:42 AM To: tuscany-user Subject: how do we attach Data Bindings Hi, It is very clear through various samples and articles on engaging protocol bindings like jms, http, ejb, etc. However, how to engage data-bindings is not clear. To give you one example, how can I use jxb data binding with protocol binding WS without code generation. There are samples that explain with code generation tools. How to achieve same dynamically? Regards Raman
