Hi Raymond, Yeah, I do have both databinding-axiom and databinding-jaxb-axiom in my classpath.
On Tue, Nov 4, 2008 at 10:38 PM, Raymond Feng <[EMAIL PROTECTED]> wrote: > Hi, > > Axiom databinding does support copy. Do you have databinding-axiom on your > classpath? > > Thanks, > Raymond > > From: Ramkumar R > Sent: Tuesday, November 04, 2008 4:10 AM > To: [email protected] > Subject: Databinding issue when axis2 service uses OMElement as parameter > types. > > > > I am seeing the below shown exception, when axis2 service uses OMElement as > parameter types > > @Remotable > public interface FileUploadService { > public String saveFile(String filename, OMElement attachment) throws > Exception; > } > > Exception in thread "main" java.lang.IllegalArgumentException: > Pass-by-value is not supported for the given object > at > org.apache.tuscany.sca.databinding.javabeans.JavaBeansDataBinding.copy(JavaBeansDataBinding.java:106) > at > org.apache.tuscany.sca.databinding.DefaultDataBindingExtensionPoint$LazyDataBinding.copy(DefaultDataBindingExtensionPoint.java:155) > at > org.apache.tuscany.sca.core.databinding.wire.PassByValueInterceptor.copy(PassByValueInterceptor.java:256) > at > org.apache.tuscany.sca.core.databinding.wire.PassByValueInterceptor.copyFault(PassByValueInterceptor.java:136) > at > org.apache.tuscany.sca.core.databinding.wire.PassByValueInterceptor.invoke(PassByValueInterceptor.java:119) > 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:112) > at > org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:287) > at > org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:154) > at $Proxy14.getGreetings(Unknown Source) > at helloworld.HelloWorldClient.main(HelloWorldClient.java:47) > Caused by: java.io.NotSerializableException: > com.sun.xml.bind.v2.model.nav.ReflectionNavigator$4 > at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1108) > at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:324) > at java.util.ArrayList.writeObject(ArrayList.java:595) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:615) > at > java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:972) > at > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1426) > at > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1377) > at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1106) > at > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1462) > at > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1434) > at > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1377) > at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1106) > at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:324) > at java.util.ArrayList.writeObject(ArrayList.java:595) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:615) > at > java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:972) > at > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1426) > at > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1377) > at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1106) > at > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1462) > at > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1434) > at > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1377) > at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1106) > at > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1462) > at > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1434) > at > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1377) > at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1106) > at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:324) > at java.util.ArrayList.writeObject(ArrayList.java:595) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:615) > at > java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:972) > at > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1426) > at > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1377) > at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1106) > at > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1462) > at > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1434) > at > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1377) > at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1106) > at > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1462) > at > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1434) > at > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1377) > at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1106) > at > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1462) > at > java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:413) > at java.lang.Throwable.writeObject(Throwable.java:320) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:615) > at > java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:972) > at > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1426) > at > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1377) > at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1106) > at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:324) > at > org.apache.tuscany.sca.databinding.javabeans.JavaBeansDataBinding.copy(JavaBeansDataBinding.java:75) > ... 10 more > > Looks like pass-by-value is not supported for OMElement. Can someone > clarify, why we have it this way? > > -- > Thanks & Regards, > Ramkumar Ramalingam > -- Thanks & Regards, Ramkumar Ramalingam
