You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@tuscany.apache.org by kelvin goodson <ke...@gmail.com> on 2007/01/26 13:03:38 UTC

Re: java.lang.IllegalArgumentException: resolve against non-hierarchical or relative base

Christian,
  I don't know enough about the deployed environment,  but I suspect it is
to do with the imports that your schema makes.  The second argument to
XSDHelper.define is there to assist in resolving imports that are made by
relative URI from the base schema location.  Are the imported schemata
available in the deployed environment at the correct relative location.
Regards, Kelvin.


On 25/01/07, Christian Landbo Frederiksen <
Christian.Landbo.Frederiksen@ementor.dk> wrote:
>
> I have some code that functions fine when run as simple java app with a
> main method:
>
>    URL url =
> XsdDeconstructor.class.getClassLoader().getResource(xsdFile);
>    XSDHelper.INSTANCE.define(url.openStream(), url.toString());
>
> But when I try to run it within a web app (on Websphere Test Environment
> i Rational 7) I get the following:
>
> java.lang.IllegalArgumentException: resolve against non-hierarchical or
> relative base
> at org.eclipse.emf.common.util.URI.resolve(URI.java:1853)
>
> Any ideas?
>
>
> /Christian
>
>
>
>

Re: java.lang.IllegalArgumentException: resolve against non-hierarchical or relative base

Posted by kelvin goodson <ke...@gmail.com>.
Christian,
  many thanks for feeding back your findings.
Regards, Kelvin.


On 26/01/07, Christian Landbo Frederiksen <
Christian.Landbo.Frederiksen@ementor.dk> wrote:
>
> You pointed me in the right direction. I found it in the emf faq:
>
> EMF recognizes a couple of well known archive schemes, such as "zip" and
> "jar", so everything will work fine if the URI of an archived resource
> starts, for example, with "zip:". Although most applications probably use
> one of these recognized schemes, you may find that certain runtimes use a
> different one. For example, when running in the IBM WebSphere Application
> Server, Class.getResource(String) may return a URL with a "wsjar" scheme,
> like
> "wsjar:file:/C:/dev/ws/default/sample_app/xsd.resources.jar!/org/eclipse/xsd/plugin.properties".
> By default, EMF will not recognize this as an archive URI and will fail to
> handle it correctly, probably resulting in multiple unregistered resources
> errors and/or null pointer exceptions. If you are facing this problem, you
> will need to change EMF's set of recognized archive schemes. This is done by
> defining a property named "org.eclipse.emf.common.util.URI.archiveSchemes",
> whose value is the desired space-separated list of archive schemes. Here's
> an example of how you could define it when invoking your Java application:
>
> java MyApp -Dorg.eclipse.emf.common.util.URI.archiveSchemes="wsjar wszip
> jar zip"
>
> ________________________________
>
> From: Yang ZHONG [mailto:leiwang.yangzhong@gmail.com]
> Sent: Fri 1/26/2007 7:42 PM
> To: tuscany-user@ws.apache.org
> Subject: Re: java.lang.IllegalArgumentException: resolve against
> non-hierarchical or relative base
>
>
>
> Just in case you have deployed EMF/XSD jars within your (web) app,
> removing
> them may be worth trying since WebSphere should have had them already.
>
> On 1/26/07, Yang ZHONG <le...@gmail.com> wrote:
> >
> > XSDSchemaImpl.getSchemaInstance tries to load the model for your XSD
> > version (http://www.w3.org/2001/XMLSchema).
> > The model is normally within the xsd.jar
> (cache/www.w3.org/2001/XMLSchema.xsd).
> >
> > Before loading that, EMFPlugin.getBaseURL tries to compute where the
> > xsd.jar is so that an absolute URL can be generated
> > (jar:file:/.../xsd.jar!/cache/www.w3.org/2001/XMLSchema.xsd).
> > The computing is by searching for plugin.properties. Somehow that EMF
> > logic doesn't seem working for your environment.
> > EMF newsgroup is a good place to discuss that.
> >
> >
> >  On 1/26/07, Christian Landbo Frederiksen <
> > Christian.Landbo.Frederiksen@ementor.dk> wrote:
> > >
> > >
> > > Definitely something about that because when I went from:
> > >
> > >        HelperProvider.getXSDHelper();
> > > To
> > >        HelperProviderImpl.getXSDHelper();
> > >
> > > I managed to run it from the prompt using:
> > >
> > > java -cp "sdo-api-r2.0.1-1.0-incubator-M2.jar;
> > > tuscany-sdo-impl-1.0-incubator-M2.jar;common-2.2.1.jar;ecore-
> 2.2.1.jar
> > > ;e
> > > core-change-2.2.1.jar;ecore-xmi-2.2.1.jar;xsd-2.2.1.jar
> ;tuscany-sdo-tool
> > > s-1.0-incubator-M2.jar;." sandbox.Deconstructor
> > >
> > > I still have the non-hierarchical or relative base issue when run in
> web
> > >
> > > app!!!!!
> > >
> > > Can anybody tell from the trace below if the classes are the correct
> > > Tuscany classes it is using?
> > >
> > > java.lang.IllegalArgumentException: resolve against non-hierarchical
> or
> > > relative base
> > > at org.eclipse.emf.common.util.URI.resolve(URI.java:1853)
> > > at org.eclipse.emf.common.util.URI.resolve(URI.java:1826)
> > > at org.eclipse.emf.common.EMFPlugin.getBaseURL(EMFPlugin.java:212)
> > > at
> > > org.eclipse.xsd.impl.XSDSchemaImpl.getSchemaInstance (
> XSDSchemaImpl.java
> > > :
> > > 680)
> > > at
> > > org.eclipse.xsd.impl.XSDSchemaImpl.resolveSchema(XSDSchemaImpl.java
> :2120
> > > )
> > > at org.eclipse.xsd.impl.XSDSchemaImpl.patch(XSDSchemaImpl.java:1484)
> > > at
> > > org.eclipse.xsd.impl.XSDSchemaImpl.changeAttribute (XSDSchemaImpl.java
> > > :23
> > > 35)
> > > at
> > > org.eclipse.xsd.impl.XSDConcreteComponentImpl.eNotify
> (XSDConcreteCompone
> > > ntImpl.java:1240)
> > > at
> > > org.eclipse.xsd.impl.XSDSchemaImpl.setSchemaLocation(
> XSDSchemaImpl.java:
> > > 829)
> > > at org.eclipse.xsd.util.XSDResourceImpl.doLoad(XSDResourceImpl.java
> :756)
> > > at org.eclipse.xsd.util.XSDResourceImpl.load(XSDResourceImpl.java:617)
> > > at
> > > org.apache.tuscany.sdo.helper.XSDHelperImpl.define(XSDHelperImpl.java
> :18
> > > 1)
> > > at
> > > org.apache.tuscany.sdo.helper.XSDHelperImpl.define(XSDHelperImpl.java
> :17
> > > 2)
> > >
> > > -----Original Message-----
> > > From: Christian Landbo Frederiksen
> > > [mailto: Christian.Landbo.Frederiksen@ementor.dk]
> > > Sent: 26. januar 2007 15:46
> > > To: tuscany-user@ws.apache.org
> > > Subject: RE: java.lang.IllegalArgumentException: resolve against
> > > non-hierarchical or relative base
> > >
> > >
> > > HI
> > >
> > > Is there some class-path order that is important or some files that
> you
> > > have to set up, because when I try outside of my development
> environment
> > > I get a NullPointerException from the HelperProvider.
> > >
> > > commonj.sdo.impl.HelperProvider.getXSDHelper(HelperProvider.java:346)
> > >
> > > java -cp "sdo-api-r2.0.1-1.0-incubator-M2.jar;
> > > tuscany-sdo-impl-1.0-incubator-M2.jar;common-2.2.1.jar;ecore-2.2.1.jar
> ;e
> > > core-change-2.2.1.jar ;ecore-xmi-2.2.1.jar;xsd-2.2.1.jar;."
> > > sandbox.Deconstructor
> > >
> > > /Chr
> > >
> > > -----Original Message-----
> > > From: kelvin goodson [mailto:kelvingoodson@gmail.com]
> > > Sent: 26. januar 2007 13:04
> > > To: tuscany-user@ws.apache.org
> > > Subject: Re: java.lang.IllegalArgumentException: resolve against
> > > non-hierarchical or relative base
> > >
> > > Christian,
> > > I don't know enough about the deployed environment,  but I suspect it
> > > is
> > > to do with the imports that your schema makes.  The second argument to
> > > XSDHelper.define is there to assist in resolving imports that are made
> > > by
> > > relative URI from the base schema location.  Are the imported schemata
> > > available in the deployed environment at the correct relative
> location.
> > > Regards, Kelvin.
> > >
> > >
> > > On 25/01/07, Christian Landbo Frederiksen <
> > > Christian.Landbo.Frederiksen@ementor.dk > wrote:
> > > >
> > > > I have some code that functions fine when run as simple java app
> with
> > > a
> > > > main method:
> > > >
> > > >    URL url =
> > > > XsdDeconstructor.class.getClassLoader().getResource(xsdFile);
> > > >    XSDHelper.INSTANCE.define(url.openStream(), url.toString());
> > > >
> > > > But when I try to run it within a web app (on Websphere Test
> > > Environment
> > > > i Rational 7) I get the following:
> > > >
> > > > java.lang.IllegalArgumentException: resolve against non-hierarchical
> > > or
> > > > relative base
> > > > at org.eclipse.emf.common.util.URI.resolve(URI.java:1853)
> > > >
> > > > Any ideas?
> > > >
> > > >
> > > > /Christian
> > > >
> > > >
> > > >
> > > >
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: tuscany-user-unsubscribe@ws.apache.org
> > > For additional commands, e-mail: tuscany-user-help@ws.apache.org
> > >
> > >
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: tuscany-user-unsubscribe@ws.apache.org
> > > For additional commands, e-mail: tuscany-user-help@ws.apache.org
> > >
> > >
> >
> >
> > --
> >
> > Yang ZHONG
>
>
>
>
> --
>
> Yang ZHONG
>
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tuscany-user-unsubscribe@ws.apache.org
> For additional commands, e-mail: tuscany-user-help@ws.apache.org
>
>

RE: java.lang.IllegalArgumentException: resolve against non-hierarchical or relative base

Posted by Christian Landbo Frederiksen <Ch...@ementor.dk>.
You pointed me in the right direction. I found it in the emf faq:
 
EMF recognizes a couple of well known archive schemes, such as "zip" and "jar", so everything will work fine if the URI of an archived resource starts, for example, with "zip:". Although most applications probably use one of these recognized schemes, you may find that certain runtimes use a different one. For example, when running in the IBM WebSphere Application Server, Class.getResource(String) may return a URL with a "wsjar" scheme, like "wsjar:file:/C:/dev/ws/default/sample_app/xsd.resources.jar!/org/eclipse/xsd/plugin.properties". 
By default, EMF will not recognize this as an archive URI and will fail to handle it correctly, probably resulting in multiple unregistered resources errors and/or null pointer exceptions. If you are facing this problem, you will need to change EMF's set of recognized archive schemes. This is done by defining a property named "org.eclipse.emf.common.util.URI.archiveSchemes", whose value is the desired space-separated list of archive schemes. Here's an example of how you could define it when invoking your Java application:

java MyApp -Dorg.eclipse.emf.common.util.URI.archiveSchemes="wsjar wszip jar zip" 

________________________________

From: Yang ZHONG [mailto:leiwang.yangzhong@gmail.com]
Sent: Fri 1/26/2007 7:42 PM
To: tuscany-user@ws.apache.org
Subject: Re: java.lang.IllegalArgumentException: resolve against non-hierarchical or relative base



Just in case you have deployed EMF/XSD jars within your (web) app, removing
them may be worth trying since WebSphere should have had them already.

On 1/26/07, Yang ZHONG <le...@gmail.com> wrote:
>
> XSDSchemaImpl.getSchemaInstance tries to load the model for your XSD
> version (http://www.w3.org/2001/XMLSchema).
> The model is normally within the xsd.jar(cache/www.w3.org/2001/XMLSchema.xsd).
>
> Before loading that, EMFPlugin.getBaseURL tries to compute where the
> xsd.jar is so that an absolute URL can be generated
> (jar:file:/.../xsd.jar!/cache/www.w3.org/2001/XMLSchema.xsd).
> The computing is by searching for plugin.properties. Somehow that EMF
> logic doesn't seem working for your environment.
> EMF newsgroup is a good place to discuss that.
>
>
>  On 1/26/07, Christian Landbo Frederiksen <
> Christian.Landbo.Frederiksen@ementor.dk> wrote:
> >
> >
> > Definitely something about that because when I went from:
> >
> >        HelperProvider.getXSDHelper();
> > To
> >        HelperProviderImpl.getXSDHelper();
> >
> > I managed to run it from the prompt using:
> >
> > java -cp "sdo-api-r2.0.1-1.0-incubator-M2.jar;
> > tuscany-sdo-impl-1.0-incubator-M2.jar;common-2.2.1.jar;ecore- 2.2.1.jar
> > ;e
> > core-change-2.2.1.jar;ecore-xmi-2.2.1.jar;xsd-2.2.1.jar;tuscany-sdo-tool
> > s-1.0-incubator-M2.jar;." sandbox.Deconstructor
> >
> > I still have the non-hierarchical or relative base issue when run in web
> >
> > app!!!!!
> >
> > Can anybody tell from the trace below if the classes are the correct
> > Tuscany classes it is using?
> >
> > java.lang.IllegalArgumentException: resolve against non-hierarchical or
> > relative base
> > at org.eclipse.emf.common.util.URI.resolve(URI.java:1853)
> > at org.eclipse.emf.common.util.URI.resolve(URI.java:1826)
> > at org.eclipse.emf.common.EMFPlugin.getBaseURL(EMFPlugin.java:212)
> > at
> > org.eclipse.xsd.impl.XSDSchemaImpl.getSchemaInstance (XSDSchemaImpl.java
> > :
> > 680)
> > at
> > org.eclipse.xsd.impl.XSDSchemaImpl.resolveSchema(XSDSchemaImpl.java:2120
> > )
> > at org.eclipse.xsd.impl.XSDSchemaImpl.patch(XSDSchemaImpl.java:1484)
> > at
> > org.eclipse.xsd.impl.XSDSchemaImpl.changeAttribute (XSDSchemaImpl.java
> > :23
> > 35)
> > at
> > org.eclipse.xsd.impl.XSDConcreteComponentImpl.eNotify(XSDConcreteCompone
> > ntImpl.java:1240)
> > at
> > org.eclipse.xsd.impl.XSDSchemaImpl.setSchemaLocation(XSDSchemaImpl.java:
> > 829)
> > at org.eclipse.xsd.util.XSDResourceImpl.doLoad(XSDResourceImpl.java:756)
> > at org.eclipse.xsd.util.XSDResourceImpl.load(XSDResourceImpl.java:617)
> > at
> > org.apache.tuscany.sdo.helper.XSDHelperImpl.define(XSDHelperImpl.java:18
> > 1)
> > at
> > org.apache.tuscany.sdo.helper.XSDHelperImpl.define(XSDHelperImpl.java:17
> > 2)
> >
> > -----Original Message-----
> > From: Christian Landbo Frederiksen
> > [mailto: Christian.Landbo.Frederiksen@ementor.dk]
> > Sent: 26. januar 2007 15:46
> > To: tuscany-user@ws.apache.org
> > Subject: RE: java.lang.IllegalArgumentException: resolve against
> > non-hierarchical or relative base
> >
> >
> > HI
> >
> > Is there some class-path order that is important or some files that you
> > have to set up, because when I try outside of my development environment
> > I get a NullPointerException from the HelperProvider.
> >
> > commonj.sdo.impl.HelperProvider.getXSDHelper(HelperProvider.java:346)
> >
> > java -cp "sdo-api-r2.0.1-1.0-incubator-M2.jar;
> > tuscany-sdo-impl-1.0-incubator-M2.jar;common-2.2.1.jar;ecore-2.2.1.jar;e
> > core-change-2.2.1.jar ;ecore-xmi-2.2.1.jar;xsd-2.2.1.jar;."
> > sandbox.Deconstructor
> >
> > /Chr
> >
> > -----Original Message-----
> > From: kelvin goodson [mailto:kelvingoodson@gmail.com]
> > Sent: 26. januar 2007 13:04
> > To: tuscany-user@ws.apache.org
> > Subject: Re: java.lang.IllegalArgumentException: resolve against
> > non-hierarchical or relative base
> >
> > Christian,
> > I don't know enough about the deployed environment,  but I suspect it
> > is
> > to do with the imports that your schema makes.  The second argument to
> > XSDHelper.define is there to assist in resolving imports that are made
> > by
> > relative URI from the base schema location.  Are the imported schemata
> > available in the deployed environment at the correct relative location.
> > Regards, Kelvin.
> >
> >
> > On 25/01/07, Christian Landbo Frederiksen <
> > Christian.Landbo.Frederiksen@ementor.dk > wrote:
> > >
> > > I have some code that functions fine when run as simple java app with
> > a
> > > main method:
> > >
> > >    URL url =
> > > XsdDeconstructor.class.getClassLoader().getResource(xsdFile);
> > >    XSDHelper.INSTANCE.define(url.openStream(), url.toString());
> > >
> > > But when I try to run it within a web app (on Websphere Test
> > Environment
> > > i Rational 7) I get the following:
> > >
> > > java.lang.IllegalArgumentException: resolve against non-hierarchical
> > or
> > > relative base
> > > at org.eclipse.emf.common.util.URI.resolve(URI.java:1853)
> > >
> > > Any ideas?
> > >
> > >
> > > /Christian
> > >
> > >
> > >
> > >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: tuscany-user-unsubscribe@ws.apache.org
> > For additional commands, e-mail: tuscany-user-help@ws.apache.org
> >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: tuscany-user-unsubscribe@ws.apache.org
> > For additional commands, e-mail: tuscany-user-help@ws.apache.org
> >
> >
>
>
> --
>
> Yang ZHONG




--

Yang ZHONG




Re: java.lang.IllegalArgumentException: resolve against non-hierarchical or relative base

Posted by Yang ZHONG <le...@gmail.com>.
Just in case you have deployed EMF/XSD jars within your (web) app, removing
them may be worth trying since WebSphere should have had them already.

On 1/26/07, Yang ZHONG <le...@gmail.com> wrote:
>
> XSDSchemaImpl.getSchemaInstance tries to load the model for your XSD
> version (http://www.w3.org/2001/XMLSchema).
> The model is normally within the xsd.jar(cache/www.w3.org/2001/XMLSchema.xsd).
>
> Before loading that, EMFPlugin.getBaseURL tries to compute where the
> xsd.jar is so that an absolute URL can be generated
> (jar:file:/.../xsd.jar!/cache/www.w3.org/2001/XMLSchema.xsd).
> The computing is by searching for plugin.properties. Somehow that EMF
> logic doesn't seem working for your environment.
> EMF newsgroup is a good place to discuss that.
>
>
>  On 1/26/07, Christian Landbo Frederiksen <
> Christian.Landbo.Frederiksen@ementor.dk> wrote:
> >
> >
> > Definitely something about that because when I went from:
> >
> >        HelperProvider.getXSDHelper();
> > To
> >        HelperProviderImpl.getXSDHelper();
> >
> > I managed to run it from the prompt using:
> >
> > java -cp "sdo-api-r2.0.1-1.0-incubator-M2.jar;
> > tuscany-sdo-impl-1.0-incubator-M2.jar;common-2.2.1.jar;ecore- 2.2.1.jar
> > ;e
> > core-change-2.2.1.jar;ecore-xmi-2.2.1.jar;xsd-2.2.1.jar;tuscany-sdo-tool
> > s-1.0-incubator-M2.jar;." sandbox.Deconstructor
> >
> > I still have the non-hierarchical or relative base issue when run in web
> >
> > app!!!!!
> >
> > Can anybody tell from the trace below if the classes are the correct
> > Tuscany classes it is using?
> >
> > java.lang.IllegalArgumentException: resolve against non-hierarchical or
> > relative base
> > at org.eclipse.emf.common.util.URI.resolve(URI.java:1853)
> > at org.eclipse.emf.common.util.URI.resolve(URI.java:1826)
> > at org.eclipse.emf.common.EMFPlugin.getBaseURL(EMFPlugin.java:212)
> > at
> > org.eclipse.xsd.impl.XSDSchemaImpl.getSchemaInstance (XSDSchemaImpl.java
> > :
> > 680)
> > at
> > org.eclipse.xsd.impl.XSDSchemaImpl.resolveSchema(XSDSchemaImpl.java:2120
> > )
> > at org.eclipse.xsd.impl.XSDSchemaImpl.patch(XSDSchemaImpl.java:1484)
> > at
> > org.eclipse.xsd.impl.XSDSchemaImpl.changeAttribute (XSDSchemaImpl.java
> > :23
> > 35)
> > at
> > org.eclipse.xsd.impl.XSDConcreteComponentImpl.eNotify(XSDConcreteCompone
> > ntImpl.java:1240)
> > at
> > org.eclipse.xsd.impl.XSDSchemaImpl.setSchemaLocation(XSDSchemaImpl.java:
> > 829)
> > at org.eclipse.xsd.util.XSDResourceImpl.doLoad(XSDResourceImpl.java:756)
> > at org.eclipse.xsd.util.XSDResourceImpl.load(XSDResourceImpl.java:617)
> > at
> > org.apache.tuscany.sdo.helper.XSDHelperImpl.define(XSDHelperImpl.java:18
> > 1)
> > at
> > org.apache.tuscany.sdo.helper.XSDHelperImpl.define(XSDHelperImpl.java:17
> > 2)
> >
> > -----Original Message-----
> > From: Christian Landbo Frederiksen
> > [mailto: Christian.Landbo.Frederiksen@ementor.dk]
> > Sent: 26. januar 2007 15:46
> > To: tuscany-user@ws.apache.org
> > Subject: RE: java.lang.IllegalArgumentException: resolve against
> > non-hierarchical or relative base
> >
> >
> > HI
> >
> > Is there some class-path order that is important or some files that you
> > have to set up, because when I try outside of my development environment
> > I get a NullPointerException from the HelperProvider.
> >
> > commonj.sdo.impl.HelperProvider.getXSDHelper(HelperProvider.java:346)
> >
> > java -cp "sdo-api-r2.0.1-1.0-incubator-M2.jar;
> > tuscany-sdo-impl-1.0-incubator-M2.jar;common-2.2.1.jar;ecore-2.2.1.jar;e
> > core-change-2.2.1.jar ;ecore-xmi-2.2.1.jar;xsd-2.2.1.jar;."
> > sandbox.Deconstructor
> >
> > /Chr
> >
> > -----Original Message-----
> > From: kelvin goodson [mailto:kelvingoodson@gmail.com]
> > Sent: 26. januar 2007 13:04
> > To: tuscany-user@ws.apache.org
> > Subject: Re: java.lang.IllegalArgumentException: resolve against
> > non-hierarchical or relative base
> >
> > Christian,
> > I don't know enough about the deployed environment,  but I suspect it
> > is
> > to do with the imports that your schema makes.  The second argument to
> > XSDHelper.define is there to assist in resolving imports that are made
> > by
> > relative URI from the base schema location.  Are the imported schemata
> > available in the deployed environment at the correct relative location.
> > Regards, Kelvin.
> >
> >
> > On 25/01/07, Christian Landbo Frederiksen <
> > Christian.Landbo.Frederiksen@ementor.dk > wrote:
> > >
> > > I have some code that functions fine when run as simple java app with
> > a
> > > main method:
> > >
> > >    URL url =
> > > XsdDeconstructor.class.getClassLoader().getResource(xsdFile);
> > >    XSDHelper.INSTANCE.define(url.openStream(), url.toString());
> > >
> > > But when I try to run it within a web app (on Websphere Test
> > Environment
> > > i Rational 7) I get the following:
> > >
> > > java.lang.IllegalArgumentException: resolve against non-hierarchical
> > or
> > > relative base
> > > at org.eclipse.emf.common.util.URI.resolve(URI.java:1853)
> > >
> > > Any ideas?
> > >
> > >
> > > /Christian
> > >
> > >
> > >
> > >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: tuscany-user-unsubscribe@ws.apache.org
> > For additional commands, e-mail: tuscany-user-help@ws.apache.org
> >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: tuscany-user-unsubscribe@ws.apache.org
> > For additional commands, e-mail: tuscany-user-help@ws.apache.org
> >
> >
>
>
> --
>
> Yang ZHONG




-- 

Yang ZHONG

Re: java.lang.IllegalArgumentException: resolve against non-hierarchical or relative base

Posted by Yang ZHONG <le...@gmail.com>.
XSDSchemaImpl.getSchemaInstance tries to load the model for your XSD version
(http://www.w3.org/2001/XMLSchema).
The model is normally within the xsd.jar(cache/www.w3.org/2001/XMLSchema.xsd).

Before loading that, EMFPlugin.getBaseURL tries to compute where the
xsd.jaris so that an absolute URL can be generated
(jar:file:/.../xsd.jar!/cache/www.w3.org/2001/XMLSchema.xsd).
The computing is by searching for plugin.properties. Somehow that EMF logic
doesn't seem working for your environment.
EMF newsgroup is a good place to discuss that.


On 1/26/07, Christian Landbo Frederiksen <
Christian.Landbo.Frederiksen@ementor.dk> wrote:
>
>
> Definitely something about that because when I went from:
>
>        HelperProvider.getXSDHelper();
> To
>        HelperProviderImpl.getXSDHelper();
>
> I managed to run it from the prompt using:
>
> java -cp "sdo-api-r2.0.1-1.0-incubator-M2.jar;
> tuscany-sdo-impl-1.0-incubator-M2.jar;common-2.2.1.jar;ecore-2.2.1.jar;e
> core-change-2.2.1.jar;ecore-xmi-2.2.1.jar;xsd-2.2.1.jar;tuscany-sdo-tool
> s-1.0-incubator-M2.jar;." sandbox.Deconstructor
>
> I still have the non-hierarchical or relative base issue when run in web
> app!!!!!
>
> Can anybody tell from the trace below if the classes are the correct
> Tuscany classes it is using?
>
> java.lang.IllegalArgumentException: resolve against non-hierarchical or
> relative base
> at org.eclipse.emf.common.util.URI.resolve(URI.java:1853)
> at org.eclipse.emf.common.util.URI.resolve(URI.java:1826)
> at org.eclipse.emf.common.EMFPlugin.getBaseURL(EMFPlugin.java:212)
> at
> org.eclipse.xsd.impl.XSDSchemaImpl.getSchemaInstance(XSDSchemaImpl.java:
> 680)
> at
> org.eclipse.xsd.impl.XSDSchemaImpl.resolveSchema(XSDSchemaImpl.java:2120
> )
> at org.eclipse.xsd.impl.XSDSchemaImpl.patch(XSDSchemaImpl.java:1484)
> at
> org.eclipse.xsd.impl.XSDSchemaImpl.changeAttribute(XSDSchemaImpl.java:23
> 35)
> at
> org.eclipse.xsd.impl.XSDConcreteComponentImpl.eNotify(XSDConcreteCompone
> ntImpl.java:1240)
> at
> org.eclipse.xsd.impl.XSDSchemaImpl.setSchemaLocation(XSDSchemaImpl.java:
> 829)
> at org.eclipse.xsd.util.XSDResourceImpl.doLoad(XSDResourceImpl.java:756)
> at org.eclipse.xsd.util.XSDResourceImpl.load(XSDResourceImpl.java:617)
> at
> org.apache.tuscany.sdo.helper.XSDHelperImpl.define(XSDHelperImpl.java:18
> 1)
> at
> org.apache.tuscany.sdo.helper.XSDHelperImpl.define(XSDHelperImpl.java:17
> 2)
>
> -----Original Message-----
> From: Christian Landbo Frederiksen
> [mailto:Christian.Landbo.Frederiksen@ementor.dk]
> Sent: 26. januar 2007 15:46
> To: tuscany-user@ws.apache.org
> Subject: RE: java.lang.IllegalArgumentException: resolve against
> non-hierarchical or relative base
>
>
> HI
>
> Is there some class-path order that is important or some files that you
> have to set up, because when I try outside of my development environment
> I get a NullPointerException from the HelperProvider.
>
> commonj.sdo.impl.HelperProvider.getXSDHelper(HelperProvider.java:346)
>
> java -cp "sdo-api-r2.0.1-1.0-incubator-M2.jar;
> tuscany-sdo-impl-1.0-incubator-M2.jar;common-2.2.1.jar;ecore-2.2.1.jar;e
> core-change-2.2.1.jar;ecore-xmi-2.2.1.jar;xsd-2.2.1.jar;."
> sandbox.Deconstructor
>
> /Chr
>
> -----Original Message-----
> From: kelvin goodson [mailto:kelvingoodson@gmail.com]
> Sent: 26. januar 2007 13:04
> To: tuscany-user@ws.apache.org
> Subject: Re: java.lang.IllegalArgumentException: resolve against
> non-hierarchical or relative base
>
> Christian,
> I don't know enough about the deployed environment,  but I suspect it
> is
> to do with the imports that your schema makes.  The second argument to
> XSDHelper.define is there to assist in resolving imports that are made
> by
> relative URI from the base schema location.  Are the imported schemata
> available in the deployed environment at the correct relative location.
> Regards, Kelvin.
>
>
> On 25/01/07, Christian Landbo Frederiksen <
> Christian.Landbo.Frederiksen@ementor.dk> wrote:
> >
> > I have some code that functions fine when run as simple java app with
> a
> > main method:
> >
> >    URL url =
> > XsdDeconstructor.class.getClassLoader().getResource(xsdFile);
> >    XSDHelper.INSTANCE.define(url.openStream(), url.toString());
> >
> > But when I try to run it within a web app (on Websphere Test
> Environment
> > i Rational 7) I get the following:
> >
> > java.lang.IllegalArgumentException: resolve against non-hierarchical
> or
> > relative base
> > at org.eclipse.emf.common.util.URI.resolve(URI.java:1853)
> >
> > Any ideas?
> >
> >
> > /Christian
> >
> >
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tuscany-user-unsubscribe@ws.apache.org
> For additional commands, e-mail: tuscany-user-help@ws.apache.org
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tuscany-user-unsubscribe@ws.apache.org
> For additional commands, e-mail: tuscany-user-help@ws.apache.org
>
>


-- 

Yang ZHONG

RE: java.lang.IllegalArgumentException: resolve against non-hierarchical or relative base

Posted by Christian Landbo Frederiksen <Ch...@ementor.dk>.
Definitely something about that because when I went from:

	HelperProvider.getXSDHelper();
To
	HelperProviderImpl.getXSDHelper();

I managed to run it from the prompt using:

java -cp "sdo-api-r2.0.1-1.0-incubator-M2.jar;
tuscany-sdo-impl-1.0-incubator-M2.jar;common-2.2.1.jar;ecore-2.2.1.jar;e
core-change-2.2.1.jar;ecore-xmi-2.2.1.jar;xsd-2.2.1.jar;tuscany-sdo-tool
s-1.0-incubator-M2.jar;." sandbox.Deconstructor 

I still have the non-hierarchical or relative base issue when run in web
app!!!!!

Can anybody tell from the trace below if the classes are the correct
Tuscany classes it is using?

java.lang.IllegalArgumentException: resolve against non-hierarchical or
relative base
at org.eclipse.emf.common.util.URI.resolve(URI.java:1853)
at org.eclipse.emf.common.util.URI.resolve(URI.java:1826)
at org.eclipse.emf.common.EMFPlugin.getBaseURL(EMFPlugin.java:212)
at
org.eclipse.xsd.impl.XSDSchemaImpl.getSchemaInstance(XSDSchemaImpl.java:
680)
at
org.eclipse.xsd.impl.XSDSchemaImpl.resolveSchema(XSDSchemaImpl.java:2120
)
at org.eclipse.xsd.impl.XSDSchemaImpl.patch(XSDSchemaImpl.java:1484)
at
org.eclipse.xsd.impl.XSDSchemaImpl.changeAttribute(XSDSchemaImpl.java:23
35)
at
org.eclipse.xsd.impl.XSDConcreteComponentImpl.eNotify(XSDConcreteCompone
ntImpl.java:1240)
at
org.eclipse.xsd.impl.XSDSchemaImpl.setSchemaLocation(XSDSchemaImpl.java:
829)
at org.eclipse.xsd.util.XSDResourceImpl.doLoad(XSDResourceImpl.java:756)
at org.eclipse.xsd.util.XSDResourceImpl.load(XSDResourceImpl.java:617)
at
org.apache.tuscany.sdo.helper.XSDHelperImpl.define(XSDHelperImpl.java:18
1)
at
org.apache.tuscany.sdo.helper.XSDHelperImpl.define(XSDHelperImpl.java:17
2)

-----Original Message-----
From: Christian Landbo Frederiksen
[mailto:Christian.Landbo.Frederiksen@ementor.dk] 
Sent: 26. januar 2007 15:46
To: tuscany-user@ws.apache.org
Subject: RE: java.lang.IllegalArgumentException: resolve against
non-hierarchical or relative base

 
HI

Is there some class-path order that is important or some files that you
have to set up, because when I try outside of my development environment
I get a NullPointerException from the HelperProvider.

commonj.sdo.impl.HelperProvider.getXSDHelper(HelperProvider.java:346)

java -cp "sdo-api-r2.0.1-1.0-incubator-M2.jar;
tuscany-sdo-impl-1.0-incubator-M2.jar;common-2.2.1.jar;ecore-2.2.1.jar;e
core-change-2.2.1.jar;ecore-xmi-2.2.1.jar;xsd-2.2.1.jar;."
sandbox.Deconstructor

/Chr

-----Original Message-----
From: kelvin goodson [mailto:kelvingoodson@gmail.com] 
Sent: 26. januar 2007 13:04
To: tuscany-user@ws.apache.org
Subject: Re: java.lang.IllegalArgumentException: resolve against
non-hierarchical or relative base

Christian,
  I don't know enough about the deployed environment,  but I suspect it
is
to do with the imports that your schema makes.  The second argument to
XSDHelper.define is there to assist in resolving imports that are made
by
relative URI from the base schema location.  Are the imported schemata
available in the deployed environment at the correct relative location.
Regards, Kelvin.


On 25/01/07, Christian Landbo Frederiksen <
Christian.Landbo.Frederiksen@ementor.dk> wrote:
>
> I have some code that functions fine when run as simple java app with
a
> main method:
>
>    URL url =
> XsdDeconstructor.class.getClassLoader().getResource(xsdFile);
>    XSDHelper.INSTANCE.define(url.openStream(), url.toString());
>
> But when I try to run it within a web app (on Websphere Test
Environment
> i Rational 7) I get the following:
>
> java.lang.IllegalArgumentException: resolve against non-hierarchical
or
> relative base
> at org.eclipse.emf.common.util.URI.resolve(URI.java:1853)
>
> Any ideas?
>
>
> /Christian
>
>
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-user-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-user-help@ws.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-user-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-user-help@ws.apache.org


RE: java.lang.IllegalArgumentException: resolve against non-hierarchical or relative base

Posted by Christian Landbo Frederiksen <Ch...@ementor.dk>.
 
HI

Is there some class-path order that is important or some files that you
have to set up, because when I try outside of my development environment
I get a NullPointerException from the HelperProvider.

commonj.sdo.impl.HelperProvider.getXSDHelper(HelperProvider.java:346)

java -cp "sdo-api-r2.0.1-1.0-incubator-M2.jar;
tuscany-sdo-impl-1.0-incubator-M2.jar;common-2.2.1.jar;ecore-2.2.1.jar;e
core-change-2.2.1.jar;ecore-xmi-2.2.1.jar;xsd-2.2.1.jar;."
sandbox.Deconstructor

/Chr

-----Original Message-----
From: kelvin goodson [mailto:kelvingoodson@gmail.com] 
Sent: 26. januar 2007 13:04
To: tuscany-user@ws.apache.org
Subject: Re: java.lang.IllegalArgumentException: resolve against
non-hierarchical or relative base

Christian,
  I don't know enough about the deployed environment,  but I suspect it
is
to do with the imports that your schema makes.  The second argument to
XSDHelper.define is there to assist in resolving imports that are made
by
relative URI from the base schema location.  Are the imported schemata
available in the deployed environment at the correct relative location.
Regards, Kelvin.


On 25/01/07, Christian Landbo Frederiksen <
Christian.Landbo.Frederiksen@ementor.dk> wrote:
>
> I have some code that functions fine when run as simple java app with
a
> main method:
>
>    URL url =
> XsdDeconstructor.class.getClassLoader().getResource(xsdFile);
>    XSDHelper.INSTANCE.define(url.openStream(), url.toString());
>
> But when I try to run it within a web app (on Websphere Test
Environment
> i Rational 7) I get the following:
>
> java.lang.IllegalArgumentException: resolve against non-hierarchical
or
> relative base
> at org.eclipse.emf.common.util.URI.resolve(URI.java:1853)
>
> Any ideas?
>
>
> /Christian
>
>
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-user-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-user-help@ws.apache.org


RE: java.lang.IllegalArgumentException: resolve against non-hierarchical or relative base

Posted by Christian Landbo Frederiksen <Ch...@ementor.dk>.
I have tried with the simplest of schemas and it still fails. One would
also expect that any import issues would also be flagged when run from
the main method.

The only thing I can imagine is some sort of classloader/class-path
issue, where some of the EMF-files are running from within the server.
But I have tried changig the class-loader schemes so it should be using
the tuscany files supplied in the web application library, but nothing
seems to help

/Chr


-----Original Message-----
From: kelvin goodson [mailto:kelvingoodson@gmail.com] 
Sent: 26. januar 2007 13:04
To: tuscany-user@ws.apache.org
Subject: Re: java.lang.IllegalArgumentException: resolve against
non-hierarchical or relative base

Christian,
  I don't know enough about the deployed environment,  but I suspect it
is
to do with the imports that your schema makes.  The second argument to
XSDHelper.define is there to assist in resolving imports that are made
by
relative URI from the base schema location.  Are the imported schemata
available in the deployed environment at the correct relative location.
Regards, Kelvin.


On 25/01/07, Christian Landbo Frederiksen <
Christian.Landbo.Frederiksen@ementor.dk> wrote:
>
> I have some code that functions fine when run as simple java app with
a
> main method:
>
>    URL url =
> XsdDeconstructor.class.getClassLoader().getResource(xsdFile);
>    XSDHelper.INSTANCE.define(url.openStream(), url.toString());
>
> But when I try to run it within a web app (on Websphere Test
Environment
> i Rational 7) I get the following:
>
> java.lang.IllegalArgumentException: resolve against non-hierarchical
or
> relative base
> at org.eclipse.emf.common.util.URI.resolve(URI.java:1853)
>
> Any ideas?
>
>
> /Christian
>
>
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-user-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-user-help@ws.apache.org