IBM Cognos Business Intelligence 10.2.2 на WebSphere Application Server 7.0.0.29 не запускается, возможно, из-за отсутствия записи пути к классам

У меня есть сервер под управлением IBM AIX 6.1.7. 15 TL07, и я пытаюсь установить Cognos Business Intelligence 10.2.2 на WebSphere Application Server Network Deployment 7.0.0.29, используя кластер серверов для развертывания и управления моим приложением и используя сервер IBM DB2 10.5 для сохранения моего хранилища контента. Когда я запускаю один из серверов приложений моего кластера, я получаю следующее сообщение об ошибке при попытке загрузить свой URL диспетчера:

Error 404: javax.servlet.UnavailableException: SRVE0200E: Servlet [com.cognos.pogo.isolation.ServletWrapper]: Could not find required class - class java.lang.ClassNotFoundException: com.cognos.pogo.isolation.ServletWrapper 

Проверка файла журнала WAS SystemOut.log Я обнаружил следующее сообщение об ошибке ...

Servlet cfgss is currently unavailable: SRVE0200E: Servlet[com.cognos.pogo.isolation.ServletWrapper]: Could not find required class -com.cognos.pogo.isolation.ServletWrapper

... который привел меня к этой технической заметке IBM , в которой упоминается, что это может быть проблема с отсутствующей записью CLASSPATH в переменных среды моего сервера WAS.

Однако в примечании ничего не говорится о том, как чтобы исправить эту проблему, и я абсолютно не знаю, что мне добавить в запись CLASSPATH. com / products> www.domain.com/en_ca/products

  • www.domain.com/products/product-name> www.domain.com/en_ca/product-name
  • www.domain.com/products/ cat / product-name> www.domain.com/en_ca/product-name
  • Я могу заставить работать 1 и 2, но 2 мешает работе 3. Есть ли способ обеспечить, чтобы URL-адрес состоял из трех частей, или есть лучший способ сделать это?

    Спасибо

    0
    задан 13 November 2015 в 04:09
    1 ответ
    # rule 1
    RewriteRule ^products/?$ /en_ca/products [L,R=301]
    # rule 2
    RewriteRule ^products/([^/]+)/?$ /en_ca/$1 [L,R=301]
    # don't use this one since it would allow for greater than 2 /
    # products/cat/cat_food/diners will write: en_ca/cat_food/diners
    # RewriteRule ^products/(.*)/(.+)$ /en_ca/$2 [L,R=301]
    # rule 3
    # to be extra careful to only include 2 /, do it this way:
    RewriteRule ^products/([^/]+)/([^/]+)/?$ /en_ca/$2 [L,R=301]
    

    Это должно сработать. Не используйте жадный. * (Ничего, включая /), используйте ограничивающий [^ /] * (что угодно, кроме /, то есть). Также безопаснее изменить *, ноль или более, на +, который равен 1 или более.

    Я полагаю, что у вас может быть ошибка где-то еще, просмотрите, что происходит здесь:

    Правило 1: берите только / products, и измените его на: en_ca / products. Все последующие действия не сработают, потому что теперь путь начинается с en_ca. Кстати, вы можете избавиться от: http: //% {SERVER_NAME} в перезаписи. / en_ca / $ 1 достаточно.

    Правило 2: возьмите / products / product_name и перепишите его на: / en_ca / product_name Теперь никакое другое правило не изменит его, потому что оно больше не начинается с продуктов

    . Правило 3 сработает только в том случае, если путь содержит 2 / и начинается с продуктов, поэтому ни правило 1, ни 2 не могут создать URL-адрес, который будет перезаписан 3-м номером. правило.

    Добавление /? (0 или 1 завершающая косая черта)защищает вас также от людей, которые входят в / products / или products / product_name /

    0
    ответ дан 24 November 2019 в 07:36

    Теги

    Похожие вопросы