[JBoss JIRA] (ARQ-1456) Unable to authenticate to Tomcat 7 - illegal characters in header
by Martin Gencur (JIRA)
Martin Gencur created ARQ-1456:
----------------------------------
Summary: Unable to authenticate to Tomcat 7 - illegal characters in header
Key: ARQ-1456
URL: https://issues.jboss.org/browse/ARQ-1456
Project: Arquillian
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: Tomcat Containers
Affects Versions: tomcat_1.0.0.CR5
Reporter: Martin Gencur
I'm constantly getting the following exception when starting a managed Tomcat container (Tomcat 7):
{code}
java.lang.IllegalArgumentException: Illegal character(s) in message header value: Basic YWRtaW46YWRtaW4=
at sun.net.www.protocol.http.HttpURLConnection.checkMessageHeader(HttpURLConnection.java:482)
at sun.net.www.protocol.http.HttpURLConnection.isExternalMessageHeaderAllowed(HttpURLConnection.java:434)
at sun.net.www.protocol.http.HttpURLConnection.setRequestProperty(HttpURLConnection.java:2752)
at org.jboss.arquillian.container.tomcat.CommonTomcatManager.execute(CommonTomcatManager.java:214)
at org.jboss.arquillian.container.tomcat.CommonTomcatManager.list(CommonTomcatManager.java:116)
at org.jboss.arquillian.container.tomcat.CommonTomcatManager.isRunning(CommonTomcatManager.java:123)
at org.jboss.arquillian.container.tomcat.managed_7.TomcatManagedContainer.start(TomcatManagedContainer.java:85)
at org.jboss.arquillian.container.impl.ContainerImpl.start(ContainerImpl.java:199)
at org.jboss.arquillian.container.impl.client.container.ContainerLifecycleController$8.perform(ContainerLifecycleController.java:163)
at org.jboss.arquillian.container.impl.client.container.ContainerLifecycleController$8.perform(ContainerLifecycleController.java:157)
at org.jboss.arquillian.container.impl.client.container.ContainerLifecycleController.forContainer(ContainerLifecycleController.java:255)
at org.jboss.arquillian.container.impl.client.container.ContainerLifecycleController.startContainer(ContainerLifecycleController.java:156)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
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.ContainerDeploymentContextHandler.createContainerContext(ContainerDeploymentContextHandler.java:57)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
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.ContainerLifecycleController$2.perform(ContainerLifecycleController.java:77)
at org.jboss.arquillian.container.impl.client.container.ContainerLifecycleController$2.perform(ContainerLifecycleController.java:70)
at org.jboss.arquillian.container.impl.client.container.ContainerLifecycleController.forEachSuiteContainer(ContainerLifecycleController.java:221)
at org.jboss.arquillian.container.impl.client.container.ContainerLifecycleController.startSuiteContainers(ContainerLifecycleController.java:69)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
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:86)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
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.createSuiteContext(TestContextHandler.java:60)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
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.beforeSuite(EventTestRunnerAdaptor.java:68)
at org.jboss.arquillian.junit.Arquillian.run(Arquillian.java:97)
at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:236)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:134)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:113)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189)
at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165)
at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85)
at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:103)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:74)
{code}
The configuration of the container in arquillian.xml looks like this:
{code}
<container qualifier="server1" default="true">
<configuration>
<!--<property name="unpackArchive">true</property>-->
<property name="jmxPort">8089</property>
<property name="bindHttpPort">8080</property>
<property name="catalinaHome">${tomcat.home}</property>
<property name="user">admin</property>
<property name="pass">admin</property>
</configuration>
</container>
{code}
and I indeed configured the right credentials in tomcat-users.xml:
{code}
<tomcat-users>
<role rolename="manager-script"/>
<user username="admin" password="admin" roles="manager-script"/>
</tomcat-users>
{code}
It does not matter which username or password I use as long as they're the same in arquillian.xml and tomcat-users.xml
I found a similar problem and possible solution at https://forums.oracle.com/thread/2200463?start=0&tstart=0
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 1 month
[JBoss JIRA] (ARQGRA-224) Page Fragments implementing WebElement delegate interface invocations to Root
by Lukáš Fryč (JIRA)
[ https://issues.jboss.org/browse/ARQGRA-224?page=com.atlassian.jira.plugin... ]
Lukáš Fryč updated ARQGRA-224:
------------------------------
Status: Resolved (was: Pull Request Sent)
Resolution: Done
> Page Fragments implementing WebElement delegate interface invocations to Root
> -----------------------------------------------------------------------------
>
> Key: ARQGRA-224
> URL: https://issues.jboss.org/browse/ARQGRA-224
> Project: Arquillian Graphene
> Issue Type: Feature Request
> Reporter: Lukáš Fryč
> Assignee: Juraj Húska
> Priority: Minor
> Fix For: 2.0.0.Alpha5
>
> Original Estimate: 1 hour
> Remaining Estimate: 1 hour
>
> {code:java}
> public abstract static class InputWithPlaceholder implements WebElement {
>
> @Root
> private WebElement input;
>
> public String getText() {
> return input.getAttribute("value");
> }
>
> public Color getTextColor() {
> return ColorUtils.convertToAWTColor(input.getCssValue("color"));
> }
>
> public String getStyleClass() {
> return input.getAttribute("class");
> }
> }
> {code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 1 month
[JBoss JIRA] (ARQGRA-326) Support for full initialization of outer class instance of a page fragment declared as inner class
by Juraj Húska (JIRA)
[ https://issues.jboss.org/browse/ARQGRA-326?page=com.atlassian.jira.plugin... ]
Juraj Húska commented on ARQGRA-326:
------------------------------------
As there is a workaround, which does not make code more ugly, I have no urgent need to fix it. I would leave it till it is needed.
> Support for full initialization of outer class instance of a page fragment declared as inner class
> --------------------------------------------------------------------------------------------------
>
> Key: ARQGRA-326
> URL: https://issues.jboss.org/browse/ARQGRA-326
> Project: Arquillian Graphene
> Issue Type: Feature Request
> Components: core
> Affects Versions: 2.0.0.Alpha4
> Reporter: Juraj Húska
> Priority: Minor
>
> If a Page Fragment is declared as inner class, then it can not access the fields of its outer class, as their are not inicialized by Graphene Enrichers, thus are {{null}}.
> The possible ugly workaround for such initialization can be:
> {code}
> if (pageFragment.getClass().getEnclosingClass() != null) {
> Field field = pageFragment.getClass().getDeclaredField("this$0");
> field.setAccessible(true);
> Object outer = field.get(pageFragment);
> enrichRecursively(root, outer);
> }
> {code}
> It should be placed in some utility class, so it can be easily unit tested.
> There is one drawback of this method and that is, the outer class can not contain injection point for the inner class, otherwise it will cycle. The inner class can be obtained only dynamically via {{Graphene.createPageFragment}}.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 1 month
[JBoss JIRA] (ARQGRA-326) Support for full initialization of outer class instance of a page fragment declared as inner class
by Lukáš Fryč (JIRA)
[ https://issues.jboss.org/browse/ARQGRA-326?page=com.atlassian.jira.plugin... ]
Lukáš Fryč commented on ARQGRA-326:
-----------------------------------
Hey Juraj, do you have any requirements for fix deadline?
> Support for full initialization of outer class instance of a page fragment declared as inner class
> --------------------------------------------------------------------------------------------------
>
> Key: ARQGRA-326
> URL: https://issues.jboss.org/browse/ARQGRA-326
> Project: Arquillian Graphene
> Issue Type: Feature Request
> Components: core
> Affects Versions: 2.0.0.Alpha4
> Reporter: Juraj Húska
> Priority: Minor
>
> If a Page Fragment is declared as inner class, then it can not access the fields of its outer class, as their are not inicialized by Graphene Enrichers, thus are {{null}}.
> The possible ugly workaround for such initialization can be:
> {code}
> if (pageFragment.getClass().getEnclosingClass() != null) {
> Field field = pageFragment.getClass().getDeclaredField("this$0");
> field.setAccessible(true);
> Object outer = field.get(pageFragment);
> enrichRecursively(root, outer);
> }
> {code}
> It should be placed in some utility class, so it can be easily unit tested.
> There is one drawback of this method and that is, the outer class can not contain injection point for the inner class, otherwise it will cycle. The inner class can be obtained only dynamically via {{Graphene.createPageFragment}}.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 1 month
[JBoss JIRA] (ARQGRA-326) Support for full initialization of outer class instance of a page fragment declared as inner class
by Juraj Húska (JIRA)
[ https://issues.jboss.org/browse/ARQGRA-326?page=com.atlassian.jira.plugin... ]
Juraj Húska commented on ARQGRA-326:
------------------------------------
It can be easily workarounded: do not use inner class as page fragments.
> Support for full initialization of outer class instance of a page fragment declared as inner class
> --------------------------------------------------------------------------------------------------
>
> Key: ARQGRA-326
> URL: https://issues.jboss.org/browse/ARQGRA-326
> Project: Arquillian Graphene
> Issue Type: Feature Request
> Components: core
> Affects Versions: 2.0.0.Alpha4
> Reporter: Juraj Húska
> Priority: Minor
>
> If a Page Fragment is declared as inner class, then it can not access the fields of its outer class, as their are not inicialized by Graphene Enrichers, thus are {{null}}.
> The possible ugly workaround for such initialization can be:
> {code}
> if (pageFragment.getClass().getEnclosingClass() != null) {
> Field field = pageFragment.getClass().getDeclaredField("this$0");
> field.setAccessible(true);
> Object outer = field.get(pageFragment);
> enrichRecursively(root, outer);
> }
> {code}
> It should be placed in some utility class, so it can be easily unit tested.
> There is one drawback of this method and that is, the outer class can not contain injection point for the inner class, otherwise it will cycle. The inner class can be obtained only dynamically via {{Graphene.createPageFragment}}.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 1 month
[JBoss JIRA] (ARQGRA-326) Support for full initialization of outer class instance of a page fragment declared as inner class
by Juraj Húska (JIRA)
Juraj Húska created ARQGRA-326:
----------------------------------
Summary: Support for full initialization of outer class instance of a page fragment declared as inner class
Key: ARQGRA-326
URL: https://issues.jboss.org/browse/ARQGRA-326
Project: Arquillian Graphene
Issue Type: Feature Request
Components: core
Affects Versions: 2.0.0.Alpha4
Reporter: Juraj Húska
Priority: Minor
If a Page Fragment is declared as inner class, then it can not access the fields of its outer class, as their are not inicialized by Graphene Enrichers, thus are {{null}}.
The possible ugly workaround for such initialization can be:
{code}
if (pageFragment.getClass().getEnclosingClass() != null) {
Field field = pageFragment.getClass().getDeclaredField("this$0");
field.setAccessible(true);
Object outer = field.get(pageFragment);
enrichRecursively(root, outer);
}
{code}
It should be placed in some utility class, so it can be easily unit tested.
There is one drawback of this method and that is, the outer class can not contain injection point for the inner class, otherwise it will cycle. The inner class can be obtained only dynamically via {{Graphene.createPageFragment}}.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 1 month