Hi, I debugged your test case and it turned out the problem is in your test case. There is a dangling type reference in helloworld.wsdl:
<wsdl:types> <schema elementFormDefault="qualified" targetNamespace="http://helloworld" xmlns="http://www.w3.org/2001/XMLSchema"> <element name="getGreetings"> <complexType> <sequence> <element name="name" type="xsd:Name"/> </sequence> </complexType> </element> It should be: <element name="name" type="tns:Name"/>. After fixing the issue, I can run it successfully with the import.sdo statement. Thanks, Raymond ----- Original Message ----- From: "wang feng" <[EMAIL PROTECTED]> To: <tuscany-dev@ws.apache.org> Sent: Tuesday, February 19, 2008 5:04 PM Subject: Re: Re: How to use SDO in tuscany sca? >I add the element 'import.sdo' in the composite,but the sample throws another >exception. > > Exception in thread "main" java.lang.ClassCastException: The value of type > 'class org.apache.tuscany.sdo.impl.DynamicDataObjectImpl' must be of type > 'class java.lang.String' > at > org.eclipse.emf.ecore.impl.EStructuralFeatureImpl$InternalSettingDelegateSingleDataUnsettableStatic.validate(EStructuralFeatureImpl.java:2195) > at > org.eclipse.emf.ecore.impl.EStructuralFeatureImpl$InternalSettingDelegateSingleDataUnsettable.dynamicSet(EStructuralFeatureImpl.java:2116) > at > org.eclipse.emf.ecore.impl.BasicEObjectImpl.eDynamicSet(BasicEObjectImpl.java:709) > at > org.apache.tuscany.sdo.impl.DynamicDataObjectImpl.eDynamicSet(DynamicDataObjectImpl.java:160) > at org.apache.tuscany.sdo.impl.DataObjectImpl.eSet(DataObjectImpl.java:1468) > at org.eclipse.emf.ecore.impl.BasicEObjectImpl.eSet(BasicEObjectImpl.java:654) > at org.apache.tuscany.sdo.impl.DataObjectImpl.set(DataObjectImpl.java:146) > at org.apache.tuscany.sdo.impl.DataObjectImpl.set(DataObjectImpl.java:106) > at > org.apache.tuscany.sca.databinding.sdo.SDOWrapperHandler.setChild(SDOWrapperHandler.java:71) > at > org.apache.tuscany.sca.core.databinding.transformers.Input2InputTransformer.transform(Input2InputTransformer.java:131) > at > org.apache.tuscany.sca.core.databinding.transformers.Input2InputTransformer.transform(Input2InputTransformer.java:1) > at > org.apache.tuscany.sca.databinding.impl.MediatorImpl.mediate(MediatorImpl.java:73) > at > org.apache.tuscany.sca.core.databinding.wire.DataTransformationInterceptor.transform(DataTransformationInterceptor.java:175) > at > org.apache.tuscany.sca.core.databinding.wire.DataTransformationInterceptor.invoke(DataTransformationInterceptor.java:72) > at > org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:261) > at > org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:149) > at $Proxy5.getGreetings(Unknown Source) > at helloworld.HelloWorldClient.test(HelloWorldClient.java:53) > at helloworld.HelloWorldClient.main(HelloWorldClient.java:39) > > Is something wrong? Where can I found a sample whith dynamic SDO? > > Thanks, > wangfeng > > > On 2008-02-19, Scott Kurz <[EMAIL PROTECTED]> wrote: > >>Wang, >> >>I'm guessing the problem is probably that you need to register your >>app types with the appropriate context established by the Tuscany >>runtime. >> >>Tuscany typically does this automatically, now, for static SDO. For >>dynamic SDO (i.e. DataObject), you would currently put something like >>this in your SCDL ( *.composite) file: >> >> <composite ... >> >> xmlns:dbsdo="http://tuscany.apache.org/xmlns/sca/databinding/sdo/1.0" >> ....> >> >> <dbsdo:import.sdo location="wsdl/helloworld.wsdl"/> >> >>(I looked in your zip and you don't seem to use the types in the XSD, >>so I pointed to the WSDL instead... but you can have as multiple >><import.sdo> elements). >> >>This relation between SCA and SDO scopes is defined by Tuscany, not a >>spec, at the moment. >> >>Scott >> >> >>On Feb 18, 2008 9:15 AM, wang feng <[EMAIL PROTECTED]> wrote: >>> Hi all, >>> >>> I do a sample which has a parameter's type is DataObject,and deploy the >>> component with webservice. >>> When I invoke the service ,throws an error. >>> Is my usage wrong? >>> >>> My sample like this. >>> >>> helloworld.composite >>> <composite xmlns="http://www.osoa.org/xmlns/sca/1.0" >>> targetNamespace="http://helloworld" >>> xmlns:hw="http://helloworld" >>> name="helloworldws"> >>> <component name="HelloWorldServiceComponent"> >>> <implementation.java class="helloworld.HelloWorldImpl" /> >>> <service name="HelloWorldService"> >>> <interface.wsdl >>> interface="http://helloworld#wsdl.interface(HelloWorld)" /> >>> <binding.ws/> >>> </service> >>> </component> >>> </composite> >>> >>> HelloWorldImpl.java >>> @Service(HelloWorldService.class) >>> public class HelloWorldImpl implements HelloWorldService { >>> public String getGreetings(DataObject name) { >>> return "Hello " + name.getString("first") + " " + >>> name.getString("last"); >>> } >>> } >>> >>> You can download the full testcase on >>> http://www.blogjava.net/Files/wangfeng/src.zip >>> >>> Thanks >>> Wang Feng >>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: [EMAIL PROTECTED] >>> For additional commands, e-mail: [EMAIL PROTECTED] >>> >>> >> >>--------------------------------------------------------------------- >>To unsubscribe, e-mail: [EMAIL PROTECTED] >>For additional commands, e-mail: [EMAIL PROTECTED] >> > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] >