So looking back,  I'm a little confused, as I had assumed that the "xsd"
prefix had been associated with the XML Schema namespace,  but I see from
Raymond's note that the default namespace is the schema namespace, hence no
prefix required ....

   <schema elementFormDefault="qualified" targetNamespace="http://helloworld";
xmlns="http://www.w3.org/2001/XMLSchema";>

so I had assumed xsd:Name was referencing
http://www.w3.org/TR/xmlschema-2/#Name

Perhaps we can see the original schema or verify that the above is the true
contents.

Kelvin.

On 20/02/2008, Simon Nash <[EMAIL PROTECTED]> wrote:
>
> See inline.
>
>    Simon
>
> kelvin goodson wrote:
> > There has been a few occasions in the SDO spec meetings where issues
> > associated with raising exceptions have been resolved in favour of not
> > requiring the implementer to incur the performance overhead of exception
> > translation or decoration. There are no exceptions defined by the SDO
> API,
> > and only runtime exceptions can surface through the interface.
> >
> > In this situation the schema has been written in error such that the
> type
> > was specified incorrectly, and therefore when assigning an instance of
> the
> > intended SDO Type to a Property of the erroneous Type then the expected
> > result is a ClassCastException.
> >
> > We can discuss the merits of catching and rethrowing decorated or
> translated
> > exceptions in general,  but this is widespread through Tuscany's SDO
> (and I
> > would imagine also through other implementations given the spec
> > discussions), and would result I am sure in performance degradation.
> >
> A question of clarification.  Was the specified type xsd:Name a valid
> type that was not what the user intended, or was it an invalid
> (nonexistent)
> type?  If the former, then a ClassCastException at the point of assignment
> seems like an appropriate diagnostic.  If the latter (and this was my
> impression, perhaps incorrectly), then a more friendly diagnostic could be
> produced at schema load time or validation time, indicating the reference
> to a nonexistent type.
>
> Regarding the overhead of catching and rethrowing exceptions, it's my
> belief
> that adding a try/catch block is effectively free unless an exception is
> actually caught.  In that case, it's usually an error path for which I
> would
> not expect performance to be an issue.  I realise that not all exceptions
> represent "hard errors", but I think a ClassCastException does.
>
>    Simon
>
> > Regards, Kelvin.
> >
> > On 20/02/2008, Simon Nash <[EMAIL PROTECTED]> wrote:
> >> See inline.
> >>
> >>   Simon
> >>
> >> wang feng wrote:
> >>> 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.sdostatement.
> >>>>
> >> Can we track this as a JIRA?  A simple user error like this should not
> >> produce a ClassCastException deep in EMF.
> >>
> >>   Simon
> >>
> >>>> Thanks,
> >>>>
> >>>> Raymond
> >>>>
> >>>> ----- Original Message -----
> >>>> From: "wang feng" <[EMAIL PROTECTED]>
> >>>> To: <[email protected]>
> >>>> 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]
>
>

Reply via email to