Hello Simon, thank you so much for responding. You most certainly helped...
> String getGreetings(DataObject myGreeting); this is all it took - and it now seems obvious - once you know it! ;-) I've pushed the change I made back to my https://github.com/vorburger/vorburgers-blueprints/tree/master/helloworld-ws-sdo-dyn. Would you be interested in having this as an example included in Tuscany? > Hence to make SDO work the SDO databinding would need to be ported from 1.x I might have a look into what effort it would take on 2.0 - if I do, would this be a welcome contribution? Best, Michael PS: In looking into this I've also come across two general SDO Qs which I'll post in a separate new thread. _______________________ Michael Vorburger http://www.vorburger.ch On Fri, Aug 19, 2011 at 7:02 PM, Simon Laws <[email protected]> wrote: > On Thu, Aug 18, 2011 at 6:08 PM, Michael Vorburger <[email protected]> wrote: >> Hello Tuscans, >> >> I am interested in Tuscany SCA with Dynamic (!) SDO, to both expose & >> consume data via REST and SOAP services. Can Tuscany do this? >> >> http://tuscany.apache.org/tuscany-sdo-java-faq.html under "How to use >> SDO in tuscany SCA?" says that "It's possible to use Static SDO or >> Dynamic SDO" it seems it should - but I am having trouble getting this >> to work: >> >> In >> https://github.com/vorburger/vorburgers-blueprints/blob/master/helloworld-ws-sdo-dyn/src/test/java/helloworld/HelloWorldDynamicClientTestCase.java, >> how do you pass the DataObject into getGreetings() ? I'm probably >> getting this all wrong, and the SOAP service client should be generic, >> somehow? >> >> Similarly, how would one go about creating a "dynamic" service? In the >> same example project, can the Name interface etc. code generation be >> avoided on the server side as well, just having SDO read e.g. the XSD >> (or any other dynamic model source) ? >> >> BTW: The sample-helloworld-ws-sdo is only bundled in v1.6.2 and not in >> v2.0-Beta3, is that a case of "not yet" or a "won't be anymore" ? Is >> SDO still used? >> >> Thanks a lot for any help, >> Michael >> >> _______________________ >> Michael Vorburger >> http://www.vorburger.ch >> > > Hi Michael > > I just took a look at the 2.x code and I it looks like SDO hasn't been > ported over to 2.x completely yet. I see databinding-sdo and > databinding-sdo-axiom in the modules directory and in the build but > then I see a comment in the itest pom... > > <!-- wait until databinding-sdo is in > <module>properties</module> > --> > > I haven't seen anyone changing the SDO code itself in a long time and > it doesn't seem that there are manyof committers around that know > about it. Having said that it worked in 1.x so I don't see a > particular reason why it can't be brought into 2.x if there is someone > willing to do it. > > re. actually using it in services. > > Tuscany treats references and service independently and provides a > databinding framework to smooth out the inconsistencies. You could > implement getGreetings() at you service in a number of different ways, > for example, > > String getGreetings(MyGreetingJavaBean myGreeting); > or > String getGreetings(MyGreetingJAXB myGreeting); > or > String getGreetings(MyGreetingSDO myGreeting); > or > String getGreetings(DataObject myGreeting); > > Then if you define you're service as > > <component name="GreetingComponent"> > <implementation.java class="com.greeting.app.GreeterImpl"/> > <service name="Greeter"> > <binding.ws uri="http://localhost:8080/my/greeter"/> > </service> > </component> > > The client should be able to send SOAP messages to > http://localhost:8080/my/greeter just like any other WS endpoint. In > particular you could do http://localhost:8080/my/greeter?wsdl and this > will tell you what the interface looks like irrespective of what > databinding the implementation assumes. > > Under the covers on the service side Tuscany looks at the > implementation and finds out what sort of data it's expecting, e.g. > Java bean, JAXB, Static SDO, Dynamic SDO. It then looks at the binding > to see what sort of data is available. XML in the binding.ws case (In > Tuscany this will be represented using Axiom). Then it looks for a > databinding to convert between the two and hence complete the call to > the service. > > Hence to make SDO work the SDO databinding would need to be ported from 1.x > > As an aside there are some databindings that are binding specific, for > example, if you wanted to do > > String getGreetings(javax.jms.Message myGreeting); > > The you would need to use the JMS binding. > > Not sure if this is helping answer the question. > > Regards > > Simon > > -- > Apache Tuscany committer: tuscany.apache.org > Co-author of a book about Tuscany and SCA: tuscanyinaction.com >
