Hi,

You hit a known bug with Crimson DOM. Tuscany SDO is implemented on top of
EMF. See:

http://wiki.eclipse.org/MDT/XSD/FAQ/Sun_JDK14_Crimson_DOM

Please use a different DOM parser such as Apache Xerces.
Thanks,
Raymond
On Sun, Mar 22, 2009 at 5:41 AM, Brad Cox <[email protected]> wrote:

> I'm trying to use tuscany-sdo-1.1 but everything I try seems to fail. Is
> this project supposed to be working?
>
> --------------------------------------------------------------
> - Running with commentary level for a novice user            -
> - Edit the sample program's constructor argument to one from -
> - COMMENTARY_FOR_NOVICE                                      -
> - COMMENTARY_FOR_INTERMEDIATE or                             -
> - COMMENTARY_FOR_ADVANCED                                    -
> - in order to alter the level of commentary you are seeing   -
> --------------------------------------------------------------
>
>
> --------------------------------------------------------------------------------
> ------------
> -     Tuscany SDO Java Sample
> org.apache.tuscany.samples.sdo.basic.CreatePurchas
> eOrder     -
> -     This sample is aimed at a novice user
>           -
>
> --------------------------------------------------------------------------------
> ------------
>
>
> ------------------------------------------------------------------------------
> - This sample is based upon Fuhwei Lwo's paper     -
> -
> http://www-128.ibm.com/developerworks/webservices/library/ws-sdoxmlschema/-
> - and demonstrates creating a purchaseOrder DataObject from an     -
> - existing XSD and then persisting to disk.     -
>
> ------------------------------------------------------------------------------
>
>
> --------------------------------------------------------------------------------
> ----------------
> - All MetaData for SDO types can be viewed as being scoped within an
> instance of
>  HelperContext -
> - The Helper Context instance provides access to a collection of other
> helpers
>               -
> - that you will see exercised in the SDO samples
>               -
> - All the Helpers related to a given helper context instance know about the
> same
>  set of types  -
> -
>               -
> - The SDO specification doesn't state how an SDO implementation should
> create a
> HelperContext  -
> - So we use a Tuscany specific API to do this ...
>               -
> -
>               -
> - HelperContext scope = SDOUtil.createHelperContext();
>               -
>
> --------------------------------------------------------------------------------
> ----------------
>
>
> ------------------------------------------------------------------------------
> - If you want to create types dynamically by loading an XML schema you
> -
> - use an instance of XSDHelper. You get that helper from a HelperContext.
>  -
> - After successful loading of a schema, the new types are available to
> every -
> - other helper belonging to the HelperContext instance     -
> -     -
> - XSDHelper xsdHelper = scope.getXSDHelper();     -
> - xsdHelper.define(inputStream, null);     -
>
> ------------------------------------------------------------------------------
>
> java.lang.NullPointerException
>        at
> org.apache.crimson.tree.ElementNode2.getAttributeNodeNS(ElementNode2.java:43
> 2)
>        at
> org.apache.crimson.tree.ElementNode2.hasAttributeNS(ElementNode2.java:388)
>        at
> org.apache.tuscany.sdo.helper.SDOXSDEcoreBuilder.getEcoreAttribute(SDOXSDEco
> reBuilder.java:433)
>        at
> org.eclipse.xsd.ecore.XSDEcoreBuilder.getEcoreAttribute(XSDEcoreBuilder.java
> :2758)
>        at
> org.apache.tuscany.sdo.helper.BaseSDOXSDEcoreBuilder.getEStructuralFeature(B
> aseSDOXSDEcoreBuilder.java:1621)
>        at
> org.apache.tuscany.sdo.helper.BaseSDOXSDEcoreBuilder.generate(BaseSDOXSDEcor
> eBuilder.java:1674)
>        at
> org.apache.tuscany.sdo.helper.XSDHelperImpl.define(XSDHelperImpl.java:246)
>        at
> org.apache.tuscany.sdo.helper.XSDHelperImpl.define(XSDHelperImpl.java:224)
>        at
> org.apache.tuscany.samples.sdo.SampleBase.loadTypesFromXMLSchemaFile(SampleB
> ase.java:113)
>        at
> org.apache.tuscany.samples.sdo.basic.CreatePurchaseOrder.runSample(CreatePur
> chaseOrder.java:80)
>        at
> org.apache.tuscany.samples.sdo.internal.SampleInfrastructure.run(SampleInfra
> structure.java:311)
>        at
> org.apache.tuscany.samples.sdo.basic.CreatePurchaseOrder.main(CreatePurchase
> Order.java:66)
>
> !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
> !!!!!!!!!!!!!!!!
> ! Something unexpected has gone wrong with the execution of this sample
> program
>               !
> ! Please take a look at the exception and see if its something wrong with
> your e
> nvironment     !
> ! If you can't figure it out please send a note to the
> [email protected]
> g mailing list !
> ! including the text of the exception and any other useful information,
> thanks
>               !
>
> !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
> !!!!!!!!!!!!!!!!
>
> java.lang.IllegalArgumentException
>        at
> org.apache.tuscany.sdo.helper.XSDHelperImpl.define(XSDHelperImpl.java:263)
>        at
> org.apache.tuscany.sdo.helper.XSDHelperImpl.define(XSDHelperImpl.java:224)
>        at
> org.apache.tuscany.samples.sdo.SampleBase.loadTypesFromXMLSchemaFile(SampleB
> ase.java:113)
>        at
> org.apache.tuscany.samples.sdo.basic.CreatePurchaseOrder.runSample(CreatePur
> chaseOrder.java:80)
>        at
> org.apache.tuscany.samples.sdo.internal.SampleInfrastructure.run(SampleInfra
> structure.java:311)
>        at
> org.apache.tuscany.samples.sdo.basic.CreatePurchaseOrder.main(CreatePurchase
> Order.java:66)
>
> --------------------------------------------------------------------------------
> ----------------------
> - We are creating a DataObject using a DataFactory by specifying the URI
> and nam
> e of                 -
> - the Type that we want to use for the DataObject.
>                     -
> -
>                     -
> - DataFactory factory = scope.getDataFactory();
>                     -
> - DataObject purchaseOrder =
> factory.create(SampleInfrastructure.PO_NAMESPACE, "
> PurchaseOrderType"); -
>
> --------------------------------------------------------------------------------
> ----------------------
>
>

Reply via email to