Hello Again,

I'm getting the same error using ws binding.
If I try:
               SCADomain scaDomain =
SCADomain.newInstance("clinicalLaboratory.composite");
               BiochemicalCircle service =
scaDomain.getService(BiochemicalCircle.class,"BiochemicalCircleComponent");
               Laboratory lab = (Laboratory) service.getLaboratory("Lab2");

I have the exception:
       java.lang.ClassCastException:
      org.apache.tuscany.sdo.impl.AnyTypeDataObjectImpl
      at $Proxy18.getLaboratory(Unknown Source)

but if I simple do:

                BiochemicalCircle biochemicalCircle = new
BiochemicalCircleImpl();
                Laboratory lab2 = biochemicalCircle.getLaboratory("Lab2");

All runs ok.

Invocation to BiochemicalCircle methods that not have SDO parameters
(or return them) works fine even if SCADomain is used.

Any in this list, know what I should do for solve this problem?

Thanks,
              Sebastián



2009/5/21 Sebastián Groh <[email protected]>:
> Hello Kevin, Simon,
>
> cite:
>           Is the XSD you generated the SDO from included in your contribution?
>
> Yes I'm including the XSD, but how and when should it be used?
> I verified if wsdl generated have included schema types and there are
> ok. I thought that was enough if the wsdl have schemas included. Is
> this correct?
>
> Simon, you are rigth when you see AnyTypeDataObjectImpl instances is
> becouse "If the ServiceFactory is not registered, the data (from the
> inline schema of the WSDL) are then represented by
> 'org.apache.tuscany.sdo.impl.AnyTypeDataObjectImpl' "
>
> What must I do? Use  commonj.sdo.helper.HelperContext or not?
>
>
> Any user in this list have errors like that?
> Thanks for yours answers,
> Regards,
>                Sebastián
>
> On Thu, May 21, 2009 at 6:50 AM, kelvin goodson <[email protected]> 
> wrote:
>> I'm no expert on how SCA uses SDO, but I do understand the SDO side of
>> this, which may help you or someone else get to how to fix this within
>> SCA.  The time that you see instances of AnyTypeDataObjectImpl
>> appearing is when an SDO deserialization operation has no metadata
>> within its operating context to describe an object it is trying to
>> deserialize, so it falls back on a very weak default model of data
>> embodied in the built-in AnyTypedataObject SDO class.
>>
>> Either the SCA infrastructure or you must arrange for the generated
>> SDO factory associated with your Laboratory class to be known to the
>> relevant instance of SDO's HelperContext class. My feeling is there is
>> most probably a way to influence SCA to do this for you,  but I don't
>> know how.  At the Tuscany SDO API level, the metadata registration is
>> done via the Factory's register(HelperContext scope)  method, so you
>> could watch for calls to that method on the factory impl.
>>
>> Kelvin.
>>
>>
>>
>> 2009/5/21 Simon Laws <[email protected]>:
>>> 2009/5/21 Sebastián Groh <[email protected]>:
>>>> Hello, I'm trying to work with an SCA Composite that use ws binding.
>>>> My component definition:
>>>>  <sca:component name="BiochemicalCircleComponent">
>>>>    <sca:implementation.java 
>>>> class="services.bcircle.BiochemicalCircleImpl"/>
>>>>    <sca:service name="BiochemicalCircle">
>>>>        <sca:interface.java interface="services.bcircle.BiochemicalCircle"/>
>>>>        <sca:binding.ws 
>>>> uri="http://localhost:8080/SCA1/MyServiceComponent"/>
>>>>    </sca:service>
>>>>  </sca:component>
>>>>
>>>>
>>>>
>>>> The service retrieve a SDO object (Laboratory) that I generated from
>>>> XSD without problems.
>>>> I deployed the project on Apache Tomcat/5.5.27 and I'm using this
>>>> service from a jsp page as follows:
>>>>
>>>> (my includes)
>>>> .
>>>> .
>>>> .
>>>> <% SCADomain scaDomain = 
>>>> SCADomain.newInstance("clinicalLaboratory.composite");
>>>>       BiochemicalCircle service =
>>>> scaDomain.getService(BiochemicalCircle.class,
>>>> "BiochemicalCircleComponent");
>>>>
>>>>        Laboratory lab = (Laboratory) service.getLaboratory("Lab2");
>>>> .
>>>> .  (more logic)
>>>> .
>>>>
>>>> %>
>>>>
>>>>
>>>> In line
>>>>          Laboratory lab = (Laboratory) service.getLaboratory("Lab2");
>>>>
>>>> I have the exception:
>>>>        java.lang.ClassCastException:
>>>> org.apache.tuscany.sdo.impl.AnyTypeDataObjectImpl
>>>>        at $Proxy18.getLaboratory(Unknown Source)
>>>>
>>>> I have also tried to use the class commonj.sdo.helper.HelperContext to
>>>> set a scope for my SDOFactory but I'm having the same exception.
>>>>
>>>> Anyone in this list know to solve this error?
>>>> Regards,
>>>>                Sebastián
>>>>
>>>
>>> Hi Sebastien
>>>
>>> Is the XSD you generated the SDO from included in your contribution?
>>> I'm looking at the 1.x sample helloworld-ws-sdo-webapp and can't
>>> actually see that the SDO types are specified explicitly but the XSD
>>> used to generate them is included. Any of the SDO experts out there
>>> know how we should be describing the SDO context in SCA?
>>>
>>> Simon
>>>
>>
>

Reply via email to