Проблема с отчетами Eclipse в моем web.xml, но она обрабатывается нормально - PullRequest
2 голосов
/ 23 июля 2011

Я использую Google App Engine с плагином Google в Eclipse, вот заголовок моего web.xml:

<?xml version="1.0" encoding="utf-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
        http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">

На основе некоторых документов GAE я добавил это:

<security-constraint>
    <web-resource-collection>
        <url-pattern>/tasks/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
        <role-name>admin</role-name>
    </auth-constraint>
</security-constraint>

Однако Eclipse сообщает об ошибке в "url-pattern":

cvc-complex-type.2.4.a: Обнаружено недопустимое содержимое, начиная с элемента 'url-pattern'.
Ожидается один из '{"http://java.sun.com/xml/ns/javaee":web-resource-name}'.

Я могу запустить приложение, и кажется, что файл web.xml обрабатывается нормально, но мне не нравится тот факт,что Eclipse сообщает об ошибке. В чем проблема?

Ответы [ 3 ]

8 голосов
/ 23 июля 2011

хорошо, ошибка кажется довольно простой - тег имени веб-ресурса, который он ожидал до шаблона url:)

cheers

7 голосов
/ 20 мая 2014

Просто чтобы добавить точный код

<security-constraint>
    <web-resource-collection>
        <web-resource-name>tasks</web-resource-name>
        <url-pattern>/tasks/</url-pattern>
    </web-resource-collection>
    <auth-constraint>
        <role-name>admin</role-name>
    </auth-constraint>
</security-constraint>
3 голосов
/ 27 июня 2014

Как говорит @peshkira, проблема в пропущенном параметре. Но поскольку файл web.xml создается инструментами Google, я подумал, что что-то не так с инструментами Google, которые генерировали файлы.

Со своей стороны, я следовал https://developers.google.com/appengine/docs/java/dataprocessing/mapreduce_config#the_webxml_file, чтобы опробовать Модули Google (https://developers.google.com/appengine/docs/java/modules/) и Платформу веб-инструментов (WTP) (https://developers.google.com/appengine/docs/java/webtoolsplatform) для Eclipse.

)

Итак, я подал заявку в службу поддержки в службу поддержки Google Cloud, и вот ответ, который они предоставили:

После некоторых исследований это связано с <web-resource-name> на самом деле отсутствует. Это не обязательно нужно в коде, но рекомендуется согласно нашей документации [1].

Вот пример того, как ее решить. Я также подтвердил, что это исправляет ошибка на моем конце:

<web-resource-collection>
    <web-resource-name>all</web-resource-name>
    <url-pattern>/*</url-pattern> </web-resource-collection>
</web-resource-collection>

Я также сделаю рекомендацию, чтобы добавить это в наш источник файлы, как они должны быть технически там.

Спасибо, что сообщили об этом.

С уважением,

Поддержка платформы Albert Cloud

[1] Безопасность и аутентификация: https://developers.google.com/appengine/docs/java/config/webxml#Security_and_Authentication

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...