On 10/17/07, Ana Belén Antón Gironés <[EMAIL PROTECTED]> wrote:
>
> Yes, I am using the same .composite file
>
> Ana Belen
>
> -----Mensaje original-----
> De: Simon Laws [mailto:[EMAIL PROTECTED]
> Enviado el: miércoles, 17 de octubre de 2007 13:04
> Para: [email protected]
> Asunto: Re: *SPAM*: 06.40/6.0 - Re: How use org.dom4j in my tuscany-sca
> component
>
> On 10/17/07, Ana Belén Antón Gironés <[EMAIL PROTECTED]> wrote:
> >
> > Thank you very much!! That compiles!!! :-) But it doesn't run :-( . I
> > get the same error which I remarked on a previous thread:
> >
> > =============================================================
> > Buildfile: build.xml
> >
> > Buildfile: build.xml
> >
> > run-classes:
> >      [java] Starting ...
> >      [java] Information.composite ready
> >      [java] Exception in thread "main"
> > org.osoa.sca.ServiceUnavailableException: No service invoker is
> > available for reference default
> > (bindingURI=InformationServiceComponent
> > operation=getInformationObject).
> >      [java]     at
> >
> > org.apache.tuscany.sca.binding.sca.impl.RuntimeSCAReferenceBindingProv
> > ider.c
> > reateInvoker(RuntimeSCAReferenceBindingProvider.java:192)
> >      [java]     at
> > org.apache.tuscany.sca.core.assembly.RuntimeWireImpl.addBindingInterce
> > ptor
> > (R
> > untimeWireImpl.java:214)
> >      [java]     at
> > org.apache.tuscany.sca.core.assembly.RuntimeWireImpl.initInvocationCha
> > ins
> > (Ru
> > ntimeWireImpl.java:156)
> >      [java]     at
> > org.apache.tuscany.sca.core.assembly.RuntimeWireImpl.getInvocationChai
> > ns
> > (Run
> > timeWireImpl.java:97)
> >      [java]     at
> >
> > org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.getInvocat
> > ionCha
> > in(JDKInvocationHandler.java:190)
> >      [java]     at
> > org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke
> > (JDKInvoca
> > tionHandler.java:124)
> >      [java]     at $Proxy5.getInformationObject(Unknown Source)
> >      [java]     at Client.isClient.main(isClient.java:34)
> >
> > BUILD SUCCESSFUL
> > Total time: 1 second
> >
> > ================================================================
> >
> > Best regards.
> >
> > Ana Belen.
> >
> >
> >
> > -----Mensaje original-----
> > De: Simon Laws [mailto:[EMAIL PROTECTED]
> > Enviado el: miércoles, 17 de octubre de 2007 10:23
> > Para: [email protected]
> > Asunto: *SPAM*: 06.40/6.0 - Re: How use org.dom4j in my tuscany-sca
> > component
> >
> > On 10/17/07, Ana Belén Antón Gironés <[EMAIL PROTECTED]>
> wrote:
> > >
> > > Sorry, the success had a short time :-(
> > >
> > > In one of the classes of my component I use the library dom4j. How
> > > do I have to add this library? I added it to C:\TUSCANY\tuscany-
> > > sca-1.0-incubating\lib
> > >
> > > But when I compile, I get the follow error:
> > >
> > >
> > > ====================================================================
> > > ==
> > > ======
> > > ========
> > > compile:
> > >     [javac] Compiling 15 source files to
> > > C:\TUSCANY\tuscany-sca-1.0-incubating\samples\mypath
> > >     [javac]
> > > C:\TUSCANY\tuscany-sca-1.0-incubating\samples\myclasspath.java:10:
> > > package org.dom4j does not exist
> > >     [javac] import org.dom4j.Attribute;
> > >     [javac]                  ^
> > >     [javac]
> > > C:\TUSCANY\tuscany- sca-1.0-incubating\samples\myclasspath.java:72:
> > > cannot find symbol
> > >     [javac] symbol  : class DocumentException
> > >     [javac] ..........
> > >                 .........
> > > ====================================================================
> > > ==
> > > ======
> > >
> > > ===========
> > >
> > > Thanks,
> > >
> > > Ana Belen
> > >
> > Hi
> >
> > Interesting one this.
> >
> > The jar you are using is required by your component implementation so
> > it should be part of the contribution, i.e . the set of files that
> > comprise the .composite file and the class files that provide
> > component implementations.
> >
> > You see the contribution being added to Tuscany SCA in the client in
> > the line that reads.
> >
> > SCADomain scaDomain = SCADomain.newInstance("Information.composite");
> >
> > This is a slightly tricky line but what it is actually saying is look
> > for the directory which holds the file Information.composite. Then go
> > and load all of the files there. In your sample it should find the
> > target/classes directory and so load all of the resources there as
> > part of the contribution.
> >
> > You will of course need to include any new jars on the compile line so
> > you can compile you component implementation. If you are using the
> > build.xmldiscussed on the previous thread you can adjust the compile
> > target.
> >
> >     <target name="compile" depends="init">
> >         <javac srcdir="src/main/java"
> >                destdir="target/classes"
> >                debug="on"
> >                source="1.5"
> >                target="1.5">
> >             <classpath>
> >                 <pathelement
> > location="../../lib/tuscany-sca-manifest.jar
> > "/>
> >             </classpath>
> >         </javac>
> >
> > By adding a new path element pointing at your new jar.
> >
> >   <pathelement location="domedir/mynewjar.jar"/>
> >
> > I expect you have already done this. This should allow you to compile
> it.
> >
> > Now we come to running the sample. The class loader story in Tuscany
> > is being reviewed at the moment it isn't as tidy as it should be (see
> > the thread on the developer list). I would imagine in this case that
> > the new jar should automatically be made available to the running
> > application by virtue of it being included in the contribution.
> > However it doesn't work like that at the moment. You should make the
> > new jar available on the runtime classpath alongside the compile
> > component implementations. Take the run-classes target
> >
> >     <target name="run-classes">
> >         <java classname="${test.class}"
> >               fork="true">
> >             <classpath>
> >                 <pathelement path="target/classes"/>
> >                 <pathelement
> > location="../../lib/tuscany-sca-manifest.jar
> > "/>
> >             </classpath>
> >         </java>
> >     </target>
> >
> > And add the new pathelement line here also.
> >
> >   <pathelement location="domedir/mynewjar.jar"/>
> >
> > This all sounds very complicated but the idea is that SCA
> > contributions collect together all of the resources that you need to
> > run your SCA application, i.e. .composite files, .class files, .jar
> > files and allow you simply to add this to the the SCA runtime and have
> > it run.  This will provide a relatively straightforward mechanism for
> > adding applications to Tuscany when the classloader story is sorted out.
> >
> > Regards
> >
> > Simon
> >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> > So we are back to the situation where the target service cannot be
> found.
> I.e. the line in isClient
>
> InformationService is = scaDomain.getService(InformationService.class,
> "InformationServiceComponent");
>
> Is returning a proxy but the proxy doesn't point to the component defined
> locally as either something went wrong when reading the composite file or
> the composite file has change so that "InformationServiceComponent" is not
> a
> valid component name now.
>
> Are you still using the sample .composite file with.
>
> <component name="InformationServiceComponent">
> <implementation.java class="
> eu.services.information.rh.InformationServiceImpl"/>
> </component>
>
>
> If so can you flip the implementation back so that it doesn't depend on
> the
> other jar. It's interesting to see if the dependency is causing a problem
> for some reason. It's strange that the output you provided doesn't suggest
> that it had a problem loading the composite file if this is the case
> though.
>
>
> Regards
>
> Simon
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]


Ok let me see if having a dom4j dependency  makes my version of the sample
fail.

Simon

Reply via email to