Hi,
Do you have the test case checked in somewhere?
Thanks,
Raymond
From: Ramkumar R
Sent: Tuesday, November 04, 2008 9:32 AM
To: [email protected]
Subject: Re: Databinding issue when axis2 service uses OMElement as
parameter types.
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