1 2 3 4 Previous Next 45 Replies Latest reply on Mar 9, 2014 5:13 AM by gpoul Go to original post
      • 15. Re: Arquillian with WebSphere
        marc.walter

        I found out something new. The SOAP Port is using SSL, i.e. https.

        If I browse to https://localhost:8880 I get a SOAP response like this:

        <SOAP-ENV:Envelope>

        <SOAP-ENV:Header ns0:WASRemoteRuntimeVersion="7.0.0.11" ns0:JMXMessageVersion="1.0.0" ns0:JMXVersion="1.2.0">

        </SOAP-ENV:Header>

        <SOAP-ENV:Body>

        <SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>rO0ABXNyAB1vcmcuYXBhY2hlLnNvYXAuU09BUEV4Y2VwdGlvbh5POjjsHQpiAgACTAAJZmF1bHRDb2RldAASTGphdmEvbGFuZy9TdHJpbmc7TAAPdGFyZ2V0RXhjZXB0aW9udAAVTGphdmEvbGFuZy9UaHJvd2FibGU7eHIAE2phdmEubGFuZy5FeGNlcHRpb27Q/R8+GjscxAIAAHhyABNqYXZhLmxhbmcuVGhyb3dhYmxl1cY1Jzl3uMsDAANMAAVjYXVzZXEAfgACTAANZGV0YWlsTWVzc2FnZXEAfgABWwAKc3RhY2tUcmFjZXQAHltMamF2YS9sYW5nL1N0YWNrVHJhY2VFbGVtZW50O3hwcQB+AAZ0AIJBRE1DMDAxMUU6IERhcyBNYXJzaGFsbGluZyBkZXMgU09BUC1GZXJucHJvemVkdXJhdWZydWZzIChSUEMsIFJlbW90ZSBQcm9jZWR1cmUgQ2FsbCkgKFJQQykga2FubiBuaWNodCByw7xja2fDpG5naWcgZ2VtYWNodCB3ZXJkZW4udXIAHltMamF2YS5sYW5nLlN0YWNrVHJhY2VFbGVtZW50OwJGKjw8/SI5AgAAeHAAAAAGc3IAG2phdmEubGFuZy5TdGFja1RyYWNlRWxlbWVudGEJxZomNt2FAgAESQAKbGluZU51bWJlckwADmRlY2xhcmluZ0NsYXNzcQB+AAFMAAhmaWxlTmFtZXEAfgABTAAKbWV0aG9kTmFtZXEAfgABeHAAAAC2dAAuY29tLmlibS53cy5tYW5hZ2VtZW50LmNvbm5lY3Rvci5zb2FwLlNPQVBVdGlsc3QADlNPQVBVdGlscy5qYXZhdAAPZXh0cmFjdFNvYXBDYWxsc3EAfgAKAAAAiHQAMmNvbS5pYm0ud3MubWFuYWdlbWVudC5jb25uZWN0b3Iuc29hcC5TT0FQQ29ubmVjdG9ydAASU09BUENvbm5lY3Rvci5qYXZhdAAHc2VydmljZXNxAH4ACgAAAEF0ADNjb20uaWJtLndzLm1hbmFnZW1lbnQuY29ubmVjdG9yLnNvYXAuU09BUENvbm5lY3Rpb250ABNTT0FQQ29ubmVjdGlvbi5qYXZhdAANaGFuZGxlUmVxdWVzdHNxAH4ACgAAAt10AB5jb20uaWJtLndzLmh0dHAuSHR0cENvbm5lY3Rpb250ABNIdHRwQ29ubmVjdGlvbi5qYXZhdAAUcmVhZEFuZEhhbmRsZVJlcXVlc3RzcQB+AAoAAAIKdAAeY29tLmlibS53cy5odHRwLkh0dHBDb25uZWN0aW9udAATSHR0cENvbm5lY3Rpb24uamF2YXQAA3J1bnNxAH4ACgAABg50ACFjb20uaWJtLndzLnV0aWwuVGhyZWFkUG9vbCRXb3JrZXJ0AA9UaHJlYWRQb29sLmphdmF0AANydW54dAAZU09BUC1FTlY6U2VydmVyLkV4Y2VwdGlvbnNxAH4AAHEAfgAkdAAhQ29udGVudCBsZW5ndGggbXVzdCBiZSBzcGVjaWZpZWQudXEAfgAIAAAACHNxAH4ACgAAAIN0ACpvcmcuYXBhY2hlLnNvYXAudHJhbnNwb3J0LlRyYW5zcG9ydE1lc3NhZ2V0ABVUcmFuc3BvcnRNZXNzYWdlLmphdmF0AAY8aW5pdD5zcQB+AAoAAABrdAAib3JnLmFwYWNoZS5zb2FwLnNlcnZlci5TZXJ2ZXJVdGlsc3QAEFNlcnZlclV0aWxzLmphdmF0ABtyZWFkRW52ZWxvcGVGcm9tSW5wdXRTdHJlYW1zcQB+AAoAAABhdAAuY29tLmlibS53cy5tYW5hZ2VtZW50LmNvbm5lY3Rvci5zb2FwLlNPQVBVdGlsc3QADlNPQVBVdGlscy5qYXZhdAAPZXh0cmFjdFNvYXBDYWxsc3EAfgAKAAAAiHQAMmNvbS5pYm0ud3MubWFuYWdlbWVudC5jb25uZWN0b3Iuc29hcC5TT0FQQ29ubmVjdG9ydAASU09BUENvbm5lY3Rvci5qYXZhdAAHc2VydmljZXNxAH4ACgAAAEF0ADNjb20uaWJtLndzLm1hbmFnZW1lbnQuY29ubmVjdG9yLnNvYXAuU09BUENvbm5lY3Rpb250ABNTT0FQQ29ubmVjdGlvbi5qYXZhdAANaGFuZGxlUmVxdWVzdHNxAH4ACgAAAt10AB5jb20uaWJtLndzLmh0dHAuSHR0cENvbm5lY3Rpb250ABNIdHRwQ29ubmVjdGlvbi5qYXZhdAAUcmVhZEFuZEhhbmRsZVJlcXVlc3RzcQB+AAoAAAIKdAAeY29tLmlibS53cy5odHRwLkh0dHBDb25uZWN0aW9udAATSHR0cENvbm5lY3Rpb24uamF2YXQAA3J1bnNxAH4ACgAABg50ACFjb20uaWJtLndzLnV0aWwuVGhyZWFkUG9vbCRXb3JrZXJ0AA9UaHJlYWRQb29sLmphdmF0AANydW54dAARU09BUC1FTlY6UHJvdG9jb2xw</faultstring>

        <faultactor>/</faultactor>

        </SOAP-ENV:Fault>

        </SOAP-ENV:Body>

        </SOAP-ENV:Envelope>

         

        If I browse to http://localhost:8880 my browser downloads a file with the encrypted content I stated in my previous posting.

        So how can I configure the Arquillian testcase to use https instead of http?

        • 16. Arquillian with WebSphere
          gpoul

          Marc,

           

          if you build the container implementation using a WAS profile that has administrative security enabled you need to set the securityEnabled and some other properties in the arquillian.xml. You can find more information about these parameters at https://docs.jboss.org/author/display/ARQ/WAS+V7.0+-+Remote - I wrote up this draft yesterday.

           

          You'll definitely need those:

           

                      <property name="password">admin</property>

                      <property name="sslTrustStore">C:/IBM/WebSphere/AppServer/profiles/AppSrv01/etc/DummyClientTrustFile.jks</property>

                      <property name="sslTrustStorePassword">WebAS</property>

           

          One detail I forgot to include in the wiki doc that you will run into when using security is that you will have to use the IBM JDK. You can use the one that came with WAS in WAS_HOME/java for that.

           

          For building the source the test currently assumes a profile without security if you don't modify the arquillian.xml. It's the only safe assumption given that when you have security you'll have to configure username and password anyway. (the only other option is to NOT connect to WAS during the build tests, but that was the primary mechanism I used for testing up until now)

           

          Let me know how it goes.

           

          Gerhard

          • 17. Re: Arquillian with WebSphere
            marc.walter

            Hi Gerhard,

             

            thank you for your help! The solution was to enable security, provide username and password and declare both properties "sslTrustStore" and "sslKeyStore" in the arquillian.xml file.

             

            But now I get the error the the EJB cannot be injected because the EJB could not be found in the JNDI:

            -------------------------------------------------------------------------------

            Test set: org.jboss.arquillian.container.was.remote_7.WebsphereIntegrationClientTestCase

            -------------------------------------------------------------------------------

            Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 29.281 sec <<< FAILURE!

            shouldBeAbleToInjectEJBAsInstanceVariable(org.jboss.arquillian.container.was.remote_7.WebsphereIntegrationClientTestCase)  Time elapsed: 0.296 sec  <<< ERROR!

            java.lang.RuntimeException: Could not inject members

            Caused by: javax.naming.NamingException: No EJB found in JNDI, tried the following names: java:global/test.ear/test/MyEjbLocalBean, java:global/test.ear/test/MyEjbLocal, java:global/test/MyEjbLocal, java:global/test/MyEjbLocalBean, java:global/test/MyEjbLocal/no-interface, test/MyEjbLocalBean/local, test/MyEjbLocalBean/remote, test/MyEjbLocal/no-interface, MyEjbLocalBean/local, MyEjbLocalBean/remote, MyEjbLocal/no-interface,

                at org.jboss.arquillian.testenricher.ejb.EJBInjectionEnricher.lookupEJB(EJBInjectionEnricher.java:179)

             

            The test.ear was deployed to the installedApps directory of my server but it does not contain the Arquillian test case class and MyEjb classes. So it is quite clear that the server cannot find the EJB. Why are the test classes not included in the test.ear?

            • 18. Re: Arquillian with WebSphere
              gpoul

              Marc,

               

              the test classes should be in the EAR. From the exception I'm pretty sure you're missing my changes to arquillian-core at https://github.com/arquillian/arquillian-core/pull/1. - you can get them from my fork and re-build arquillian-core with those patches.

               

              Gerhard

              • 19. Re: Arquillian with WebSphere
                marc.walter

                Hi Gerhard,

                 

                I have to admit I'm not familiar with git. I followed Aslak's description to get the arquillian-container-was from git.

                So please can you provide the steps I have to execute in oder to get your changes to arquillian-core? Thank you very much!

                • 20. Arquillian with WebSphere
                  gpoul

                  Marc,

                   

                  the easiest will be to perform a new full checkout of my fork and build from that:

                   

                  git clone git://github.com/gpoul/arquillian-core.git

                   

                  this will create an arquillian-core directory that you can build just like the original. (e.g. "mvn clean install")

                   

                  Gerhard

                  • 21. Re: Arquillian with WebSphere
                    marc.walter

                    Okay after 40 minutes of Maven downloading stuff I managed to build the arquillian-core and arquillian-container-was. Now I have a nice arquillian-was-remote-7-1.0.0-SNAPSHOT.jar. The EJB test runs successfully now.

                     

                    Next I tried to implement the TemperatureConverter example from the Getting started Guide. Running mvn clean test -Pwas-remote-7 generated a _DEFAULT__NO-NAME_test.ear in the target directory of TemperatureConverter project. The test execution failed with a ClassNotFoundException unfortunately saying that the TemperatureConverterTest class cannot be found. But inside the generated _DEFAULT__NO-NAME_test.ear there is a test.jar and inside this JAR all compiled test classes of the TemperatureConverter test are available. I don't understand why I get a ClassNotFoundException anyway. Do you have a hint for me?

                    • 22. Arquillian with WebSphere
                      gpoul

                      very good. first question: to make it work with security, did you use the IBM JDK or were you able to make it work with the Oracle JDK?

                       

                      The TemperatureConverter example from the getting started guide uses a JavaArchive for packaging which don't work quite well on Servlet 2.5. That's a problem with the arquillian-core I also ran into. You have two options with the current code base:

                       

                      1) Build an EnterpriseArchive (one example is https://github.com/gpoul/arquillian-container-was/blob/ARQ-264/was-remote-7/src/test/java/org/jboss/arquillian/container/was/remote_7/WebsphereIntegrationClientTestCase.java )

                       

                      2) Build a WebArchive (one example is https://github.com/gpoul/arquillian-container-was/blob/ARQ-264/was-remote-7/src/test/java/org/jboss/arquillian/container/was/remote_7/WebSphereResourceInjectionTestCase.java )

                       

                      The problem is that when you have a regular class (not an EJB) it must not be packaged as a module, but rather as a library. What should work for you is something like this:

                       

                      ShrinkWrap.create(EnterpriseArchive.class, "yourtest.ear")

                                        .addAsLibrary(ShrinkWrap.create(JavaArchive.class, "yourtest.jar")

                                        .addClass(SomeTestCase.class));

                       

                      Gerhard

                      • 23. Re: Arquillian with WebSphere
                        marc.walter

                        I'm using the IBM JDK. Did not tried the Oracle JDK.

                         

                        I tried to integrate Arquillian in my own project now calling a remote interface method injected by the @EJB annotation. But I get that famous "Could not inject members" error again. I think it has something to do with construction of the EnterpriseArchive. But I used the example in the first link you gave me. So it should be correct.

                         

                        Maybe it is not possible to use remote interfaces? The MyEjb example uses a local interface injected in the Arquillian test class and it works.

                         

                        And I have another question:

                        When the tests run I get many "nulls" and "could nots" and "warnings" in the console. Is this something I should be concerned about?

                         

                        T E S T S

                        -------------------------------------------------------

                        20.04.2011 11:44:42 org.jboss.arquillian.impl.client.container.ContainerRegistryCreator getActivatedConfiguration

                        INFO: Could not read active container configuration: null

                        20.04.2011 11:44:42 null null

                        WARNING: ADMC0046W

                        20.04.2011 11:44:43 null null

                        WARNING: Could not find tmx4jTransform.jar in null/etc/tmx4jTransform.jar - Interoperability to older versions of WebSphere is disabled

                        20.04.2011 11:44:43 null null

                        INFO: ssl.disable.url.hostname.verification.CWPKI0027I

                        20.04.2011 11:44:43 null null

                        INFO: Client code attempting to load security configuration

                        20.04.2011 11:44:45 null null

                        INFO: Client code attempting to load security configuration

                        20.04.2011 11:44:50 DependencyUtil processNode

                        WARNING: merge action merge.security.Collector is not defined and is declared as a dependency of another merge action; ignoring

                        • 24. Re: Arquillian with WebSphere
                          aslak

                          try to use @EJB.mappedName to specify the JNDI name to lookup. Default it is just 'randomly' guessing.

                          • 25. Re: Arquillian with WebSphere
                            gpoul

                            Marc,

                             

                            you're correct that I only added the local interface default binding. I've now also added the remote interface default binding in https://github.com/gpoul/arquillian-core/commit/36ad3a8bdee6a3f0bd052b84f626f6366106d998

                             

                            So as long as the WebSphere default bindings work out for you, it should now work.

                             

                            Gerhard

                            • 26. Re: Arquillian with WebSphere
                              marc.walter

                              Well okay I downloaded your change and tried it. It worked. But I found out something strange...

                               

                              I have a stateless session bean A with a remote interface only and a stateless session bean B with both local an remote interfaces.

                              If there's a remote interface present only everything works fine. If I do not add the local interface class in case of B when packaging the enterprise archive with ShrinkWrap.create() I get this exception:

                               

                              java.lang.IllegalArgumentException: ArquillianServletRunner not found. Could not determine ContextRoot from ProtocolMetadata, please contact DeployableContainer developer.

                                  at org.jboss.arquillian.protocol.servlet.ServletUtil.determineBaseURI(ServletUtil.java:63)

                               

                              It took me a lot of time the figure out that I have to add the local interface as well when I would like to test the remote interface methods using the @EJB annotation though. Maybe you could provide a more significant error message in this case?

                              • 27. Arquillian with WebSphere
                                gpoul

                                Marc,

                                 

                                thanks for reporting this! the root cause for the problem is rather well explained inside the WAS logs, but I didn't check in my code whether the application could be started on the target; I only logged it as an informational message. WAS contains the following reason for why starting the EJB module failed:

                                 

                                [29.04.11 18:18:17:942 CEST] 00000014 EJBContainerI E   WSVR0040E: addEjbModule failed for test.jar [class com.ibm.ws.runtime.component.DeployedEJBModuleImpl]

                                com.ibm.ejs.container.EJBConfigurationException: CWMDF0015E: The class loader cannot load the org.jboss.arquillian.container.was.remote_7.ejb.MyEjbLocal interface on the org.jboss.arquillian.container.was.remote_7.ejb.MyEjb Enterprise JavaBeans (EJB) file..

                                 

                                I changed the implementation of was-container-7 to now throw the following exception, which should help to figure out the reason when a deployment distribution worked, but the start of the application failed:

                                 

                                Caused by: javax.jms.IllegalStateException: Start of the application was not successful. WAS JVM logs should contain the detailed error message.

                                 

                                Gerhard

                                • 28. Re: Arquillian with WebSphere
                                  chrisharris

                                  Hi, Gerhard.

                                   

                                  I've tried off and on over the past several years to get Arquillian working with WAS 8, however I haven't had any luck.

                                   

                                  I'm running IBM's RAD 9.0 and a WAS v8.0.0.7 TE that comes with RAD.  I'm running it on Ubuntu 12.04.  The IBM JDK is being used.

                                   

                                  I can't find any documentation or wiki related to WAS 8 and Arquillian except for here:

                                  http://arquillian.org/modules/arquillian-was-embedded-8-container-adapter/

                                   

                                  The dependency:

                                  <dependency>
                                   
                                  <groupId>org.jboss.arquillian.container</groupId>
                                   
                                  <artifactId>arquillian-was-embedded-8</artifactId>
                                   
                                  <version>1.0.0.Alpha2</version>
                                   
                                  <scope>test</scope>
                                  </dependency>

                                  ...cannot be found at Maven Central or JBoss's own Nexus repository.

                                   

                                  So, I forked the arquillian-container-was repo, cloned it, and modified the pom.xml files to get it the project to actually build.  I set the WAS8_HOME variable to /opt/IBM/WebSphere/AppServer.

                                   

                                  I've set up a Maven .jar project to test things (it looks like I'll need to transfer my source to a Maven .ear project?).

                                   

                                  When stepping through the tutorial, I run into this exception:

                                  java.lang.RuntimeException: Could not create new instance of class org.jboss.arquillian.test.impl.EventTestRunnerAdaptor
                                      at java.lang.ClassLoader.defineClassImpl(Native Method)
                                      at java.lang.ClassLoader.defineClass(ClassLoader.java:275)
                                      at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:74)
                                      at java.net.URLClassLoader.defineClass(URLClassLoader.java:540)
                                      at java.net.URLClassLoader.defineClass(URLClassLoader.java:451)
                                      at java.net.URLClassLoader.access$300(URLClassLoader.java:79)
                                      at java.net.URLClassLoader$ClassFinder.run(URLClassLoader.java:1038)
                                      at java.security.AccessController.doPrivileged(AccessController.java:362)
                                      at java.net.URLClassLoader.findClass(URLClassLoader.java:429)
                                      at java.lang.ClassLoader.loadClassHelper(ClassLoader.java:699)
                                      at java.lang.ClassLoader.loadClass(ClassLoader.java:678)
                                      at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:358)
                                      at java.lang.ClassLoader.loadClass(ClassLoader.java:661)
                                      at java.lang.Class.getDeclaredFieldsImpl(Native Method)
                                      at java.lang.Class.getDeclaredFields(Class.java:605)
                                      at org.jboss.arquillian.core.impl.Reflections.getFieldInjectionPoints(Reflections.java:74)
                                      at org.jboss.arquillian.core.impl.ExtensionImpl.of(ExtensionImpl.java:51)
                                      at org.jboss.arquillian.core.impl.ManagerImpl.inject(ManagerImpl.java:198)
                                      at org.jboss.arquillian.core.impl.InjectorImpl.inject(InjectorImpl.java:58)
                                      at org.jboss.arquillian.core.impl.loadable.ServiceRegistryLoader.createServiceInstance(ServiceRegistryLoader.java:108)
                                      at org.jboss.arquillian.core.impl.loadable.ServiceRegistryLoader.all(ServiceRegistryLoader.java:55)
                                      at org.jboss.arquillian.core.impl.loadable.ServiceRegistryLoader.onlyOne(ServiceRegistryLoader.java:67)
                                      at org.jboss.arquillian.container.impl.LocalContainerRegistry.create(LocalContainerRegistry.java:76)
                                      at org.jboss.arquillian.container.impl.client.container.ContainerRegistryCreator.createRegistry(ContainerRegistryCreator.java:76)
                                      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.ManagerImpl.bindAndFire(ManagerImpl.java:236)
                                      at org.jboss.arquillian.core.impl.InstanceImpl.set(InstanceImpl.java:74)
                                      at org.jboss.arquillian.config.impl.extension.ConfigurationRegistrar.loadConfiguration(ConfigurationRegistrar.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.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.ManagerImpl.start(ManagerImpl.java:261)
                                      at org.jboss.arquillian.test.impl.EventTestRunnerAdaptor.<init>(EventTestRunnerAdaptor.java:56)
                                      at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
                                      at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:56)
                                      at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:39)
                                      at java.lang.reflect.Constructor.newInstance(Constructor.java:527)
                                      at org.jboss.arquillian.test.spi.SecurityActions.newInstance(SecurityActions.java:156)
                                      at org.jboss.arquillian.test.spi.SecurityActions.newInstance(SecurityActions.java:111)
                                      at org.jboss.arquillian.test.spi.SecurityActions.newInstance(SecurityActions.java:97)
                                      at org.jboss.arquillian.test.spi.TestRunnerAdaptorBuilder.build(TestRunnerAdaptorBuilder.java:52)
                                      at org.jboss.arquillian.junit.Arquillian.run(Arquillian.java:93)
                                      at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264)
                                      at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153)
                                      at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124)

                                   

                                  Here's my dependencies within my .jar project:

                                  <dependencyManagement>

                                          <dependencies>

                                              <dependency>

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

                                                  <artifactId>arquillian-bom</artifactId>

                                                  <version>1.1.1.Final</version>

                                                  <scope>import</scope>

                                                  <type>pom</type>

                                              </dependency>

                                          </dependencies>

                                      </dependencyManagement>

                                   

                                      <dependencies>

                                          <dependency>

                                              <groupId>javax</groupId>

                                              <artifactId>javaee-api</artifactId>

                                              <version>6.0</version>

                                              <scope>provided</scope>

                                          </dependency>

                                     

                                          <dependency>

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

                                              <artifactId>arquillian-junit-container</artifactId>

                                              <scope>test</scope>

                                          </dependency>

                                     

                                          <dependency>

                                              <groupId>junit</groupId>

                                              <artifactId>junit</artifactId>

                                              <version>4.11</version>

                                              <scope>test</scope>

                                          </dependency>

                                         

                                          <dependency>

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

                                              <artifactId>arquillian-was-embedded-8</artifactId>

                                              <version>1.0.0-SNAPSHOT</version>  <!-- I changed the artifact version so the project would build -->

                                              <scope>test</scope>

                                          </dependency>

                                      </dependencies>

                                   

                                  Here's my arquillian.xml (please note the container qualifier attribute.  I'm not sure if that's incorrect):

                                  <arquillian xmlns="http://jboss.org/schema/arquillian"

                                      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

                                      xsi:schemaLocation="

                                          http://jboss.org/schema/arquillian

                                          http://jboss.org/schema/arquillian/arquillian_1_0.xsd">

                                      <container qualifier="was8-embedded" default="true">

                                          <configuration>

                                              <property name="password"><my_wasadmin_user_password></property>

                                              <property name="sslTrustStore">/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/etc/DummyClientTrustFile.jks</property>

                                              <property name="sslTrustStorePassword">WebAS</property>

                                          </configuration>

                                      </container>

                                  </arquillian>

                                   

                                  My was admin console user is named wasadmin.  I assume that I need to specify this in the properties as well?

                                   

                                  What am I doing incorrectly?

                                  • 29. Re: Arquillian with WebSphere
                                    gpoul

                                    Hi Chris,

                                     

                                    I'm sorry you're having problems with arquillian was-remote-8. The details you'll need to get it working are in our reference guide at WAS V8.0 - Remote. You're correct that when you have security enabled you will have to provide your WAS userid and password.

                                     

                                    Please work with the documentation to have the properties in your arquillian.xml correctly. I also just noticed that it might be helpful to have a sample in the reference guide. Until then please refer to our unit test arquillian.xml for a working sample: https://github.com/arquillian/arquillian-container-was/blob/master/was-remote-8/src/test/resources/arquillian.xml

                                     

                                    Please let me know whether this works out for you!

                                     

                                    Gerhard