[ https://issues.apache.org/jira/browse/TUSCANY-2331?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12603975#action_12603975 ]
Raymond Feng commented on TUSCANY-2331: --------------------------------------- I got a diferent exception. It looks like that Axis2 treats the getName operation as an out-only MEP (in-only for client side) and assumes the invocation is initiated from the server side. It doesn't expect that we try to create a client. java.lang.UnsupportedOperationException: The message exchange pattern (MEP) http://www.w3.org/ns/wsdl/in-only has not implemented the createClient method. at org.apache.axis2.description.AxisOperation.createClient(AxisOperation.java:487) at org.apache.axis2.client.ServiceClient.createClient(ServiceClient.java:646) at org.apache.tuscany.sca.binding.ws.axis2.Axis2BindingInvoker.createOperationClient(Axis2BindingInvoker.java:172) at org.apache.tuscany.sca.binding.ws.axis2.Axis2BindingInvoker.invokeTarget(Axis2BindingInvoker.java:116) at org.apache.tuscany.sca.binding.ws.axis2.Axis2BindingInvoker.invoke(Axis2BindingInvoker.java:94) at org.apache.tuscany.sca.core.databinding.wire.DataTransformationInterceptor.invoke(DataTransformationInterceptor.java:78) at org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:286) at org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:154) at $Proxy11.getName(Unknown Source) at helloworld.HelloWorldServiceComponent.getName(HelloWorldServiceComponent.java:37) > Got expection where the wsdl defines an operation without input > --------------------------------------------------------------- > > Key: TUSCANY-2331 > URL: https://issues.apache.org/jira/browse/TUSCANY-2331 > Project: Tuscany > Issue Type: Bug > Components: Java SCA Core Runtime > Affects Versions: Java-SCA-Next > Reporter: Gilbert Kwan > Attachments: BService.wsdl > > > Got following exception in running where the wsdl defines an operation > without input parameter. > java.lang.IllegalArgumentException: Pass-by-value is not supported for the > given object > at > org.apache.tuscany.sca.databinding.javabeans.JavaBeansDataBinding.copy(JavaBeansDataBinding.java:102) > at > org.apache.tuscany.sca.databinding.DefaultDataBindingExtensionPoint$LazyDataBinding.copy(DefaultDataBindingExtensionPoint.java:171) > at > org.apache.tuscany.sca.core.databinding.wire.PassByValueInterceptor.copy(PassByValueInterceptor.java:235) > at > org.apache.tuscany.sca.core.databinding.wire.PassByValueInterceptor.copyFault(PassByValueInterceptor.java:130) > at > org.apache.tuscany.sca.core.databinding.wire.PassByValueInterceptor.invoke(PassByValueInterceptor.java:115) > 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:108) > at > org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:286) > at > org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:154) > at $Proxy7.getB1Name(Unknown Source) > at > org.apache.tuscany.sca.vtest.wsbinding.nowsdl.NoWsdlTestCase.testNoWsdl(NoWsdlTestCase.java:62) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:618) > at > org.junit.internal.runners.TestMethodRunner.executeMethodBody(TestMethodRunner.java:99) > at > org.junit.internal.runners.TestMethodRunner.runUnprotected(TestMethodRunner.java:81) > at > org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34) > at > org.junit.internal.runners.TestMethodRunner.runMethod(TestMethodRunner.java:75) > at > org.junit.internal.runners.TestMethodRunner.run(TestMethodRunner.java:45) > at > org.junit.internal.runners.TestClassMethodsRunner.invokeTestMethod(TestClassMethodsRunner.java:75) > at > org.junit.internal.runners.TestClassMethodsRunner.run(TestClassMethodsRunner.java:36) > at > org.junit.internal.runners.TestClassRunner$1.runUnprotected(TestClassRunner.java:42) > at > org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34) > at > org.junit.internal.runners.TestClassRunner.run(TestClassRunner.java:52) > at > org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:38) > at > org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) > at > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460) > at > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673) > at > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386) > at > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196) > Caused by: java.io.NotSerializableException: > org.apache.axiom.om.impl.llom.OMElementImpl > at > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1113) > at > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1467) > at > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1439) > at > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1382) > at > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1111) > at > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1467) > at > java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:414) > at java.lang.Throwable.writeObject(Throwable.java:320) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:618) > at > java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:972) > at > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1431) > at > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1382) > at > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1111) > at > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1467) > at > java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:414) > at java.lang.Throwable.writeObject(Throwable.java:320) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:618) > at > java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:972) > at > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1431) > at > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1382) > at > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1111) > at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:325) > at > org.apache.tuscany.sca.databinding.javabeans.JavaBeansDataBinding.copy(JavaBeansDataBinding.java:71) > ... 30 more > See getName in attached wsdl. > <wsdl:operation name="getName"> > <wsdl:output message="tns:getNameResponse"></wsdl:output> > </wsdl:operation> -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.