Search code examples
javajbosswildflywildfly-8keycloak

Wildfly 8 Unexpected element '{urn:jboss:domain:web:1.1}subsystem'


I'm getting below error when I start Keycloak service:

0:09:08,028 INFO  [org.jboss.modules] (main) JBoss Modules version 1.3.3.Final
00:09:08,268 INFO  [org.jboss.msc] (main) JBoss MSC version 1.2.2.Final
00:09:08,348 INFO  [org.jboss.as] (MSC service thread 1-6) JBAS015899: WildFly 8.1.0.Final "Kenny" starting
00:09:08,985 ERROR [org.jboss.as.server] (Controller Boot Thread) JBAS015956: Caught exception during boot: org.jboss.as.controller.persistence.ConfigurationPersistenceException: JBAS014676: Failed to parse configuration
    at org.jboss.as.controller.persistence.XmlConfigurationPersister.load(XmlConfigurationPersister.java:112) [wildfly-controller-8.1.0.Final.jar:8.1.0.Final]
    at org.jboss.as.server.ServerService.boot(ServerService.java:331) [wildfly-server-8.1.0.Final.jar:8.1.0.Final]
    at org.jboss.as.controller.AbstractControllerService$1.run(AbstractControllerService.java:256) [wildfly-controller-8.1.0.Final.jar:8.1.0.Final]
    at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_65]
Caused by: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[94,9]
Message: Unexpected element '{urn:jboss:domain:web:1.1}subsystem'
    at org.jboss.staxmapper.XMLMapperImpl.processNested(XMLMapperImpl.java:108) [staxmapper-1.1.0.Final.jar:1.1.0.Final]
    at org.jboss.staxmapper.XMLExtendedStreamReaderImpl.handleAny(XMLExtendedStreamReaderImpl.java:69) [staxmapper-1.1.0.Final.jar:1.1.0.Final]
    at org.jboss.as.server.parsing.StandaloneXml.parseServerProfile(StandaloneXml.java:1131) [wildfly-server-8.1.0.Final.jar:8.1.0.Final]
    at org.jboss.as.server.parsing.StandaloneXml.readServerElement_1_4(StandaloneXml.java:458) [wildfly-server-8.1.0.Final.jar:8.1.0.Final]
    at org.jboss.as.server.parsing.StandaloneXml.readElement(StandaloneXml.java:145) [wildfly-server-8.1.0.Final.jar:8.1.0.Final]
    at org.jboss.as.server.parsing.StandaloneXml.readElement(StandaloneXml.java:107) [wildfly-server-8.1.0.Final.jar:8.1.0.Final]
    at org.jboss.staxmapper.XMLMapperImpl.processNested(XMLMapperImpl.java:110) [staxmapper-1.1.0.Final.jar:1.1.0.Final]
    at org.jboss.staxmapper.XMLMapperImpl.parseDocument(XMLMapperImpl.java:69) [staxmapper-1.1.0.Final.jar:1.1.0.Final]
    at org.jboss.as.controller.persistence.XmlConfigurationPersister.load(XmlConfigurationPersister.java:104) [wildfly-controller-8.1.0.Final.jar:8.1.0.Final]
    ... 3 more

00:09:08,989 FATAL [org.jboss.as.server] (Controller Boot Thread) JBAS015957: Server boot has failed in an unrecoverable manner; exiting. See previous messages for details.
00:09:09,004 INFO  [org.jboss.as] (MSC service thread 1-2) JBAS015950: WildFly 8.1.0.Final "Kenny" stopped in 4ms

In standalone.xml I have below setup:

 <profile>
        <subsystem xmlns="urn:jboss:domain:web:1.1" default-virtual-server="default-host" native="false">
            <connector name="http" protocol="HTTP/1.1" scheme="http" socket-binding="http"  redirect-port="443" />
            <connector name="https" scheme="https" protocol="HTTP/1.1" socket-binding="https"
                       enable-lookups="false" secure="true">
                <ssl name="localhost-ssl" password="secret" protocol="TLSv1"
                     key-alias="localhost" certificate-key-file="${jboss.server.config.dir}/keycloak.jks" />
            </connector>
        </subsystem>

I followed the instructions on this link but it doesn't seem to work with above error.

Is there something that needs to be done that is missing here?

Update

I've changed to what was suggested but now getting below error:

02:20:43,434 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) JBAS014613: Operation ("add") failed - address: ([("subsystem" => "webservices")]) - failure description: {"JBAS014879: One or more services were unable to start due to one or more indirect dependencies not being available." => {
    "Services that were unable to start:" => ["jboss.ws.config"],
    "Services that may be the cause:" => [
        "jboss.deployment.unit.\"oauth-client-cdi.war\".beanmanager",
        "jboss.server.controller.management.security_realm.UndertowRealm"
    ]
}}

Solution

  • The XML namespace urn:jboss:domain:web:1.1 is for AS7. The correct namespace in WildFly for web subsystem is urn:jboss:domain:undertow:1.0:

    <security-realms>
        ...
        <security-realm name="SecureRealm">
            <server-identities>
                <ssl>
                    <keystore path="localhost.keystore" relative-to="jboss.server.config.dir" keystore-password="wildfly"/>
                </ssl>
            </server-identities>
        </security-realm>
    </security-realms>
    ...
    <subsystem xmlns="urn:jboss:domain:undertow:1.0">
        ...
        <server name="default-server">
            <http-listener name="default" socket-binding="http"/>
            <https-listener name="https" socket-binding="https" security-realm="SecureRealm"/>
            <host name="default-host" alias="localhost">
                <location name="/" handler="welcome-content"/>
                <filter-ref name="server-header"/>
                <filter-ref name="x-powered-by-header"/>
            </host>
        </server>
        ...
    </subsystem>
    

    You can find a full example in http://reallifejava.com/configuring-ssl-in-wildfly-8/