If you want I can export the project. It is a simple HelloWorld example.

2014-08-13 10:20 GMT+02:00 Alex Soto <[email protected]>:

> Client side logs:
>
> Aug 13, 2014 9:23:57 AM
> org.apache.tomee.arquillian.remote.RemoteTomEEContainer start
> INFO: TomEE found running on port 8080
> Aug 13, 2014 9:23:59 AM org.apache.openejb.client.EventLogger log
> INFO: RemoteInitialContextCreated{providerUri=
> http://10.0.16.165:8080/tomee/ejb}
> Aug 13, 2014 9:24:00 AM org.apache.openejb.client.EventLogger log
> INFO: RemoteInitialContextCreated{providerUri=
> http://10.0.16.165:8080/tomee/ejb}
> Aug 13, 2014 9:24:01 AM
> org.apache.openejb.arquillian.common.TomEEContainer undeploy
> INFO: cleaning /tmp/arquillian-tomee-app-working-dir/0
>
> and logs on serverside
>
> Aug 13, 2014 10:14:32 AM org.apache.openejb.util.JarExtractor extract
> INFO: Extracting jar: /tmp/arquillian-tomee-app-working-dir/0/test.ear
> Aug 13, 2014 10:14:32 AM org.apache.openejb.util.JarExtractor extract
> INFO: Extracted path: /tmp/arquillian-tomee-app-working-dir/0/test
> Aug 13, 2014 10:14:32 AM org.apache.openejb.util.JarExtractor extract
> INFO: Extracting jar:
> /tmp/arquillian-tomee-app-working-dir/0/test/arquillian-p$
> Aug 13, 2014 10:14:32 AM org.apache.openejb.util.JarExtractor extract
> INFO: Extracted path:
> /tmp/arquillian-tomee-app-working-dir/0/test/arquillian-p$
> Aug 13, 2014 10:14:32 AM org.apache.openejb.util.OptionsLog info
> INFO: Using 'openejb.deployments.classpath.filter.systemapps=false'
> Aug 13, 2014 10:14:32 AM org.apache.openejb.util.OptionsLog info
> INFO: Using
> 'openejb.default.deployment-module=org.apache.openejb.config.WebMod$
> Aug 13, 2014 10:14:32 AM org.apache.openejb.util.OptionsLog info
> INFO: Using
> 'openejb.default.deployment-module=org.apache.openejb.config.WebMod$
> Aug 13, 2014 10:14:32 AM org.apache.openejb.config.DeploymentsResolver
> processU$
> INFO: Found EjbModule in classpath:
> /tmp/arquillian-tomee-app-working-dir/0/tes$
> Aug 13, 2014 10:14:32 AM org.apache.openejb.util.OptionsLog info
> INFO: Using
> 'openejb.default.deployment-module=org.apache.openejb.config.WebMod$
> INFO: Configuring enterprise application:
> /tmp/arquillian-tomee-app-working-dir$
> Aug 13, 2014 10:14:33 AM org.apache.openejb.config.InitEjbDeployments
> deploy
> INFO: Auto-deploying ejb HelloWorldEjb:
> EjbDeployment(deployment-id=HelloWorldE$
> Aug 13, 2014 10:14:33 AM org.apache.openejb.config.AppInfoBuilder build
> INFO: Enterprise application
> "/tmp/arquillian-tomee-app-working-dir/0/test" loa$
> Aug 13, 2014 10:14:33 AM org.apache.openejb.assembler.classic.Assembler
> createA$
> INFO: Assembling app: /tmp/arquillian-tomee-app-working-dir/0/test
> Aug 13, 2014 10:14:33 AM org.apache.openejb.assembler.classic.JndiBuilder
> bind
> INFO: Jndi(name=HelloWorldEjbLocalBean) -->
> Ejb(deployment-id=HelloWorldEjb)
> Aug 13, 2014 10:14:33 AM org.apache.openejb.assembler.classic.JndiBuilder
> bind
> INFO:
> Jndi(name=global/test/372ceda5-e41c-4c2e-8748-bee452a70a02/HelloWorldEjb!$
> Aug 13, 2014 10:14:33 AM org.apache.openejb.assembler.classic.JndiBuilder
> bind
> INFO:
> Jndi(name=global/test/372ceda5-e41c-4c2e-8748-bee452a70a02/HelloWorldEjb)$
> Aug 13, 2014 10:14:33 AM org.apache.openejb.cdi.CdiBuilder initSingleton
> INFO: Existing thread singleton service in SystemInstance():
> org.apache.openejb$
> Aug 13, 2014 10:14:33 AM org.apache.openejb.cdi.OpenEJBLifecycle
> startApplicati$
> INFO: OpenWebBeans Container is starting...
> INFO: OpenWebBeans Container is starting...
> Aug 13, 2014 10:14:33 AM org.apache.webbeans.plugins.PluginLoader startUp
> INFO: Adding OpenWebBeansPlugin : [CdiPlugin]
> Aug 13, 2014 10:14:33 AM org.apache.webbeans.plugins.PluginLoader startUp
> INFO: Adding OpenWebBeansPlugin : [OpenWebBeansJsfPlugin]
> Aug 13, 2014 10:14:33 AM org.apache.webbeans.config.BeansDeployer
> validateInjec$
> INFO: All injection points were validated successfully.
> Aug 13, 2014 10:14:33 AM org.apache.openejb.cdi.OpenEJBLifecycle
> startApplicati$
> INFO: OpenWebBeans Container has started, it took 5 ms.
> Aug 13, 2014 10:14:33 AM org.apache.openejb.assembler.classic.Assembler
> startEj$
> INFO: Created Ejb(deployment-id=HelloWorldEjb, ejb-name=HelloWorldEjb,
> containe$
> Aug 13, 2014 10:14:33 AM org.apache.tomee.catalina.TomcatWebAppBuilder
> deployWe$
> INFO: using default host: localhost
> Aug 13, 2014 10:14:33 AM org.apache.tomee.catalina.TomcatWebAppBuilder init
> INFO: ------------------------- localhost -> /arquillian-protocol
> Aug 13, 2014 10:14:33 AM org.apache.openejb.cdi.CdiBuilder initSingleton
> INFO: Existing thread singleton service in SystemInstance():
> org.apache.openejb$
> Aug 13, 2014 10:14:33 AM org.apache.openejb.cdi.OpenEJBLifecycle
> startApplicati$
> INFO: OpenWebBeans Container is starting...
> INFO: Installing
> <listener>org.apache.myfaces.webapp.StartupServletContextListe$
> Aug 13, 2014 10:14:33 AM
> org.apache.myfaces.config.DefaultFacesConfigurationPro$
> INFO: Reading standard config META-INF/standard-faces-config.xml
> Aug 13, 2014 10:14:33 AM
> org.apache.myfaces.config.DefaultFacesConfigurationPro$
> INFO: Reading config :
> jar:file:/home/alsoto/Downloads/apache-tomee-plus-1.6.0.$
> Aug 13, 2014 10:14:33 AM
> org.apache.myfaces.config.DefaultFacesConfigurationPro$
> INFO: Reading config :
> jar:file:/home/alsoto/Downloads/apache-tomee-plus-1.6.0.$
> Aug 13, 2014 10:14:33 AM org.apache.myfaces.config.LogMetaInfUtils
> logArtifact
> INFO: Artifact 'myfaces-api' was found in version '2.1.13' from path
> 'file:/hom$
> Aug 13, 2014 10:14:33 AM org.apache.myfaces.config.LogMetaInfUtils
> logArtifact
> INFO: Artifact 'myfaces-impl' was found in version '2.1.13' from path
> 'file:/ho$
> Aug 13, 2014 10:14:33 AM org.apache.myfaces.application.ApplicationImpl
> getProj$
> INFO: Couldn't discover the current project stage, using Production
> Aug 13, 2014 10:14:33 AM org.apache.myfaces.config.FacesConfigurator
> handleSeri$
> INFO: Serialization provider : class
> org.apache.myfaces.shared_impl.util.serial$
> Aug 13, 2014 10:14:33 AM
> org.apache.myfaces.config.annotation.DefaultLifecycleP$
> INFO: Using LifecycleProvider
> org.apache.myfaces.config.annotation.Tomcat7Annot$
> Aug 13, 2014 10:14:33 AM
> org.apache.myfaces.webapp.AbstractFacesInitializer ini$
> INFO: ServletContext initialized.
> Aug 13, 2014 10:14:33 AM org.apache.openejb.assembler.classic.Assembler
> createA$
> INFO: Deployed
> Application(path=/tmp/arquillian-tomee-app-working-dir/0/test)
> Aug 13, 2014 10:14:34 AM org.apache.openejb.assembler.classic.Assembler
> destroy$
> INFO: Undeploying app: /tmp/arquillian-tomee-app-working-dir/0/test
>
>
> Maybe I am missing some line because I have tried to isolate the lines
> during Arquillian deployment.
>
>
>
>
>
>
> 2014-08-13 10:07 GMT+02:00 Romain Manni-Bucau <[email protected]>:
>
> no exception before in the logs either server or client side?
>>
>>
>> Romain Manni-Bucau
>> Twitter: @rmannibucau
>> Blog: http://rmannibucau.wordpress.com/
>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>> Github: https://github.com/rmannibucau
>>
>>
>> 2014-08-13 9:25 GMT+02:00 Alex Soto <[email protected]>:
>> > Hi,
>> > I didn't have the embedded dependency on maven, and also I have updated
>> the
>> > arquillian.xml with:
>> >
>> > <container qualifier="tomee" default="true">
>> >     <configuration>
>> >         <property name="host">10.0.16.165</property>
>> >         <property name="stopHost">10.0.16.165</property>
>> >         <property name="properties">
>> >         openejb.deployer.binaries.use=true
>> >         </property>
>> >     </configuration>
>> > </container>
>> >
>> > But still the same exception :(
>> >
>> >
>> > 2014-08-12 23:23 GMT+02:00 Romain Manni-Bucau <[email protected]>:
>> >
>> >> Yes and note tomee doesnt follow arquillian naming. We support remote
>> as
>> >> you explained but default behavior is just fork a jvm (most ci
>> friendly). I
>> >> recommand you to set ports to -1 in this last setup to use random
>> ports.
>> >> Le 12 août 2014 18:06, "Andy Gumbrecht" <[email protected]> a écrit :
>> >>
>> >> > Hi Alex,
>> >> >
>> >> > Have you removed the embedded dep already?
>> >> >
>> >> > You also need the openejb.deployer.binaries.use=true property I
>> think?
>> >> >
>> >> > Andy.
>> >> >
>> >> > On 12/08/2014 16:45, Alex Soto wrote:
>> >> >
>> >> >> I am developing an example of using Arquillian and TomEE but in
>> remote
>> >> >> mode, I  understand remote as in Arquillian definition, that is one
>> >> remote
>> >> >> server already started up on remote machine.
>> >> >>
>> >> >> The example works with embedded mode.
>> >> >>
>> >> >> I have added next dependencies:
>> >> >> <dependency>
>> >> >>          <groupId>org.apache.openejb</groupId>
>> >> >>          <artifactId>arquillian-tomee-remote</artifactId>
>> >> >>          <version>1.6.0.2</version>
>> >> >>          <scope>test</scope>
>> >> >> </dependency>
>> >> >>
>> >> >> And next arquillian.xml
>> >> >>
>> >> >> <?xml version="1.0"?>
>> >> >> <arquillian xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>> >> >>      xmlns="http://jboss.org/schema/arquillian";
>> >> >>      xsi:schemaLocation="http://jboss.org/schema/arquillian
>> >> >> http://www.jboss.org/schema/arquillian/arquillian_1_0.xsd";>
>> >> >>
>> >> >>      <container qualifier="tomee" default="true">
>> >> >>      <configuration>
>> >> >>          <property name="host">10.0.16.165</property>
>> >> >>          <property name="stopHost">10.0.16.165</property>
>> >> >>      </configuration>
>> >> >> </container>
>> >> >> </arquillian>
>> >> >>
>> >> >> But when I run the tests next exception is thrown:
>> >> >>
>> >> >> java.lang.IllegalStateException: Error launching test
>> >> >> com.example.HelloWorldTest public void
>> >> >> com.example.HelloWorldTest.testHelloWorld()
>> >> >> at
>> >> >> org.jboss.arquillian.protocol.servlet.ServletMethodExecutor.
>> >> >> invoke(ServletMethodExecutor.java:103)
>> >> >> at
>> >> >> org.jboss.arquillian.container.test.impl.execution.
>> >> >> RemoteTestExecuter.execute(RemoteTestExecuter.java:109)
>> >> >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> >> >> at
>> >> >> sun.reflect.NativeMethodAccessorImpl.invoke(
>> >> >> NativeMethodAccessorImpl.java:62)
>> >> >> at
>> >> >> sun.reflect.DelegatingMethodAccessorImpl.invoke(
>> >> >> DelegatingMethodAccessorImpl.java:43)
>> >> >> at java.lang.reflect.Method.invoke(Method.java:483)
>> >> >> at org.jboss.arquillian.core.impl.ObserverImpl.invoke(
>> >> >> ObserverImpl.java:94)
>> >> >> at
>> >> >> org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(
>> >> >> EventContextImpl.java:99)
>> >> >> at
>> >> >> org.jboss.arquillian.core.impl.EventContextImpl.proceed(
>> >> >> EventContextImpl.java:81)
>> >> >> at
>> org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:145)
>> >> >> at
>> org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:116)
>> >> >> at org.jboss.arquillian.core.impl.EventImpl.fire(EventImpl.java:67)
>> >> >> at
>> >> >> org.jboss.arquillian.container.test.impl.execution.
>> >> >> ClientTestExecuter.execute(ClientTestExecuter.java:57)
>> >> >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> >> >> at
>> >> >> sun.reflect.NativeMethodAccessorImpl.invoke(
>> >> >> NativeMethodAccessorImpl.java:62)
>> >> >> at
>> >> >> sun.reflect.DelegatingMethodAccessorImpl.invoke(
>> >> >> DelegatingMethodAccessorImpl.java:43)
>> >> >> at java.lang.reflect.Method.invoke(Method.java:483)
>> >> >> at org.jboss.arquillian.core.impl.ObserverImpl.invoke(
>> >> >> ObserverImpl.java:94)
>> >> >> at
>> >> >> org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(
>> >> >> EventContextImpl.java:99)
>> >> >> at
>> >> >> org.jboss.arquillian.core.impl.EventContextImpl.proceed(
>> >> >> EventContextImpl.java:81)
>> >> >> at
>> >> >>
>> >>
>> org.jboss.arquillian.container.test.impl.client.ContainerEventController.
>> >> >> createContext(ContainerEventController.java:142)
>> >> >> at
>> >> >>
>> >>
>> org.jboss.arquillian.container.test.impl.client.ContainerEventController.
>> >> >> createTestContext(ContainerEventController.java:129)
>> >> >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> >> >> at
>> >> >> sun.reflect.NativeMethodAccessorImpl.invoke(
>> >> >> NativeMethodAccessorImpl.java:62)
>> >> >> at
>> >> >> sun.reflect.DelegatingMethodAccessorImpl.invoke(
>> >> >> DelegatingMethodAccessorImpl.java:43)
>> >> >> at java.lang.reflect.Method.invoke(Method.java:483)
>> >> >> at org.jboss.arquillian.core.impl.ObserverImpl.invoke(
>> >> >> ObserverImpl.java:94)
>> >> >> at
>> >> >> org.jboss.arquillian.core.impl.EventContextImpl.proceed(
>> >> >> EventContextImpl.java:88)
>> >> >> at
>> >> >> org.jboss.arquillian.test.impl.TestContextHandler.createTestContext(
>> >> >> TestContextHandler.java:102)
>> >> >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> >> >> at
>> >> >> sun.reflect.NativeMethodAccessorImpl.invoke(
>> >> >> NativeMethodAccessorImpl.java:62)
>> >> >> at
>> >> >> sun.reflect.DelegatingMethodAccessorImpl.invoke(
>> >> >> DelegatingMethodAccessorImpl.java:43)
>> >> >> at java.lang.reflect.Method.invoke(Method.java:483)
>> >> >> at org.jboss.arquillian.core.impl.ObserverImpl.invoke(
>> >> >> ObserverImpl.java:94)
>> >> >> at
>> >> >> org.jboss.arquillian.core.impl.EventContextImpl.proceed(
>> >> >> EventContextImpl.java:88)
>> >> >> at
>> >> >>
>> org.jboss.arquillian.test.impl.TestContextHandler.createClassContext(
>> >> >> TestContextHandler.java:84)
>> >> >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> >> >> at
>> >> >> sun.reflect.NativeMethodAccessorImpl.invoke(
>> >> >> NativeMethodAccessorImpl.java:62)
>> >> >> at
>> >> >> sun.reflect.DelegatingMethodAccessorImpl.invoke(
>> >> >> DelegatingMethodAccessorImpl.java:43)
>> >> >> at java.lang.reflect.Method.invoke(Method.java:483)
>> >> >> at org.jboss.arquillian.core.impl.ObserverImpl.invoke(
>> >> >> ObserverImpl.java:94)
>> >> >> at
>> >> >> org.jboss.arquillian.core.impl.EventContextImpl.proceed(
>> >> >> EventContextImpl.java:88)
>> >> >> at
>> >> >>
>> org.jboss.arquillian.test.impl.TestContextHandler.createSuiteContext(
>> >> >> TestContextHandler.java:65)
>> >> >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> >> >> at
>> >> >> sun.reflect.NativeMethodAccessorImpl.invoke(
>> >> >> NativeMethodAccessorImpl.java:62)
>> >> >> at
>> >> >> sun.reflect.DelegatingMethodAccessorImpl.invoke(
>> >> >> DelegatingMethodAccessorImpl.java:43)
>> >> >> at java.lang.reflect.Method.invoke(Method.java:483)
>> >> >> at org.jboss.arquillian.core.impl.ObserverImpl.invoke(
>> >> >> ObserverImpl.java:94)
>> >> >> at
>> >> >> org.jboss.arquillian.core.impl.EventContextImpl.proceed(
>> >> >> EventContextImpl.java:88)
>> >> >> at
>> org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:145)
>> >> >> at
>> >> >> org.jboss.arquillian.test.impl.EventTestRunnerAdaptor.
>> >> >> test(EventTestRunnerAdaptor.java:111)
>> >> >> at
>> org.jboss.arquillian.junit.Arquillian$6.evaluate(Arquillian.java:294)
>> >> >> at
>> org.jboss.arquillian.junit.Arquillian$5.evaluate(Arquillian.java:269)
>> >> >> at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
>> >> >> at
>> >> >> org.junit.runners.BlockJUnit4ClassRunner.runChild(
>> >> >> BlockJUnit4ClassRunner.java:70)
>> >> >> at
>> >> >> org.junit.runners.BlockJUnit4ClassRunner.runChild(
>> >> >> BlockJUnit4ClassRunner.java:50)
>> >> >> at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
>> >> >> at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
>> >> >> at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
>> >> >> at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
>> >> >> at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
>> >> >> at
>> org.jboss.arquillian.junit.Arquillian$2.evaluate(Arquillian.java:193)
>> >> >> at org.jboss.arquillian.junit.Arquillian.multiExecute(
>> >> >> Arquillian.java:345)
>> >> >> at
>> org.jboss.arquillian.junit.Arquillian.access$200(Arquillian.java:49)
>> >> >> at
>> org.jboss.arquillian.junit.Arquillian$3.evaluate(Arquillian.java:207)
>> >> >> at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
>> >> >> at org.jboss.arquillian.junit.Arquillian.run(Arquillian.java:155)
>> >> >> at
>> >> >> org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(
>> >> >> JUnit4TestReference.java:50)
>> >> >> at
>> >> >> org.eclipse.jdt.internal.junit.runner.TestExecution.
>> >> >> run(TestExecution.java:38)
>> >> >> at
>> >> >> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.
>> >> >> runTests(RemoteTestRunner.java:459)
>> >> >> at
>> >> >> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.
>> >> >> runTests(RemoteTestRunner.java:675)
>> >> >> at
>> >> >> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.
>> >> >> run(RemoteTestRunner.java:382)
>> >> >> at
>> >> >> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.
>> >> >> main(RemoteTestRunner.java:192)
>> >> >> Caused by: java.lang.IllegalStateException: Error launching request
>> at
>> >> >> http://10.0.16.165:8080/test/ArquillianServletRunner?
>> >> >> outputMode=serializedObject&className=com.example.
>> >> >> HelloWorldTest&methodName=testHelloWorld.
>> >> >> No result returned
>> >> >> at
>> >> >> org.jboss.arquillian.protocol.servlet.ServletMethodExecutor.
>> >> >> executeWithRetry(ServletMethodExecutor.java:139)
>> >> >> at
>> >> >> org.jboss.arquillian.protocol.servlet.ServletMethodExecutor.
>> >> >> invoke(ServletMethodExecutor.java:99)
>> >> >> ... 72 more
>> >> >>
>> >> >>
>> >> >> It seems it is connecting correctly because for example I can read
>> in
>> >> >> tomee
>> >> >> console something like:
>> >> >>
>> >> >> INFO: Assembling app: /tmp/arquillian-tomee-app-working-dir/0/test
>> >> >> Aug 12, 2014 4:28:44 PM
>> org.apache.openejb.assembler.classic.JndiBuilder
>> >> >> bind
>> >> >> INFO: Jndi(name=HelloWorldEjbLocalBean) --> Ejb(deployment-id=
>> >> >> HelloWorldEjb)
>> >> >> Aug 12, 2014 4:28:44 PM
>> org.apache.openejb.assembler.classic.JndiBuilder
>> >> >> bind
>> >> >> INFO:
>> >> >>
>> >>
>> Jndi(name=global/test/3c71ee45-e26a-4ad5-8de3-304623c4e7fe/HelloWorldEjb!
>> >> >> com.scytl.docker.HelloWorldEjb)
>> >> >> --> Ejb(deployment-id=HelloWorldEjb)
>> >> >> Aug 12, 2014 4:28:44 PM
>> org.apache.openejb.assembler.classic.JndiBuilder
>> >> >> bind
>> >> >> INFO:
>> >> >>
>> >>
>> Jndi(name=global/test/3c71ee45-e26a-4ad5-8de3-304623c4e7fe/HelloWorldEjb)
>> >> >> --> Ejb(deployment-id=HelloWorldEjb)
>> >> >>
>> >> >> I am using Arquillian 1.1.5.
>> >> >>
>> >> >> Do you see something wrong?
>> >> >>
>> >> >> Than you so much
>> >> >>
>> >> >>
>> >> >
>> >>
>> >
>> >
>> >
>> > --
>> > +----------------------------------------------------------+
>> >   Alex Soto Bueno - Computer Engineer
>> >   www.lordofthejars.com
>> > +----------------------------------------------------------+
>>
>
>
>
> --
> +----------------------------------------------------------+
>   Alex Soto Bueno - Computer Engineer
>   www.lordofthejars.com
> +----------------------------------------------------------+
>



-- 
+----------------------------------------------------------+
  Alex Soto Bueno - Computer Engineer
  www.lordofthejars.com
+----------------------------------------------------------+

Reply via email to