6 Replies Latest reply on Dec 13, 2011 5:47 AM by lenn.angel

    Arquillian + JBoss EAP 5.1.0 vs 5.1.1

    robbert1

      I'm having a problem trying to get Arquillian (and cargo) working on a clean EAP 5.1.1.

      However we've been running Arquillian succesful for a couple of months now on EAP 5.1.0.

       

      Just to confirm I've already tested against two completely clean installs of EAP 5.1.0 and EAP 5.1.1.

      5.1.0 keeps running fine while 5.1.1 keeps giving problems.

       

      The problem seems to be related to authorization as i'm getting the following error:

      org.jboss.arquillian.spi.client.container.LifecycleException: Could not connect to container

      at org.jboss.arquillian.container.jbossas.remote_5_1.JBossASRemoteContainer.start(JBossASRemoteContainer.java:83)

      Caused by: java.lang.SecurityException: Authentication exception, principal=null

      at org.jboss.aspects.security.AuthenticationInterceptor.authenticate(AuthenticationInterceptor.java:142) at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:69) at org.jboss.profileservice.remoting.SecurityContainer.invoke(SecurityContainer.java:75)

       

      From previous experience trying to get arquillian to work, I figure this could be related to my maven dependencies having the wrong version of some jar but I don't have any hints as to where to start.

       

      After some research of the exception I made a small changed "profileservice-jboss-beans.xml" to disable the security for the ProfileService.

      where it says "<!-- comment this list to disable auth checks for the profileservice -->" I commented out the content of that List.

       

      This seemed to get me one step further allowing both arquillian (and cargo) to actually get JBoss to create the ear file I wanted to test.

      However the content of the file remains zero bytes as now it fails to stream the actual content to/from arquillian with the following exception.

       

      org.jboss.arquillian.spi.client.container.DeploymentException: Failed to deploy test.ear

          at org.jboss.arquillian.container.jbossas.remote_5_1.JBossASRemoteContainer.deploy(JBossASRemoteContainer.java:169)

      Caused by: java.io.IOException: Can not get connection to server. Problem establishing socket connection for InvokerLocator [socket://mymachine:29873/]

          at org.jboss.remoting.stream.StreamHandler.read(StreamHandler.java:386)

          at org.jboss.system.server.profileservice.repository.BasicDeploymentRepository.addDeploymentContent(BasicDeploymentRepository.java:193)

          at org.jboss.profileservice.management.upload.remoting.AbstractDeployHandler.handleStream(AbstractDeployHandler.java:288)

       

      For unittesting using arquillian in maven we use the following profile:



      <profile>



      <id>unittest</id>



      <dependencies>




      <dependency>





      <groupId>org.jboss.arquillian.container</groupId>





      <artifactId>arquillian-jbossas-remote-5.1</artifactId>





      <version>1.0.0.Alpha5</version>




      </dependency>




      <dependency>





      <groupId>org.jboss.jbossas</groupId>





      <artifactId>jboss-as-client</artifactId>





      <version>5.1.0.GA</version>





      <type>pom</type>





      <scope>test</scope>




      </dependency>




      <dependency>





      <groupId>org.jboss.man</groupId>





      <artifactId>jboss-managed</artifactId>





      <version>2.1.1.SP2</version>





      <scope>test</scope>




      </dependency>




      <dependency>





      <groupId>dummygroup</groupId>





      <artifactId>jboss-as-profileservice-client</artifactId>





      <version>5.1.1</version>





      <scope>test</scope>




      </dependency>



      </dependencies>


      </profile>

       

      where the dummygroup/jboss-as-profileservice-client dependency is just jboss-as-profileservice-client.jar as taken from the EAP 5.1.1 client directory.

       

      I've also included our arquillian.xml file used. Note that it points to "jbosstestserver" which is an entry in my hosts file to 127.0.0.1.

      However the error message "socket://mymachine:29873/" refers to the actual name of the machine, while jboss runs on localhost.

      Manually binding mymachine to 127.0.0.1 as well in the hosts file makes no difference in the error.

      Note that I'm refering to the maven cargo plugin as well because it is having the exact same problems.

       

      All of this however runs fine on EAP 5.1.0, making me think it might be more related to security/dependency problems then thte hostname lookup. My test environments are Win7 32bit (Real) and Win Server 2008 64bit (Virtual VMware) testing without the native stack for now.