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
>>>
>>
>