hi jean sebastien,
Jean-Sebastien Delfino <[EMAIL PROTECTED]> wrote on 09/27/2007 10:39:21
PM:
> Florian Rosenberg wrote:
> > hi,
> >
> > I have my compoent type implementation and provided an XSD to use XML
> > validation. Are there any specific steps I have to do. I'm currently
using
> > the version 1.0 binaries and I don't really where to put my XSD file.
> > I checked the code and found the tuscany-assembly-xsd project, where I
> > added my XSD to the tuscany-sca.xsd to check if it is working. All the
> > validation errors on the console go away, nevertheless it does not
really
> > report an error if for example a mandatory attribute is missing in my
XML
> > tags.
> >
> > Could someone give us a brief description how the resolving works and
how
> > to enable it if I work with the Tuscany binary distribution and do not
want
> > to rebuild the tuscany-assembly-xsd to get it to work.
> >
> > Thanks,
> > -Florian
>
> The runtime currently loads:
> tuscany-assembly-xsd/src/main/resources/tuscany-sca-include.xsd -
> defining the SCA namespace http://www.osoa.org/xmlns/sca/1.0
> tuscany-assembly-xsd/src/main/resources/tuscany-sca.xsd - defining the
> Tuscany namespace http://tuscany.apache.org/xmlns/sca/1.0
>
> If you want to add your extension schema to the
> http://tuscany.apache.org/xmlns/sca/1.0 namespace you need to include it
> in tuscany-sca.xsd, and rebuild that module. This is not dynamic, but
> it's intentional as we need to provide application developers with a
> single central XSD file completely defining that namespace anyway... as
> this is what most XML schema validation tools and editors out there
expect.
That is exactly what I did but for my case it does not seem to work, there
is no XML validation, at least I don't get any error even if I omit
required attributes etc. have to investigate what could be the reason. Even
though, the validation does not seem to work for me, e.g.:
<service name="AddPostSpliceService"
promote="AddPostSpliceComponent">
<interface.java
interfaceERROR="com.ibm.sca.implementation.splice.SpliceService" />
</service>
<component name="AddPostSpliceComponent">
<tuscany:implementation.splice flow="tns:AddPost"
contentType="application/x-www-form-urlencoded" />
</component>
The interface attribute is wrong here but Tuscany throw the following error
instead of giving me a validation error:
org.osoa.sca.ServiceRuntimeException: org.osoa.sca.ServiceRuntimeException:
org.apache.tuscany.sca.core.assembly.ActivationException:
java.lang.NullPointerException
at org.apache.tuscany.sca.host.embedded.SCADomain.createNewInstance
(SCADomain.java:264)
at org.apache.tuscany.sca.host.embedded.SCADomain.newInstance
(SCADomain.java:69)
at com.ibm.sca.implementation.splice.SpliceImplementationTest.setUp
(SpliceImplementationTest.java:34)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.junit.internal.runners.BeforeAndAfterRunner.invokeMethod
(BeforeAndAfterRunner.java:74)
at org.junit.internal.runners.BeforeAndAfterRunner.runBefores
(BeforeAndAfterRunner.java:50)
at org.junit.internal.runners.BeforeAndAfterRunner.runProtected
(BeforeAndAfterRunner.java:33)
at org.junit.internal.runners.TestMethodRunner.runMethod
(TestMethodRunner.java:75)
at org.junit.internal.runners.TestMethodRunner.run
(TestMethodRunner.java:45)
at org.junit.internal.runners.TestClassMethodsRunner.invokeTestMethod
(TestClassMethodsRunner.java:66)
at org.junit.internal.runners.TestClassMethodsRunner.run
(TestClassMethodsRunner.java:35)
at org.junit.internal.runners.TestClassRunner$1.runUnprotected
(TestClassRunner.java:42))
at org.junit.internal.runners.BeforeAndAfterRunner.runProtected
(BeforeAndAfterRunner.java:34)
at org.junit.internal.runners.TestClassRunner.run
(TestClassRunner.java:52)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run
(JUnit4TestReference.java:38)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run
(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests
(RemoteTestRunner.java:460))
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests
(RemoteTestRunner.java:673))
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run
(RemoteTestRunner.java:386):
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main
(RemoteTestRunner.java:196)
Caused by: org.osoa.sca.ServiceRuntimeException:
org.apache.tuscany.sca.core.assembly.ActivationException:
java.lang.NullPointerException
at org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain.<init>
(DefaultSCADomain.java:180)
at org.apache.tuscany.sca.host.embedded.SCADomain.createNewInstance
(SCADomain.java:230)
... 22 more
Caused by: org.apache.tuscany.sca.core.assembly.ActivationException:
java.lang.NullPointerException
at
org.apache.tuscany.sca.core.assembly.CompositeActivatorImpl.activate
(CompositeActivatorImpl.java:737):
at org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain.<init>
(DefaultSCADomain.java:178)
... 23 more
Caused by: java.lang.NullPointerException
at
org.apache.tuscany.sca.binding.sca.impl.RuntimeSCAServiceBindingProvider.<init>
(RuntimeSCAServiceBindingProvider.java:59)
at
org.apache.tuscany.sca.binding.sca.impl.RuntimeSCABindingProviderFactory.createServiceBindingProvider
(RuntimeSCABindingProviderFactory.java:65)
at
org.apache.tuscany.sca.binding.sca.impl.RuntimeSCABindingProviderFactory.createServiceBindingProvider
(RuntimeSCABindingProviderFactory.java:39)
at
org.apache.tuscany.sca.provider.DefaultProviderFactoryExtensionPoint
$LazyBindingProviderFactory.createServiceBindingProvider
(DefaultProviderFactoryExtensionPoint.java:194)
at
org.apache.tuscany.sca.core.assembly.CompositeActivatorImpl.addServiceBindingProvider
(CompositeActivatorImpl.java:397)
at
org.apache.tuscany.sca.core.assembly.CompositeActivatorImpl.activate
(CompositeActivatorImpl.java:671)
at
org.apache.tuscany.sca.core.assembly.CompositeActivatorImpl.activate
(CompositeActivatorImpl.java:729)
... 24 more
> If you want to define your extension schema in a different namespace,
> you can either:
>
> - Try to add the following to your <composite> element:
> <composite ...
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:schemaLocation="yourNamespace locationOfyourXSDFile">
> ... not great but it should work.
I use the Tuscany namespace anyway, so I agree, that's not what we want.,
> - Or just package the XSD file defining that namespace in your extension
> JAR and I'll add a few lines of code to look for and automatically load
> extension XSDs in extension JARs. I will post again here when it's ready
> for you to try.
that would be very cool. I can help you on this if you give me a pointer
where to add that piece of code.
Thanks
-Florian
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]