Что вызывает этот «неожиданный элемент», который вызывает исключение XMLStreamValidationException в конфигурации JBoss? - PullRequest
0 голосов
/ 28 июня 2018

Я пытаюсь перенести какое-то программное обеспечение с JBoss 5 на JBoss 7. Я застрял, поскольку мое развертывание завершается неудачно с приведенными ниже исключениями. Имейте в виду, что программное обеспечение работает в JBoss 5, поэтому все, что не работает, должно быть из-за различий между JBoss 5/7, я полагаю.

Рассматриваемая строка (строка 12, как указано в исключении) выглядит следующим образом:

<application-policy xmlns="urn:jboss:security-beans:1.0" name="MyProjectDatabaseLogin">

Ошибки / исключения:

ERROR [org.jboss.msc.service.fail] (MSC service thread 1-4) MSC000001: Failed to start service jboss.deployment.unit."myear.ear".PARSE: org.jboss.msc.service.StartException in service jboss.deployment.unit."myear.ear".PARSE: WFLYSRV0153: Failed to process phase PARSE of deployment "myear.ear"
    [stack trace omitted]
Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: WFLYPOJO0038: Exception while parsing POJO descriptor file: "/content/myear.ear/META-INF/myproject-auth-jboss-beans.xml"
    [stack trace omitted]
Caused by: org.projectodd.vdx.core.XMLStreamValidationException: ParseError at [row,col]:[12,4]
Message: ParseError at [row,col]:[12,4]
Message: WFLYCTL0198: Unexpected element '{urn:jboss:security-beans:1.0}application-policy' encountered
    [stack trace omitted]

ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("deploy") failed - address: ([("deployment" => "myear.ear")]) - failure description: {"WFLYCTL0080: Failed services" => {"jboss.deployment.unit.\"myear.ear\".PARSE" => "WFLYSRV0153: Failed to process phase PARSE of deployment \"myear.ear\"
    Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: WFLYPOJO0038: Exception while parsing POJO descriptor file: \"/content/myear.ear/META-INF/myproject-auth-jboss-beans.xml\"
    Caused by: org.projectodd.vdx.core.XMLStreamValidationException: ParseError at [row,col]:[12,4]
Message: ParseError at [row,col]:[12,4]
Message: WFLYCTL0198: Unexpected element '{urn:jboss:security-beans:1.0}application-policy' encountered"}}

Почему application-policy (или значение xmlns для него) неожиданно здесь? Что вызывает это исключение?


Мне пришлось вручную ввести вышеупомянутую строку xml и ошибки / исключения, поэтому возможно, что в оригинале могут присутствовать некоторые опечатки, которые не способствуют возникновению проблемы, хотя я перечитал здесь свой вопрос несколько раз и Я не думаю, что я опечатал выше.

1 Ответ

0 голосов
/ 09 июля 2018

В конце концов я понял, что эти настраиваемые элементы больше не должны находиться в одном файле. Теперь предполагается, что эта информация находится в файле конфигурации сервера, поэтому вы, вероятно, поместите ее либо в файл domain.xml, либо в файл standalone.xml.

Это политика безопасности приложения, поэтому содержимое этого тега теперь попадает в раздел <security-domains> в теге <security-domain>.

Так что это будет похоже на следующее. Обратите внимание, что <application-policy ...> теперь <security-domain ...> и находится в пределах <security-domains>. Кроме того, в моей предыдущей политике безопасности было два <login-module>, но если используется новая система безопасности elytra, то в домене безопасности допускается только 1 <login-module> тег ...

...
    <security-domains> <!-- Search for this in the file and put the migrated part into here -->
        <security-domain name="MySecurityDomain">
            ... all the stuff that used to be in the security application policy
            ... note that some of the stuff you put in here might need to change depending on the security system used
        </security-domain>
    </security-domains>
...
...