Hi Karl,

Thank you for suggestion, I just upgrade and got a different behavior:

With both zk and keycloak admin-client dependencies in the bndrun, when I
start bndrun, i see the bundle that wraps Keycloak admin-client and
resteasy failed to laod due to dependency missing:
! could not resolve the bundles:
[com.castortech.iris.ba.keycloak.provider-1.0.0
org.osgi.framework.BundleException: Unable to resolve
com.castortech.iris.ba.keycloak.provider [24](R 24.0): missing requirement
[com.castortech.iris.ba.keycloak.provider [24](R 24.0)]
osgi.wiring.package;
(&(osgi.wiring.package=org.jboss.resteasy.plugins.providers.jackson)(version>=3.6.0)(!(version>=4.0.0)))
[caused by: Unable to resolve com.castortech.iris.osgi.keycloak [26](R
26.0): missing requirement [com.castortech.iris.osgi.keycloak [26](R 26.0)]
osgi.wiring.package;
(osgi.wiring.package=org.apache.http.nio.client.methods) [caused by: Unable
to resolve org.apache.httpcomponents.httpasyncclient [53](R 53.0): missing
requirement [org.apache.httpcomponents.httpasyncclient [53](R 53.0)]
osgi.wiring.package;
(&(osgi.wiring.package=org.apache.http)(version>=4.4.0)(!(version>=4.5.0)))]]
Unresolved requirements: [[com.castortech.iris.ba.keycloak.provider [24](R
24.0)] osgi.wiring.package;
(&(osgi.wiring.package=org.jboss.resteasy.plugins.providers.jackson)(version>=3.6.0)(!(version>=4.0.0)))]
, com.castortech.iris.ba.webapp-1.0.0 org.osgi.framework.BundleException:
Unable to resolve com.castortech.iris.ba.webapp [25](R 25.0): missing
requirement [com.castortech.iris.ba.webapp [25](R 25.0)]
osgi.wiring.bundle; (osgi.wiring.bundle=com.castortech.iris.osgi.keycloak)
[caused by: Unable to resolve com.castortech.iris.osgi.keycloak [26](R
26.0): missing requirement [com.castortech.iris.osgi.keycloak [26](R 26.0)]
osgi.wiring.package;
(osgi.wiring.package=org.apache.http.nio.client.methods) [caused by: Unable
to resolve org.apache.httpcomponents.httpasyncclient [53](R 53.0): missing
requirement [org.apache.httpcomponents.httpasyncclient [53](R 53.0)]
osgi.wiring.package;
(&(osgi.wiring.package=org.apache.http)(version>=4.4.0)(!(version>=4.5.0)))]]
Unresolved requirements: [[com.castortech.iris.ba.webapp [25](R 25.0)]
osgi.wiring.bundle; (osgi.wiring.bundle=com.castortech.iris.osgi.keycloak)]
, com.castortech.iris.osgi.keycloak-1.0.0
org.osgi.framework.BundleException: Unable to resolve
com.castortech.iris.osgi.keycloak [26](R 26.0): missing requirement
[com.castortech.iris.osgi.keycloak [26](R 26.0)] osgi.wiring.package;
(osgi.wiring.package=org.apache.http.nio.client.methods) [caused by: Unable
to resolve org.apache.httpcomponents.httpasyncclient [53](R 53.0): missing
requirement [org.apache.httpcomponents.httpasyncclient [53](R 53.0)]
osgi.wiring.package;
(&(osgi.wiring.package=org.apache.http)(version>=4.4.0)(!(version>=4.5.0)))]
Unresolved requirements: [[com.castortech.iris.osgi.keycloak [26](R 26.0)]
osgi.wiring.package;
(osgi.wiring.package=org.apache.http.nio.client.methods)]
, org.apache.httpcomponents.httpasyncclient-4.1.3
org.osgi.framework.BundleException: Unable to resolve
org.apache.httpcomponents.httpasyncclient [53](R 53.0): missing requirement
[org.apache.httpcomponents.httpasyncclient [53](R 53.0)]
osgi.wiring.package;
(&(osgi.wiring.package=org.apache.http)(version>=4.4.0)(!(version>=4.5.0)))
Unresolved requirements: [[org.apache.httpcomponents.httpasyncclient [53](R
53.0)] osgi.wiring.package;
(&(osgi.wiring.package=org.apache.http)(version>=4.4.0)(!(version>=4.5.0)))]
]

Here is my bndrun file that cause the error above:
-runfw: org.apache.felix.framework;version='[6.0.0,6.0.0]'
-runee: JavaSE-1.8
-runsystemcapabilities: ${native_capability}

-resolve.effective: active;skip:="osgi.service"

-runbundles: \
org.apache.felix.gogo.command;version='[1.0.2,1.0.3)',\
org.apache.felix.gogo.runtime;version='[1.0.10,1.0.11)',\
org.apache.felix.gogo.shell;version='[1.0.0,1.0.1)',\
ch.qos.logback.core;version='[1.2.0,1.2.1)',\
org.apache.aries.spifly.dynamic.bundle;version='[1.0.12,1.0.13)',\
org.apache.aries.util;version='[1.0.0,1.0.1)',\
org.apache.felix.configadmin;version='[1.8.16,1.8.17)',\
org.apache.felix.log;version='[1.0.1,1.0.2)',\
org.apache.felix.scr;version='[2.0.14,2.0.15)',\
org.apache.felix.webconsole;version='[4.3.4,4.3.5)',\
org.apache.felix.webconsole.plugins.ds;version='[2.0.8,2.0.9)',\
org.apache.xbean.bundleutils;version='[4.8.0,4.8.1)',\
org.apache.xbean.finder;version='[4.8.0,4.8.1)',\
org.objectweb.asm;version='[6.2.0,6.2.1)',\
org.objectweb.asm.commons;version='[6.2.0,6.2.1)',\
org.objectweb.asm.tree;version='[6.2.0,6.2.1)',\
org.ops4j.pax.web.pax-web-api;version='[7.2.0,7.2.1)',\
org.ops4j.pax.web.pax-web-descriptor;version='[7.2.0,7.2.1)',\
org.ops4j.pax.web.pax-web-extender-war;version='[7.2.0,7.2.1)',\
org.ops4j.pax.web.pax-web-extender-whiteboard;version='[7.2.0,7.2.1)',\
org.ops4j.pax.web.pax-web-jetty-bundle;version='[7.2.0,7.2.1)',\
org.ops4j.pax.web.pax-web-spi;version='[7.2.0,7.2.1)',\
slf4j.api;version='[1.7.25,1.7.26)',\
com.castortech.iris.ba.keycloak.provider;version=snapshot,\
com.castortech.iris.ba.webapp;version=snapshot,\
com.castortech.iris.osgi.keycloak;version=snapshot,\
com.castortech.iris.security;version=snapshot,\
com.castortech.util;version=snapshot,\
com.fasterxml.jackson.core.jackson-annotations;version='[2.9.0,2.9.1)',\
com.fasterxml.jackson.core.jackson-core;version='[2.9.6,2.9.7)',\
com.fasterxml.jackson.core.jackson-databind;version='[2.9.6,2.9.7)',\
com.fasterxml.jackson.jaxrs.jackson-jaxrs-base;version='[2.9.6,2.9.7)',\
com.fasterxml.jackson.jaxrs.jackson-jaxrs-json-provider;version='[2.9.6,2.9.7)',\
com.fasterxml.jackson.module.jackson-module-jaxb-annotations;version='[2.9.6,2.9.7)',\
com.github.fge.btf;version='[1.2.0,1.2.1)',\
com.github.fge.msg-simple;version='[1.1.0,1.1.1)',\
com.github.java-json-tools.jackson-coreutils;version='[1.9.0,1.9.1)',\
com.github.java-json-tools.json-patch;version='[1.10.0,1.10.1)',\
com.google.guava;version='[16.0.1,16.0.2)',\
com.google.guava;version='[25.1.0,25.1.1)',\
com.sun.xml.bind.jaxb-impl;version='[2.3.0,2.3.1)',\
javax.annotation-api;version='[1.2.0,1.2.1)',\
javax.json-api;version='[1.1.2,1.1.3)',\
javax.json.bind-api;version='[1.0.0,1.0.1)',\
javax.mail.glassfish;version='[1.4.1,1.4.2)',\
javax.validation.api;version='[2.0.1,2.0.2)',\
javax.ws.rs-api;version='[2.1.0,2.1.1)',\
log4j;version='[1.2.17,1.2.18)',\
org.apache.commons.codec;version='[1.9.0,1.9.1)',\
org.apache.commons.lang;version='[2.6.0,2.6.1)',\
org.apache.commons.lang3;version='[3.3.2,3.3.3)',\
org.apache.commons.logging;version='[1.1.3,1.1.4)',\
org.apache.httpcomponents.httpasyncclient;version='[4.1.3,4.1.4)',\
org.apache.httpcomponents.httpcore;version='[4.4.10,4.4.11)',\
org.apache.james.apache-mime4j;version='[0.6.1,0.6.2)',\
org.eclipse.emf.common;version='[2.12.0,2.12.1)',\
org.eclipse.equinox.common;version='[3.10.0,3.10.1)',\
org.eclipse.equinox.supplement;version='[1.8.0,1.8.1)',\
org.jboss.logging.jboss-logging;version='[3.3.1,3.3.2)',\
org.keycloak.keycloak-adapter-core;version='[4.0.0,4.0.1)',\
org.keycloak.keycloak-adapter-spi;version='[4.0.0,4.0.1)',\
org.keycloak.keycloak-authz-client;version='[4.0.0,4.0.1)',\
org.keycloak.keycloak-common;version='[4.0.0,4.0.1)',\
org.keycloak.keycloak-core;version='[4.0.0,4.0.1)',\
org.keycloak.keycloak-jetty-adapter-spi;version='[4.0.0,4.0.1)',\
org.keycloak.keycloak-jetty-core;version='[4.0.0,4.0.1)',\
org.keycloak.keycloak-jetty94-adapter;version='[4.0.0,4.0.1)',\
org.keycloak.keycloak-osgi-adapter;version='[4.0.0,4.0.1)',\
org.keycloak.keycloak-osgi-thirdparty;version='[4.0.0,4.0.1)',\
org.keycloak.keycloak-pax-web-jetty94;version='[4.0.0,4.0.1)',\
org.ops4j.pax.web.pax-web-jetty;version='[7.2.0,7.2.1)',\
org.reactivestreams.reactive-streams;version='[1.0.2,1.0.3)',\
slf4j.jcl;version='[1.7.7,1.7.8)',\
com.google.gson;version='[2.8.5,2.8.6)',\
org.apache.commons.logging;version='[1.2.0,1.2.1)',\
org.osgi.service.log;version='[1.4.0,1.4.1)',\
org.osgi.util.function;version='[1.1.0,1.1.1)',\
org.osgi.util.promise;version='[1.1.0,1.1.1)',\
org.osgi.util.pushstream;version='[1.0.0,1.0.1)',\
org.zkoss.zuss;version=snapshot,\
zcommon;version='[8.5.1,8.5.2)',\
zel;version='[8.5.1,8.5.2)',\
zhtml;version='[8.5.1,8.5.2)',\
zjavassist;version='[8.5.1,8.5.2)',\
zk;version='[8.5.1,8.5.2)',\
zkbind;version='[8.5.1,8.5.2)',\
zkex;version='[8.5.1,8.5.2)',\
zkmax;version='[8.5.1,8.5.2)',\
zkplus;version='[8.5.1,8.5.2)',\
zml;version='[8.5.1,8.5.2)',\
zul;version='[8.5.1,8.5.2)',\
zuti;version='[8.5.1,8.5.2)',\
zweb;version='[8.5.1,8.5.2)',\
com.castortech.iris.jetty;version=snapshot,\
com.castortech.iris.zk;version=snapshot,\
com.castortech.iris.zk.components;version=snapshot,\
com.castortech.iris.zk.components.test;version=snapshot,\
com.castortech.util.color.api;version=snapshot,\
org.eclipse.jface;version=snapshot,\
org.eclipse.swt;version=snapshot

-runrequires: \
osgi.identity;filter:='(osgi.identity=org.apache.felix.gogo.shell)',\
osgi.identity;filter:='(osgi.identity=org.apache.felix.gogo.command)',\
bnd.identity;id='org.ops4j.pax.web.pax-web-jetty-bundle',\
bnd.identity;id='org.apache.felix.configadmin',\
bnd.identity;id='org.apache.felix.webconsole',\
bnd.identity;id='org.apache.felix.webconsole.plugins.ds',\
bnd.identity;id='org.ops4j.pax.web.pax-web-extender-war',\
bnd.identity;id='org.ops4j.pax.web.pax-web-api',\
bnd.identity;id='org.apache.aries.spifly.dynamic.bundle',\
bnd.identity;id='org.apache.felix.log',\
bnd.identity;id='org.ops4j.pax.web.pax-web-extender-whiteboard',\
bnd.identity;id='org.keycloak.keycloak-osgi-thirdparty',\
bnd.identity;id='org.keycloak.keycloak-osgi-adapter',\
bnd.identity;id='org.keycloak.keycloak-pax-web-jetty94',\
bnd.identity;id='org.jboss.logging.jboss-logging',\
bnd.identity;version='2.8.11';id='com.fasterxml.jackson.core.jackson-core',\
bnd.identity;version='2.8.11';id='com.fasterxml.jackson.core.jackson-annotations',\
bnd.identity;version='2.8.11.1';id='com.fasterxml.jackson.core.jackson-databind',\
bnd.identity;version='latest';id='com.castortech.iris.ba.keycloak.provider',\
bnd.identity;version='latest';id='com.castortech.iris.ba.webapp',\
bnd.identity;id='zk',\
bnd.identity;id='zweb',\
bnd.identity;id='zcommon',\
bnd.identity;id='zhtml',\
bnd.identity;id='zkbind',\
bnd.identity;id='zml',\
bnd.identity;id='zuti',\
bnd.identity;id='zel',\
bnd.identity;id='zul',\
bnd.identity;id='zjavassist',\
bnd.identity;id='zkex',\
bnd.identity;id='zkmax',\
bnd.identity;id='zkplus',\
bnd.identity;id='org.osgi.service.log',\
bnd.identity;id='com.google.gson',\
bnd.identity;version='latest';id='org.zkoss.zuss',\
bnd.identity;version='latest';id='com.castortech.iris.zk.components.test'

-resolve: auto

However, if i remove the zk related packages from the bndrun, then i got no
error. Here is the bndrun without zk (only the last 17 lines in the
runrequire section of the previous bndrun removed):

-runfw: org.apache.felix.framework;version='[6.0.0,6.0.0]'
-runee: JavaSE-1.8
-runsystemcapabilities: ${native_capability}

-resolve.effective: active;skip:="osgi.service"

-runbundles: \
org.apache.felix.gogo.command;version='[1.0.2,1.0.3)',\
org.apache.felix.gogo.runtime;version='[1.0.10,1.0.11)',\
org.apache.felix.gogo.shell;version='[1.0.0,1.0.1)',\
ch.qos.logback.core;version='[1.2.0,1.2.1)',\
com.castortech.iris.ba.keycloak.provider;version=snapshot,\
com.castortech.iris.ba.webapp;version=snapshot,\
com.castortech.iris.osgi.keycloak;version=snapshot,\
com.castortech.iris.security;version=snapshot,\
com.castortech.util;version=snapshot,\
com.fasterxml.jackson.core.jackson-annotations;version='[2.9.0,2.9.1)',\
com.fasterxml.jackson.core.jackson-core;version='[2.9.6,2.9.7)',\
com.fasterxml.jackson.core.jackson-databind;version='[2.9.6,2.9.7)',\
com.fasterxml.jackson.jaxrs.jackson-jaxrs-base;version='[2.9.6,2.9.7)',\
com.fasterxml.jackson.jaxrs.jackson-jaxrs-json-provider;version='[2.9.6,2.9.7)',\
com.fasterxml.jackson.module.jackson-module-jaxb-annotations;version='[2.9.6,2.9.7)',\
com.github.fge.btf;version='[1.2.0,1.2.1)',\
com.github.fge.msg-simple;version='[1.1.0,1.1.1)',\
com.github.java-json-tools.jackson-coreutils;version='[1.9.0,1.9.1)',\
com.github.java-json-tools.json-patch;version='[1.10.0,1.10.1)',\
com.google.guava;version='[16.0.1,16.0.2)',\
com.google.guava;version='[25.1.0,25.1.1)',\
com.sun.xml.bind.jaxb-impl;version='[2.3.0,2.3.1)',\
javax.annotation-api;version='[1.2.0,1.2.1)',\
javax.json-api;version='[1.1.2,1.1.3)',\
javax.json.bind-api;version='[1.0.0,1.0.1)',\
javax.mail.glassfish;version='[1.4.1,1.4.2)',\
javax.validation.api;version='[2.0.1,2.0.2)',\
javax.ws.rs-api;version='[2.1.0,2.1.1)',\
log4j;version='[1.2.17,1.2.18)',\
org.apache.aries.spifly.dynamic.bundle;version='[1.0.12,1.0.13)',\
org.apache.aries.util;version='[1.0.0,1.0.1)',\
org.apache.commons.codec;version='[1.9.0,1.9.1)',\
org.apache.commons.lang;version='[2.6.0,2.6.1)',\
org.apache.commons.lang3;version='[3.3.2,3.3.3)',\
org.apache.commons.logging;version='[1.1.3,1.1.4)',\
org.apache.felix.configadmin;version='[1.8.16,1.8.17)',\
org.apache.felix.log;version='[1.0.1,1.0.2)',\
org.apache.felix.scr;version='[2.0.14,2.0.15)',\
org.apache.felix.webconsole;version='[4.3.4,4.3.5)',\
org.apache.felix.webconsole.plugins.ds;version='[2.0.8,2.0.9)',\
org.apache.httpcomponents.httpasyncclient;version='[4.1.3,4.1.4)',\
org.apache.httpcomponents.httpclient;version='[4.5.2,4.5.3)',\
org.apache.httpcomponents.httpcore;version='[4.4.10,4.4.11)',\
org.apache.james.apache-mime4j;version='[0.6.1,0.6.2)',\
org.apache.xbean.bundleutils;version='[4.8.0,4.8.1)',\
org.apache.xbean.finder;version='[4.8.0,4.8.1)',\
org.eclipse.emf.common;version='[2.12.0,2.12.1)',\
org.eclipse.equinox.common;version='[3.10.0,3.10.1)',\
org.eclipse.equinox.supplement;version='[1.8.0,1.8.1)',\
org.jboss.logging.jboss-logging;version='[3.3.1,3.3.2)',\
org.keycloak.keycloak-adapter-core;version='[4.0.0,4.0.1)',\
org.keycloak.keycloak-adapter-spi;version='[4.0.0,4.0.1)',\
org.keycloak.keycloak-authz-client;version='[4.0.0,4.0.1)',\
org.keycloak.keycloak-common;version='[4.0.0,4.0.1)',\
org.keycloak.keycloak-core;version='[4.0.0,4.0.1)',\
org.keycloak.keycloak-jetty-adapter-spi;version='[4.0.0,4.0.1)',\
org.keycloak.keycloak-jetty-core;version='[4.0.0,4.0.1)',\
org.keycloak.keycloak-jetty94-adapter;version='[4.0.0,4.0.1)',\
org.keycloak.keycloak-osgi-adapter;version='[4.0.0,4.0.1)',\
org.keycloak.keycloak-osgi-thirdparty;version='[4.0.0,4.0.1)',\
org.keycloak.keycloak-pax-web-jetty94;version='[4.0.0,4.0.1)',\
org.objectweb.asm;version='[6.2.0,6.2.1)',\
org.objectweb.asm.commons;version='[6.2.0,6.2.1)',\
org.objectweb.asm.tree;version='[6.2.0,6.2.1)',\
org.ops4j.pax.web.pax-web-api;version='[7.2.0,7.2.1)',\
org.ops4j.pax.web.pax-web-descriptor;version='[7.2.0,7.2.1)',\
org.ops4j.pax.web.pax-web-extender-war;version='[7.2.0,7.2.1)',\
org.ops4j.pax.web.pax-web-extender-whiteboard;version='[7.2.0,7.2.1)',\
org.ops4j.pax.web.pax-web-jetty;version='[7.2.0,7.2.1)',\
org.ops4j.pax.web.pax-web-jetty-bundle;version='[7.2.0,7.2.1)',\
org.ops4j.pax.web.pax-web-spi;version='[7.2.0,7.2.1)',\
org.reactivestreams.reactive-streams;version='[1.0.2,1.0.3)',\
slf4j.api;version='[1.7.25,1.7.26)',\
slf4j.jcl;version='[1.7.7,1.7.8)'

-runrequires: \
osgi.identity;filter:='(osgi.identity=org.apache.felix.gogo.shell)',\
osgi.identity;filter:='(osgi.identity=org.apache.felix.gogo.command)',\
bnd.identity;id='org.ops4j.pax.web.pax-web-jetty-bundle',\
bnd.identity;id='org.apache.felix.configadmin',\
bnd.identity;id='org.apache.felix.webconsole',\
bnd.identity;id='org.apache.felix.webconsole.plugins.ds',\
bnd.identity;id='org.ops4j.pax.web.pax-web-extender-war',\
bnd.identity;id='org.ops4j.pax.web.pax-web-api',\
bnd.identity;id='org.apache.aries.spifly.dynamic.bundle',\
bnd.identity;id='org.apache.felix.log',\
bnd.identity;id='org.ops4j.pax.web.pax-web-extender-whiteboard',\
bnd.identity;id='org.keycloak.keycloak-osgi-thirdparty',\
bnd.identity;id='org.keycloak.keycloak-osgi-adapter',\
bnd.identity;id='org.keycloak.keycloak-pax-web-jetty94',\
bnd.identity;id='org.jboss.logging.jboss-logging',\
bnd.identity;version='2.8.11';id='com.fasterxml.jackson.core.jackson-core',\
bnd.identity;version='2.8.11';id='com.fasterxml.jackson.core.jackson-annotations',\
bnd.identity;version='2.8.11.1';id='com.fasterxml.jackson.core.jackson-databind',\
bnd.identity;version='latest';id='com.castortech.iris.ba.keycloak.provider',\
bnd.identity;version='latest';id='com.castortech.iris.ba.webapp'

-resolve: auto

So the question is why the resolver at run time fail to resolve bundles
that it was able to resolve earlier (before adding ZK)?

Thai

On Thu, Aug 2, 2018 at 2:12 PM, Karl Pauls <[email protected]> wrote:

> can you try with felix 6.0.0?
>
> regards,
>
> Karl
>
> On Thursday, August 2, 2018, Nhut Thai Le <[email protected]>
> wrote:
>
> >  Hello,
> >
> > We are trying to integrate Keycloak admin-client and zk into our web app
> > running on felix 5.6.10 using bndtool.
> >
> > If we use our web app with Keycloak admin-client alone, it's fine.
> >
> > If we use our web app with zk alone, it's also fine.
> >
> > When adding both Keycloak admin-client and zk, we are not able to start
> the
> > container from bndrun. Looks like the framework resolver get stuck in
> > resolving dependencies. Here is the stack of the main thread:
> > Thread [main] (Suspended)
> > waiting for: AtomicInteger  (id=29)
> > Object.wait(long) line: not available [native method]
> > AtomicInteger(Object).wait() line: 502
> > ResolverImpl$EnhancedExecutor.await() line: 2523
> > ResolverImpl.calculatePackageSpaces(ResolveSession, Candidates,
> > Collection<Resource>) line: 1217
> > ResolverImpl.checkConsistency(ResolveSession, Candidates,
> > Map<Resource,ResolutionError>) line: 572
> > ResolverImpl.findValidCandidates(ResolveSession,
> > Map<Resource,ResolutionError>) line: 532
> > ResolverImpl.doResolve(ResolveSession) line: 395
> > ResolverImpl.resolve(ResolveContext, Executor) line: 377
> > ResolverImpl.resolve(ResolveContext) line: 331
> > StatefulResolver.resolve(Set<BundleRevision>, Set<BundleRevision>) line:
> > 478
> > Felix.resolveBundles(Collection<Bundle>) line: 4108
> > FrameworkWiringImpl.resolveBundles(Collection<Bundle>) line: 133
> > PackageAdminImpl.resolveBundles(Bundle[]) line: 267
> > Launcher.startBundles(List<Bundle>) line: 489
> > Launcher.activate() line: 423
> > Launcher.run(String[]) line: 301
> > Launcher.main(String[]) line: 147
> >
> > A small note here is that Keycloak admin-client uses resteasy which is
> not
> > an osgi bundle so I wrap both admin-client, resteasy and its dependencies
> > in an osgi bundle and enabling service loader mediator header so that the
> > service files provided in the resteasy dependencies can be loaded.
> >
> > For debugging I downloaded the source of org.apache.felix.framework but
> it
> > has no resolver/RersolverImpl class
> >
> > I'm not sure what to do to debug this.
> >
> > Thai
> >
>
>
> --
> Karl Pauls
> [email protected]
>



-- 
Castor Technologies Inc
460 rue St-Catherine St Ouest, Suite 613
Montréal, Québec H3B-1A7
(514) 360-7208 o
(514) 798-2044 f
[email protected]
www.castortech.com

CONFIDENTIALITY NOTICE: The information contained in this e-mail is
confidential and may be proprietary information intended only for the use
of the individual or entity to whom it is addressed. If the reader of this
message is not the intended recipient, you are hereby notified that any
viewing, dissemination, distribution, disclosure, copy or use of the
information contained in this e-mail message is strictly prohibited. If you
have received and/or are viewing this e-mail in error, please immediately
notify the sender by reply e-mail, and delete it from your system without
reading, forwarding, copying or saving in any manner. Thank you.
AVIS DE CONFIDENTIALITE: L’information contenue dans ce message est
confidentiel, peut être protégé par le secret professionnel et est réservé
à l'usage exclusif du destinataire. Toute autre personne est par les
présentes avisée qu'il lui est strictement interdit de diffuser, distribuer
ou reproduire ce message. Si vous avez reçu cette communication par erreur,
veuillez la détruire immédiatement et en aviser l'expéditeur. Merci.

Reply via email to