It's OK,Thanks Raymond. Thanks, wangfeng
On 2008-02-20, Raymond Feng <[EMAIL PROTECTED]> wrote: >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] >> --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]