Hello,
           Raymond, thanks for your answer. I've checked my mail late, I see
that you can test my example without my source files.
At the moment, I commented the service promotion as you suggest, and I'm
trying to download the latest 1.5 code
but I can't found that.

Someone here knows how to download that version? I was reading
Continuum<http://vmbuild1.apache.org/continuum/projectView.action?projectId=277>and
in version says "1.6-SNAPSHOT" .

Have Tuscany SCA version 2.X implemented the same functionality that version
1.x?

Raymond, will I found my errors fixed in version 2.X?

Thanks,

               Sebastián Groh




On Sat, May 30, 2009 at 3:57 AM, Raymond Feng <[email protected]> wrote:

> Hi,
>
> I just tried your test case (adding the classes/resources to the
> helloworld-ws-sdo sample) with the latest 1.5 code. It works after I fixed
> an issue in the composite file:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <sca:composite xmlns:federation="
> http://eclipse.org/SCAExample1/src/resources/federation";
>   xmlns:sca="http://www.osoa.org/xmlns/sca/1.0"; name="clinicalLaboratory"
>   targetNamespace="
> http://eclipse.org/SCAExample1/src/resources/clinicalLaboratory";>
>
>   <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>
>   <!--
>   <sca:service name="BiochemicalCircle"
> promote="BiochemicalCircleComponent/BiochemicalCircle" />
>    -->
> </sca:composite>
>
> Please note the service promotion is commented out as it triggers an issue
> in Tuscany where the service promotion has the same URI as the internal
> binding.ws.
>
> Thanks,
> Raymond
>
> From: Sebastián Groh
> Sent: Friday, May 29, 2009 3:38 PM
>
> To: [email protected]
> Subject: Re: WS bindings and SDO
>
>
> Raymond,
>                hello again, I follow your advice  " I suggest that you open
> a JIRA and attach the test case there so that we can debug.". I opened a
> JIRA (link). This is my first bug there. Can you tell me if I've posted
> enough information?
> Thanks,
>              Sebastián Groh
>
> 2009/5/26 Sebastián Groh <[email protected]>:
>
>> Hi Raymond,
>>                    thanks for your answer. I debug my application and sca
>> source.
>> Next I will try to explain the invocation chain:
>>
>> When JDKInvocationHandler calls method invoke(InvocationChain chain,
>> Object[] args, RuntimeWire wire, EndpointReference source)
>>
>> line 288: Message resp = headInvoker.invoke(msg); // invocation occurs
>> without errors
>> line 289: Object body = resp.getBody(); // Returns an
>> org.apache.tuscany.sdo.impl.AnyTypeDataObjectImpl object
>>
>> It seems that body was not instantiated with the correct class.
>>
>>
>> Cite:
>>        " I suggest that you open a JIRA and attach the test case there so
>> that we can debug."
>> I'll try this, i never did that before. What I need to post there?
>>
>> For the moment I'll publish my problem here.
>>
>> My XSD file is:
>> <?xml version="1.0" encoding="UTF-8"?>
>> <schema xmlns="http://www.w3.org/2001/XMLSchema";
>>
>>
>> targetNamespace="
>> http://eclipse.org/SCAExample1/src/resources/clinicalLaboratory";
>>
>>
>> xmlns:tns="
>> http://eclipse.org/SCAExample1/src/resources/clinicalLaboratory";
>>   elementFormDefault="qualified">
>>   <complexType name="Practice">
>>       <sequence>
>>           <element name="name" type="string" />
>>       </sequence>
>>   </complexType>
>>   <complexType name="Laboratory">
>>       <sequence>
>>           <element name="name" type="string" />
>>           <element name="practices" type="tns:Practice"
>> maxOccurs="unbounded"/>
>>        </sequence>
>>   </complexType>
>> </schema>
>>
>> Composite file:
>> <?xml version="1.0" encoding="UTF-8"?>
>> <sca:composite
>> xmlns:federation="http://eclipse.org/SCAExample1/src/resources/federation
>> "
>> xmlns:sca="http://www.osoa.org/xmlns/sca/1.0";
>> name="clinicalLaboratory"
>> targetNamespace="
>> http://eclipse.org/SCAExample1/src/resources/clinicalLaboratory";>
>> <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>
>>  <sca:service name="BiochemicalCircle"
>> promote="BiochemicalCircleComponent/BiochemicalCircle"/>
>> </sca:composite>
>>
>> Interface file:
>> package services.bcircle;
>> import java.util.ArrayList;
>> import javax.xml.bind.annotation.XmlType;
>> import model.sdo.EntityFactory;
>> import org.apache.tuscany.sca.databinding.annotation.DataBinding;
>> import org.osoa.sca.annotations.Remotable;
>>
>> @Remotable
>> public interface BiochemicalCircle{
>>    void setLaboratory(model.sdo.Laboratory lab);
>>    model.sdo.Laboratory getLaboratory(String name);
>> }
>>
>> Interface implementation:
>>
>> package services.bcircle;
>> import model.sdo.EntityFactory;
>> import model.sdo.Laboratory;
>> import org.osoa.sca.annotations.Service;
>>
>>
>> @Service(BiochemicalCircle.class)
>> public class BiochemicalCircleImpl implements BiochemicalCircle{
>>   public Laboratory getLaboratory(String name) {
>>      Laboratory lab = EntityFactory.INSTANCE.createLaboratory();
>>      lab.setName("Main Laboratory");
>>      return lab;
>>   }
>>
>>   public void setLaboratory(Laboratory lab) {
>>      //sad method
>>      System.out.println(lab.getName());
>>   }
>> }
>>
>> My Test class:
>> package test;
>>
>> import model.sdo.EntityFactory;
>> import model.sdo.Laboratory;
>>
>> import org.apache.tuscany.sca.host.embedded.SCADomain;
>> import services.bcircle.BiochemicalCircle;
>> import services.bcircle.BiochemicalCircleImpl;
>>
>>
>> public class Test {
>>
>>    /**
>>     * @param args
>>     */
>>    public static void main(String[] args) {
>>        BiochemicalCircle biochemicalCircl = new BiochemicalCircleImpl();
>>        Laboratory lab2 = biochemicalCircl.getLaboratory("Lab2"); //This
>> invocation without use SCA works ok.
>>
>>
>>        SCADomain scaDomain =
>> SCADomain.newInstance("resources/clinicalLaboratory.composite");
>>        BiochemicalCircle biochemicalCircle = scaDomain.getService(
>>                BiochemicalCircle.class, "BiochemicalCircleComponent");
>>        Laboratory lab = EntityFactory.INSTANCE.createLaboratory();
>>        lab.setName("lab2");
>>        biochemicalCircle.setLaboratory(lab); // this invocation works ok
>> too
>>
>>        lab = biochemicalCircle.getLaboratory("Lab2"); // here I have an
>> exception posted below.
>>
>>        //here I wait a moment before close scaDomain
>>
>>        scaDomain.close();
>>
>> }
>>
>> Exception:
>> Exception in thread "main" java.lang.ClassCastException:
>> org.apache.tuscany.sdo.impl.AnyTypeDataObjectImpl
>>    at $Proxy16.getLaboratory(Unknown Source)
>>    at test.Test.main(Test.java:28)
>>
>> Note:
>> EntityFactory and sdo objects where created using
>> org.apache.tuscany.sdo.generate.XSD2JavaGenerator.
>>
>> Please, tell me if something is wrong.
>> Regards,
>>
>>                 Sebastián Groh
>>
>>
>>
>>
>> On Tue, May 26, 2009 at 12:30 PM, Raymond Feng <[email protected]>
>> wrote:
>>
>>> Did you check the response message from the WS? It might be the case that
>>> XML payload is not conforming to the XSD which is used to generate the
>>> SDO.
>>>
>>> I suggest that you open a JIRA and attach the test case there so that we
>>> can
>>> debug.
>>>
>>> Thanks,
>>> Raymond
>>>
>>> --------------------------------------------------
>>> From: "Sebastián Groh" <[email protected]>
>>> Sent: Sunday, May 24, 2009 11:06 PM
>>> To: <[email protected]>
>>> Subject: Re: WS bindings and SDO
>>>
>>>  Hello,
>>>>
>>>>        Raymond I've posted my interface in my last mail, after that
>>>> I did some tests.
>>>> When I send a SDO Object, all runs ok, but unfortunately for all SCA
>>>> users, return an SDO object is a problem even if HelperContext is
>>>> used.
>>>>
>>>> For example:
>>>> 1.  SCADomain scaDomain =
>>>>             SCADomain.newInstance("clinicalLaboratory.composite");
>>>> 2.  BiochemicalCircle service =
>>>>
>>>>
>>>>
>>>> scaDomain.getService(BiochemicalCircle.class,"BiochemicalCircleComponent");
>>>> 3. Laboratory lab = EntityFactory.INSTANCE.createLaboratory();
>>>> 4. lab.setName("lab2");
>>>> 5. biochemicalCircle.setLaboratory(lab);
>>>> 6. Laboratory posibleLab = (Laboratory) service.getLaboratory("Lab2");
>>>>
>>>> Line 5 works ok, SDO Laboratory object was send and name property was
>>>> read ok on server side.
>>>> Line 6 fails, I'm having always the same error:
>>>>
>>>>  java.lang.ClassCastException:
>>>>  org.apache.tuscany.sdo.impl.AnyTypeDataObjectImpl
>>>>  at $Proxy18.getLaboratory(Unknown Source)
>>>>
>>>> Thanks,
>>>> Best Regards,
>>>>
>>>>                         Sebastián Groh
>>>>
>>>>
>>>>
>>>> 2009/5/22 Sebastián Groh <[email protected]>:
>>>>
>>>>>
>>>>> Hello Raymond,
>>>>>
>>>>> My Interface is quite simple:
>>>>>
>>>>> package services.bcircle;
>>>>>
>>>>> import java.util.ArrayList;
>>>>>
>>>>> import org.osoa.sca.annotations.Remotable;
>>>>>
>>>>> @Remotable
>>>>> public interface BiochemicalCircle{
>>>>>
>>>>>
>>>>>      ArrayList<String> getLaboratoriesNames();
>>>>>
>>>>>      model.sdo.Laboratory getLaboratory(String name);
>>>>>
>>>>> }
>>>>>
>>>>> I think that my problem is related with SDO HelperContext but I'm
>>>>> confused.
>>>>>
>>>>> Thanks,
>>>>>            Sebastián
>>>>>
>>>>>
>>>>> On Fri, May 22, 2009 at 7:50 PM, Raymond Feng <[email protected]>
>>>>> wrote:
>>>>>
>>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> It seems that the SDO HelperContext is not correctly populated by
>>>>>> Tuscany
>>>>>> based on the introspection of the Java interface that references the
>>>>>> SDO
>>>>>> types. Can you post the BiochemicalCircle interface?
>>>>>>
>>>>>> Thanks,
>>>>>> Raymond
>>>>>>
>>>>>> --------------------------------------------------
>>>>>> From: "Sebastián Groh" <[email protected]>
>>>>>> Sent: Friday, May 22, 2009 2:47 PM
>>>>>> To: <[email protected]>
>>>>>> Subject: Re: WS bindings and SDO
>>>>>>
>>>>>>  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