I made some sdo sample documentation available in my sandbox [1] which refers to the samples at [2] and to be found in the sdo release distribution archives too. I think this documentation used to be on the website, but I can't see it there now. It is generated by running a program [3] against the samples themselves and it indexes the samples in 2 ways -- 1) by name and detailing core and secondary function, and 2) by core function.
You'll see that there are samples that deal with dynamic models and samples which handle document instances generically. Perhaps you could take a look there to see if the samples demonstrate the function you need. If not I'm happy to try to understand in more detail what your issues are. Regards, Kelvin. [1] http://svn.apache.org/repos/asf/tuscany/sandbox/kgoodson/sdo/sdosamples.html [2] https://svn.apache.org/repos/asf/tuscany/sdo-java/trunk/sample/src/main/java/org/apache/tuscany/samples/sdo/ [3] https://svn.apache.org/repos/asf/tuscany/sdo-java/trunk/sample/src/main/java/org/apache/tuscany/samples/sdo/internal/DocumentSamples.java On Fri, Sep 3, 2010 at 7:28 AM, Millies, Sebastian <[email protected]> wrote: > I share your doubt about dynamic SDO. Can anyone provide a working example > of that? I have created a service using dynamic SDOs. I post the service > interface > and wsdl below. Point is, the wsdl - generated by the Tuscany runtime and > downloaded from the service URL - cannot be imported in SOAP UI 3.5.1. > It gives a NullPointerException. Now that might perhaps be a problem with SOAP > UI, but I'm more inclined to believe it's a problem with the wsdl, and hence > with Tuscany (1.6). > > With regard to persistence: I do not see dynamic SDO persisted in relational > DB. > That would be easier for static SDO. For dynamic SDO, I'd look on NoSQL > databases, > or maybe Solr/Lucene for persistence. > > -- Sebastian > >>From: Anurag Sharma [mailto:[email protected]] >>Sent: Thursday, September 02, 2010 7:51 PM >> >>I am reading through SDO spec and not clear yet if an SDO implementation >>would be against a specific data model outlined >by say XSD and then there >>would be a corresponding Relation DB model to enable persistence. >> >>Or SDO implementation would be generic enough to create/save any model? >>(doubt) >> >>Thanks, >>Anurag > > > ------ 8< ------ > Attached: Service interface and problematic wsdl (never mind the totally > unstandard > service and method names): > > import commonj.sdo.DataObject; > import java.util.List; > import org.osoa.sca.annotations.Remotable; > > @Remotable > public abstract interface GetDataServiceWithoutException > { > public abstract byte[] getMessage(String paramString); > > public abstract List<byte[]> getMessageList(String paramString); > > public abstract DataObject getMessageSDO(String paramString); > > public abstract List<DataObject> getMessageListSDOList(String paramString); > > public abstract DataObject[] getMessageListSDOArr(String paramString); > > public abstract DataObject getMessageListSDOinSDO(String paramString); > } > > <?xml version="1.0" encoding="UTF-8"?> > <wsdl:definitions name="GetDataServiceWithoutExceptionService" > targetNamespace="http://api.softwareag.com/" > xmlns:tns="http://api.softwareag.com/" > xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" > xmlns:xs="http://www.w3.org/2001/XMLSchema" > xmlns:SOAP="http://schemas.xmlsoap.org/wsdl/soap/" > xmlns:SOAP11="http://schemas.xmlsoap.org/wsdl/soap/"> > <wsdl:types> > <xs:schema attributeFormDefault="qualified" > elementFormDefault="unqualified" targetNamespace="http://api.softwareag.com/" > xmlns:ns0="http://sdo.commonj/" xmlns:tns="http://api.softwareag.com/" > xmlns:xs="http://www.w3.org/2001/XMLSchema"><xs:import > namespace="http://sdo.commonj/"/><xs:element > name="getMessageListResponse"><xs:complexType><xs:sequence><xs:element > minOccurs="0" name="return" nillable="true" > type="xs:anyType"/></xs:sequence></xs:complexType></xs:element><xs:element > name="getMessageSDOResponse"><xs:complexType><xs:sequence><xs:element > minOccurs="0" name="return" nillable="true" > type="ns0:dataObject"/></xs:sequence></xs:complexType></xs:element><xs:element > > name="getMessageListSDOListResponse"><xs:complexType><xs:sequence><xs:element > minOccurs="0" name="return" nillable="true" > type="xs:anyType"/></xs:sequence></xs:complexType></xs:element><xs:element > name="getMessageListSDOList"><xs:complexType><xs:sequence><xs:element > minOccurs="0" name="arg0" nillable="true" > type="xs:string"/></xs:sequence></xs:complexType></xs:element><xs:element > name="getMessageListSDOArr"><xs:complexType><xs:sequence><xs:element > minOccurs="0" name="arg0" nillable="true" > type="xs:string"/></xs:sequence></xs:complexType></xs:element><xs:element > name="getMessageSDO"><xs:complexType><xs:sequence><xs:element minOccurs="0" > name="arg0" nillable="true" > type="xs:string"/></xs:sequence></xs:complexType></xs:element><xs:element > name="getMessageList"><xs:complexType><xs:sequence><xs:element minOccurs="0" > name="arg0" nillable="true" > type="xs:string"/></xs:sequence></xs:complexType></xs:element><xs:element > name="getMessageResponse"><xs:complexType><xs:sequence><xs:element > minOccurs="0" name="return" nillable="true" > type="xs:byte"/></xs:sequence></xs:complexType></xs:element><xs:element > name="getMessageListSDOinSDOResponse"><xs:complexType><xs:sequence><xs:element > minOccurs="0" name="return" nillable="true" > type="ns0:dataObject"/></xs:sequence></xs:complexType></xs:element><xs:element > name="getMessageListSDOinSDO"><xs:complexType><xs:sequence><xs:element > minOccurs="0" name="arg0" nillable="true" > type="xs:string"/></xs:sequence></xs:complexType></xs:element><xs:element > name="getMessage"><xs:complexType><xs:sequence><xs:element minOccurs="0" > name="arg0" nillable="true" > type="xs:string"/></xs:sequence></xs:complexType></xs:element><xs:element > name="getMessageListSDOArrResponse"><xs:complexType><xs:sequence><xs:element > maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" > type="ns0:dataObject"/></xs:sequence></xs:complexType></xs:element></xs:schema> > </wsdl:types> > <wsdl:message name="getMessageListResponse"> > <wsdl:part name="getMessageListResponse" > element="tns:getMessageListResponse"> > </wsdl:part> > </wsdl:message> > <wsdl:message name="getMessageSDOResponse"> > <wsdl:part name="getMessageSDOResponse" > element="tns:getMessageSDOResponse"> > </wsdl:part> > </wsdl:message> > <wsdl:message name="getMessageListSDOListResponse"> > <wsdl:part name="getMessageListSDOListResponse" > element="tns:getMessageListSDOListResponse"> > </wsdl:part> > </wsdl:message> > <wsdl:message name="getMessageListSDOList"> > <wsdl:part name="getMessageListSDOList" > element="tns:getMessageListSDOList"> > </wsdl:part> > </wsdl:message> > <wsdl:message name="getMessageListSDOArr"> > <wsdl:part name="getMessageListSDOArr" element="tns:getMessageListSDOArr"> > </wsdl:part> > </wsdl:message> > <wsdl:message name="getMessageSDO"> > <wsdl:part name="getMessageSDO" element="tns:getMessageSDO"> > </wsdl:part> > </wsdl:message> > <wsdl:message name="getMessageList"> > <wsdl:part name="getMessageList" element="tns:getMessageList"> > </wsdl:part> > </wsdl:message> > <wsdl:message name="getMessageResponse"> > <wsdl:part name="getMessageResponse" element="tns:getMessageResponse"> > </wsdl:part> > </wsdl:message> > <wsdl:message name="getMessageListSDOinSDOResponse"> > <wsdl:part name="getMessageListSDOinSDOResponse" > element="tns:getMessageListSDOinSDOResponse"> > </wsdl:part> > </wsdl:message> > <wsdl:message name="getMessageListSDOinSDO"> > <wsdl:part name="getMessageListSDOinSDO" > element="tns:getMessageListSDOinSDO"> > </wsdl:part> > </wsdl:message> > <wsdl:message name="getMessage"> > <wsdl:part name="getMessage" element="tns:getMessage"> > </wsdl:part> > </wsdl:message> > <wsdl:message name="getMessageListSDOArrResponse"> > <wsdl:part name="getMessageListSDOArrResponse" > element="tns:getMessageListSDOArrResponse"> > </wsdl:part> > </wsdl:message> > <wsdl:portType name="GetDataServiceWithoutException"> > <wsdl:operation name="getMessageList"> > <wsdl:input message="tns:getMessageList"> > </wsdl:input> > <wsdl:output message="tns:getMessageListResponse"> > </wsdl:output> > </wsdl:operation> > <wsdl:operation name="getMessageSDO"> > <wsdl:input message="tns:getMessageSDO"> > </wsdl:input> > <wsdl:output message="tns:getMessageSDOResponse"> > </wsdl:output> > </wsdl:operation> > <wsdl:operation name="getMessageListSDOList"> > <wsdl:input message="tns:getMessageListSDOList"> > </wsdl:input> > <wsdl:output message="tns:getMessageListSDOListResponse"> > </wsdl:output> > </wsdl:operation> > <wsdl:operation name="getMessageListSDOArr"> > <wsdl:input message="tns:getMessageListSDOArr"> > </wsdl:input> > <wsdl:output message="tns:getMessageListSDOArrResponse"> > </wsdl:output> > </wsdl:operation> > <wsdl:operation name="getMessageListSDOinSDO"> > <wsdl:input message="tns:getMessageListSDOinSDO"> > </wsdl:input> > <wsdl:output message="tns:getMessageListSDOinSDOResponse"> > </wsdl:output> > </wsdl:operation> > <wsdl:operation name="getMessage"> > <wsdl:input message="tns:getMessage"> > </wsdl:input> > <wsdl:output message="tns:getMessageResponse"> > </wsdl:output> > </wsdl:operation> > </wsdl:portType> > <wsdl:binding name="GetDataServiceWithoutExceptionBinding" > type="tns:GetDataServiceWithoutException"> > <SOAP:binding style="document" > transport="http://schemas.xmlsoap.org/soap/http"/> > <wsdl:operation name="getMessageList"> > <SOAP:operation/> > <wsdl:input> > <SOAP:body use="literal"/> > </wsdl:input> > <wsdl:output> > <SOAP:body use="literal"/> > </wsdl:output> > </wsdl:operation> > <wsdl:operation name="getMessageSDO"> > <SOAP:operation/> > <wsdl:input> > <SOAP:body use="literal"/> > </wsdl:input> > <wsdl:output> > <SOAP:body use="literal"/> > </wsdl:output> > </wsdl:operation> > <wsdl:operation name="getMessageListSDOList"> > <SOAP:operation/> > <wsdl:input> > <SOAP:body use="literal"/> > </wsdl:input> > <wsdl:output> > <SOAP:body use="literal"/> > </wsdl:output> > </wsdl:operation> > <wsdl:operation name="getMessageListSDOArr"> > <SOAP:operation/> > <wsdl:input> > <SOAP:body use="literal"/> > </wsdl:input> > <wsdl:output> > <SOAP:body use="literal"/> > </wsdl:output> > </wsdl:operation> > <wsdl:operation name="getMessageListSDOinSDO"> > <SOAP:operation/> > <wsdl:input> > <SOAP:body use="literal"/> > </wsdl:input> > <wsdl:output> > <SOAP:body use="literal"/> > </wsdl:output> > </wsdl:operation> > <wsdl:operation name="getMessage"> > <SOAP:operation/> > <wsdl:input> > <SOAP:body use="literal"/> > </wsdl:input> > <wsdl:output> > <SOAP:body use="literal"/> > </wsdl:output> > </wsdl:operation> > </wsdl:binding> > <wsdl:service name="GetDataServiceWithoutExceptionService"> > <wsdl:port name="GetDataServiceWithoutExceptionPort" > binding="tns:GetDataServiceWithoutExceptionBinding"> > <SOAP:address > location="http://localhost:8081/GetDataServiceWithoutException"/> > </wsdl:port> > </wsdl:service> > </wsdl:definitions> > > >
