8 Replies Latest reply on Jul 30, 2012 10:55 AM by christian.beikov

    Problems with Arquillian on Websphere

    christian.beikov

      Hello there!

       

      Previously I used a ShrinkWrap packaged WAR to execute my Tests, but as my company asked me for something like a System Test I had to use our final EAR as application for test execution.

      Currently I am trying to use a prepackaged EAR file as base for a test but I ran into a problem with the deployment on WebSphere.

       

      My Test looks like this:

       

       

      @RunWith(Arquillian.class)

      public class SobWorkflowServiceImplTest {

       

          @Inject

          private SobWorkflowService sobWorkflowService;

       

          @Deployment

          public static Archive<?> createDeployment() {

              EnterpriseArchive ar = ShrinkWrap.createFromZipFile(EnterpriseArchive.class, new File("C:\\CleverCureEAR.ear"));

             

              Testable.archiveToTest(ar.getAsType(WebArchive.class, "CC_CleverCureWeb.war"));

              return ar;

          }

         

          /**

           * Test method for {@link com.clevercure.sob.service.impl.SobWorkflowServiceImpl#getWorkflowStepsBySwId(int)}.

           */

          @Test

          public void testGetWorkflowStepsBySwId() throws Exception{

              List<? extends WorkflowStep> steps = sobWorkflowService.getWorkflowStepsBySwId(0);

              assertTrue(steps.isEmpty());

          }

       

      I use Arquillian 1.0.2.Final-SNAPSHOT and adapted the WebSphere 8 Remote Adapter to work with the new version. Basically I just removed the method public ContainerProfile getContainerProfile() from the class WebSphereRemoteContainerConfiguration.

      I don't know if I forgot something to adapt, but I get the following Exception when I try to validate the EAR file with the AppDeploymentController:

       

      org.jboss.arquillian.container.spi.client.container.DeploymentException: Could not deploy application

          at org.jboss.arquillian.container.was.remote_8.WebSphereRemoteContainer.deploy(WebSphereRemoteContainer.java:312)

          at org.jboss.arquillian.container.impl.client.container.ContainerDeployController$3.call(ContainerDeployController.java:161)

          at org.jboss.arquillian.container.impl.client.container.ContainerDeployController$3.call(ContainerDeployController.java:128)

          at org.jboss.arquillian.container.impl.client.container.ContainerDeployController.executeOperation(ContainerDeployController.java:271)

          at org.jboss.arquillian.container.impl.client.container.ContainerDeployController.deploy(ContainerDeployController.java:127)

          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)

          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)

          at java.lang.reflect.Method.invoke(Method.java:611)

          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.impl.client.container.DeploymentExceptionHandler.verifyExpectedExceptionDuringDeploy(DeploymentExceptionHandler.java:50)

          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)

          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)

          at java.lang.reflect.Method.invoke(Method.java:611)

          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.container.impl.client.ContainerDeploymentContextHandler.createDeploymentContext(ContainerDeploymentContextHandler.java:78)

          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)

          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)

          at java.lang.reflect.Method.invoke(Method.java:611)

          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.container.impl.client.ContainerDeploymentContextHandler.createContainerContext(ContainerDeploymentContextHandler.java:57)

          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)

          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)

          at java.lang.reflect.Method.invoke(Method.java:611)

          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:135)

          at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:115)

          at org.jboss.arquillian.core.impl.EventImpl.fire(EventImpl.java:67)

          at org.jboss.arquillian.container.impl.client.container.ContainerDeployController$1.perform(ContainerDeployController.java:95)

          at org.jboss.arquillian.container.impl.client.container.ContainerDeployController$1.perform(ContainerDeployController.java:80)

          at org.jboss.arquillian.container.impl.client.container.ContainerDeployController.forEachDeployment(ContainerDeployController.java:263)

          at org.jboss.arquillian.container.impl.client.container.ContainerDeployController.forEachManagedDeployment(ContainerDeployController.java:239)

          at org.jboss.arquillian.container.impl.client.container.ContainerDeployController.deployManaged(ContainerDeployController.java:79)

          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)

          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)

          at java.lang.reflect.Method.invoke(Method.java:611)

          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:135)

          at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:115)

          at org.jboss.arquillian.core.impl.EventImpl.fire(EventImpl.java:67)

          at org.jboss.arquillian.container.test.impl.client.ContainerEventController.execute(ContainerEventController.java:101)

          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)

          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)

          at java.lang.reflect.Method.invoke(Method.java:611)

          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.test.impl.TestContextHandler.createClassContext(TestContextHandler.java:75)

          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)

          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)

          at java.lang.reflect.Method.invoke(Method.java:611)

          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:60)

          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)

          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)

          at java.lang.reflect.Method.invoke(Method.java:611)

          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:135)

          at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:115)

          at org.jboss.arquillian.test.impl.EventTestRunnerAdaptor.beforeClass(EventTestRunnerAdaptor.java:80)

          at org.jboss.arquillian.junit.Arquillian$2.evaluate(Arquillian.java:182)

          at org.jboss.arquillian.junit.Arquillian.multiExecute(Arquillian.java:314)

          at org.jboss.arquillian.junit.Arquillian.access$100(Arquillian.java:46)

          at org.jboss.arquillian.junit.Arquillian$3.evaluate(Arquillian.java:199)

          at org.junit.runners.ParentRunner.run(ParentRunner.java:236)

          at org.jboss.arquillian.junit.Arquillian.run(Arquillian.java:147)

          at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:49)

          at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)

          at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)

          at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)

          at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)

          at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

      Caused by: com.ibm.websphere.management.application.client.AppDeploymentException: ADMA0092E: Es ist eine unerwartete Ausnahme beim Vorbereiten der Task WebServicesClientBindPortInfo eingetreten. Ausnahme: java.lang.ExceptionInInitializerError [Root exception is java.lang.ExceptionInInitializerError]

          at com.ibm.websphere.management.application.client.AppDeploymentController.getNthTask(AppDeploymentController.java:817)

          at com.ibm.websphere.management.application.client.AppDeploymentController.validate(AppDeploymentController.java:1102)

          at org.jboss.arquillian.container.was.remote_8.WebSphereRemoteContainer.deploy(WebSphereRemoteContainer.java:224)

          ... 87 more

      Caused by: java.lang.ExceptionInInitializerError

          at java.lang.J9VMInternals.initialize(J9VMInternals.java:255)

          at com.ibm.ws.webservices.deploy.DeployUtils.<clinit>(DeployUtils.java:216)

          at java.lang.J9VMInternals.initializeImpl(Native Method)

          at java.lang.J9VMInternals.initialize(J9VMInternals.java:233)

          at com.ibm.ws.webservices.deploy.WSBindingsFileAccessor.getClientBinding(WSBindingsFileAccessor.java:454)

          at com.ibm.ws.webservices.deploy.ClientBindPortInfoTaskHelper.prepareTask(ClientBindPortInfoTaskHelper.java:129)

          at com.ibm.websphere.management.application.client.AppDeploymentController.prepareTask(AppDeploymentController.java:828)

          at com.ibm.websphere.management.application.client.AppDeploymentController.getNthTask(AppDeploymentController.java:808)

          ... 89 more

      Caused by: org.apache.commons.logging.LogConfigurationException: org.apache.commons.logging.LogConfigurationException: java.lang.UnsupportedOperationException: Operation [getContextClassLoader] is not supported in jcl-over-slf4j. See also http://www.slf4j.org/codes.html#unsupported_operation_in_jcl_over_slf4j (Caused by java.lang.UnsupportedOperationException: Operation [getContextClassLoader] is not supported in jcl-over-slf4j. See also http://www.slf4j.org/codes.html#unsupported_operation_in_jcl_over_slf4j) (Caused by org.apache.commons.logging.LogConfigurationException: java.lang.UnsupportedOperationException: Operation [getContextClassLoader] is not supported in jcl-over-slf4j. See also http://www.slf4j.org/codes.html#unsupported_operation_in_jcl_over_slf4j (Caused by java.lang.UnsupportedOperationException: Operation [getContextClassLoader] is not supported in jcl-over-slf4j. See also http://www.slf4j.org/codes.html#unsupported_operation_in_jcl_over_slf4j))

          at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:532)

          at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:272)

          at com.ibm.ws.webservices.engine.components.logger.LogFactory$1.run(LogFactory.java:119)

          at com.ibm.ws.security.util.AccessController.doPrivileged(AccessController.java:118)

          at com.ibm.ws.webservices.engine.components.logger.LogFactory.getLog(LogFactory.java:111)

          at com.ibm.ws.webservices.custom.CustomPropertyProviderImpl.<init>(CustomPropertyProviderImpl.java:46)

          at com.ibm.ws.webservices.custom.CustomPropertyProviderFactory.<clinit>(CustomPropertyProviderFactory.java:29)

          at java.lang.J9VMInternals.initializeImpl(Native Method)

          at java.lang.J9VMInternals.initialize(J9VMInternals.java:233)

          ... 96 more

      Caused by: org.apache.commons.logging.LogConfigurationException: java.lang.UnsupportedOperationException: Operation [getContextClassLoader] is not supported in jcl-over-slf4j. See also http://www.slf4j.org/codes.html#unsupported_operation_in_jcl_over_slf4j (Caused by java.lang.UnsupportedOperationException: Operation [getContextClassLoader] is not supported in jcl-over-slf4j. See also http://www.slf4j.org/codes.html#unsupported_operation_in_jcl_over_slf4j)

          at org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:416)

          at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:525)

          ... 104 more

      Caused by: java.lang.UnsupportedOperationException: Operation [getContextClassLoader] is not supported in jcl-over-slf4j. See also http://www.slf4j.org/codes.html#unsupported_operation_in_jcl_over_slf4j

          at org.apache.commons.logging.LogFactory.getContextClassLoader(LogFactory.java:366)

          at org.apache.commons.logging.impl.LogFactoryImpl.access$000(LogFactoryImpl.java:113)

          at org.apache.commons.logging.impl.LogFactoryImpl$1.run(LogFactoryImpl.java:457)

          at java.security.AccessController.doPrivileged(AccessController.java:203)

          at org.apache.commons.logging.impl.LogFactoryImpl.loadClass(LogFactoryImpl.java:454)

          at org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:406)

          ... 105 more

       

      Any suggestions on where the error might be? The plain EAR file is deployable via Admin Console of WAS.

      I am using Websphere 8.0.0.3

        • 1. Re: Problems with Arquillian on Websphere
          gpoul

          Looks like the EAR requires a WebServicesClientBindPortInfo on deployment that the current adapter doesn't provide. Can you try to remove the web service client parts from the EAR you're deploying and see whether that changes anything?

          • 2. Re: Problems with Arquillian on Websphere
            christian.beikov

            Thanks you, excluding them with the awesome Shrinkwrap Api did the job, unfortunatelly I had to exclude even more projects since some depend on the web service clients.

            Any suggestions on how to adapt the adapter to make it work or is that feature maybe already in progress?

            • 3. Re: Problems with Arquillian on Websphere
              gpoul

              The thing is that we currently don't provide additional deployment information other than default host bindings. In your case it seems that there is not enough information to deploy the EAR. During validation the com.ibm.websphere.management.application.client.AppDeploymentController.validate() throws the following error: com.ibm.websphere.management.application.client.AppDeploymentException: ADMA0092E: Es ist eine unerwartete Ausnahme beim Vorbereiten der Task WebServicesClientBindPortInfo eingetreten. Ausnahme: java.lang.ExceptionInInitializerError [Root exception is java.lang.ExceptionInInitializerError]

               

              This ADMA0092E shouldn't happen. Given you're on V8.0.0.3 I'd recommend to open a PMR.

               

              What you can do in any case is to provide the WebServicesClientBindPortInfo and see whether that lets you pass the validation. If this info is required for deployment I'm not sure how to provide that; I think it should be possible for the deployment process to extract the default info from the EAR. Otherwise I don't have any good ideas yet on how to expose that to the deployer that tries to test the code.

              • 4. Re: Problems with Arquillian on Websphere
                christian.beikov

                The plain EAR is deployable via Admin Console, I havent tried if it is possible to deploy it with the server adapter.

                What is the exact reason for this error then? I mean, Arquillian just adds classes and libs, doesn't it? How can that be, that the EAR is not deployable then?

                • 5. Re: Problems with Arquillian on Websphere
                  gpoul

                  Do you have any indication that this is related to the arquillian war we're adding? Given it doesn't have any web services and the problem was "resolved" when you removed the web services portions from your EAR, my assumption was that this would also happen with the unmodified EAR.

                   

                  The adminconsole is not really comparable. Our deployment process is much more similar to what's performed by wsadmin AdminApp.install() rather than what adminconsole does. Still, if you need no additional parameters in adminconsole I would expect the same results, which we don't see. (if you can't click finish in adminconsole immediately, but need to fill out some data, that's expected to break)

                   

                  So if you want to get a better grasp for why that error might be thrown you can try to reproduce this by experimenting with different AdminApp.install() parameters and see if it fails, or you might also have some luck by debugging the API similar to the following code:

                   

                           Hashtable<Object, Object> prefs = new Hashtable<Object, Object>();

                   

                           prefs.put(AppConstants.APPDEPL_LOCALE, Locale.getDefault());

                   

                   

                           Properties props = new Properties();

                           prefs.put (AppConstants.APPDEPL_DFLTBNDG, props);

                           props.put (AppConstants.APPDEPL_DFLTBNDG_VHOST, "default_host");

                   

                   

                           AppDeploymentController controller = AppDeploymentController

                                  .readArchive(yourEarPath, prefs);

                   

                            // This is expected to fail!

                           String[] validationResult = controller.validate();

                   

                  If that works, please look into your mvn dependencies whether you have commons-logging in there.

                   

                  If that all doesn't help us get any new hints on what might be wrong, I'd ask you to open a JIRA and provide a repeatable test case on github that I can run to repro the problem.

                  • 6. Re: Problems with Arquillian on Websphere
                    christian.beikov

                    Thanks for the tip, I will try that later, maybe I can get it working somehow with the web service clients.

                    Anyway, I ran into a new problem :|

                    Now I get a strange exception, I tracked it down and the exception is thrown in org.jboss.arquillian.protocol.servlet.ServletMethodExecutor at line 214(ObjectInputStream ois = new ObjectInputStream(httpConnection.getInputStream());)

                     

                    I am using 1.0.2.Final-SNAPSHOT. Any hints?

                     

                    The stacktrace:

                    java.lang.IllegalStateException: Error launching test com.clevercure.sob.service.impl.SobWorkflowServiceImplTest public void com.clevercure.sob.service.impl.SobWorkflowServiceImplTest.testGetWorkflowStepsBySwId() throws java.lang.Exception

                        at org.jboss.arquillian.protocol.servlet.ServletMethodExecutor.invoke(ServletMethodExecutor.java:126)

                        at org.jboss.arquillian.container.test.impl.execution.RemoteTestExecuter.execute(RemoteTestExecuter.java:120)

                        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

                        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)

                        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)

                        at java.lang.reflect.Method.invoke(Method.java:611)

                        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:135)

                        at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:115)

                        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:60)

                        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)

                        at java.lang.reflect.Method.invoke(Method.java:611)

                        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:60)

                        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)

                        at java.lang.reflect.Method.invoke(Method.java:611)

                        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:89)

                        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

                        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)

                        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)

                        at java.lang.reflect.Method.invoke(Method.java:611)

                        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:75)

                        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

                        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)

                        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)

                        at java.lang.reflect.Method.invoke(Method.java:611)

                        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:60)

                        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

                        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)

                        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)

                        at java.lang.reflect.Method.invoke(Method.java:611)

                        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:135)

                        at org.jboss.arquillian.test.impl.EventTestRunnerAdaptor.test(EventTestRunnerAdaptor.java:111)

                        at org.jboss.arquillian.junit.Arquillian$6.evaluate(Arquillian.java:263)

                        at org.jboss.arquillian.junit.Arquillian$4.evaluate(Arquillian.java:226)

                        at org.jboss.arquillian.junit.Arquillian.multiExecute(Arquillian.java:314)

                        at org.jboss.arquillian.junit.Arquillian.access$100(Arquillian.java:46)

                        at org.jboss.arquillian.junit.Arquillian$5.evaluate(Arquillian.java:240)

                        at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)

                        at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)

                        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)

                        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)

                        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)

                        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)

                        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)

                        at org.jboss.arquillian.junit.Arquillian$2.evaluate(Arquillian.java:185)

                        at org.jboss.arquillian.junit.Arquillian.multiExecute(Arquillian.java:314)

                        at org.jboss.arquillian.junit.Arquillian.access$100(Arquillian.java:46)

                        at org.jboss.arquillian.junit.Arquillian$3.evaluate(Arquillian.java:199)

                        at org.junit.runners.ParentRunner.run(ParentRunner.java:236)

                        at org.jboss.arquillian.junit.Arquillian.run(Arquillian.java:147)

                        at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:49)

                        at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)

                        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)

                        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)

                        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)

                        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

                    Caused by: java.io.StreamCorruptedException: invalid stream header: 3C21444F

                        at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:797)

                        at java.io.ObjectInputStream.<init>(ObjectInputStream.java:294)

                        at org.jboss.arquillian.protocol.servlet.ServletMethodExecutor.execute(ServletMethodExecutor.java:214)

                        at org.jboss.arquillian.protocol.servlet.ServletMethodExecutor.executeWithRetry(ServletMethodExecutor.java:144)

                        at org.jboss.arquillian.protocol.servlet.ServletMethodExecutor.invoke(ServletMethodExecutor.java:122)

                        ... 74 more

                    • 7. Re: Problems with Arquillian on Websphere
                      gpoul

                      not really... is there anything in the server logs or in the logs written by the adapter?

                      • 8. Re: Problems with Arquillian on Websphere
                        christian.beikov

                        Thanks for you help, the stream corrupted stuff was related to a wrong configuration. A servlet filter tried to redirect a request and the MethodExecuter expected a vaild result.

                        Now everything works fine, as long as I exclude the webservice clients.