Развертывание WAR WebLogic 10.3.6.0

Я разработал и протестировал приложение REST WS. Среда разработчика была Tomcat 8, и у меня не было с ней проблем. Во время развертывания войны в weblogic 10.3.6.0 я упаковал его в год и попытался установить, но появилась следующая ошибка:

Развертывание WAR WebLogic 10.3.6.0

165c267237d:-8000-0000000000000d08> <1536566494204> <BEA-101371> <There was a failure when processing annotations for application /home/osm/Oracle/Middleware/user_projects/domains/XXX/servers/Serve
r/tmp/_WL_user/Mock_Core/55tjfs/com.XXX-web-module-1.5.war. Please make sure that the annotations are valid. The error is String index out of range: 36611>

код weblogic-application.xml

<!DOCTYPE application PUBLIC "-//Sun Microsystems,
Inc.//DTD J2EE Application 1.2//EN"
        "http://java.sun.com/j2ee/dtds/application_1_2.dtd">
<application xmlns = "http://java.sun.com/xml/ns/javaee"
             xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_6.xsd"
             version = "6">
    <display-name>Core_MockSystem</display-name>
    <module>
        <web>
            <web-uri>com.XXX.core-web-module-1.5.war</web-uri>
            <context-root>/CoreWS</context-root>
        </web>
    </module>
</application>

код web.xml

<web-app xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
         xmlns = "http://java.sun.com/xml/ns/javaee"
         xsi:schemaLocation = "http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
         id = "WebApp_ID" version = "2.5">
    <servlet>
        <servlet-name>RestServiceOrderReporter</servlet-name>
        <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>RestServiceOrderReporter</servlet-name>
        <url-pattern>/coreWS</url-pattern>
    </servlet-mapping>

</web-app>

REST класс

package com.XXX.core.rest;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;


import javax.ws.rs.Produces;
import javax.ws.rs.ApplicationPath;
import javax.ws.rs.core.MediaType;
import java.sql.*;

@RestController
@ApplicationPath("coreWS")
public class RestServiceOrderReporter {

    private Connection conn = null;
    private Statement statement = null;
    private ResultSet resultSet = null;


    public RestServiceOrderReporter(){

        try {
            Class.forName("oracle.jdbc.driver.OracleDriver");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
        try {
            this.conn = XXX;
        } catch (SQLException e) {
            e.printStackTrace();
        }

        try {
            this.statement = conn.createStatement();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    @Produces({MediaType.APPLICATION_JSON})
    @RequestMapping("/isOrderTerminated")
    public String orderTerminationReport(@RequestParam(value = "orderID", defaultValue = "orderID") String orderID) {
        XXX
    }

    @Produces({MediaType.APPLICATION_JSON})
    @RequestMapping("/isInAULL")
    public String orderAULL(@RequestParam(value = "orderID", defaultValue = "orderID") String orderID) {
        XXX
    }

    @Produces({MediaType.APPLICATION_JSON})
    @RequestMapping("/isInTOA")
    public String orderTOA(@RequestParam(value = "orderID", defaultValue = "orderID") String orderID) {XXX
    }

    @Produces({MediaType.APPLICATION_JSON})
    @RequestMapping("/isInAsyncHPSA")
    public String orderAsyncHPSA(@RequestParam(value = "orderID", defaultValue = "orderID") String orderID) {
      XXX
    }

    private String setResultOrderCompleted(String orderID) {
        XXX
        return "false";
    }

    private String getTESAStage(String orderID) {
        XX
        }


    private String getTOAStage(String orderID) {
       XXX
    }

    private String getHPSAStage(String orderID) {
       XXX
    }
}

Если я разверну .war непосредственно в weblogic, произойдет та же ошибка. Более описательной ошибки в логах найти не удалось. Может быть, эта проблема связана с ошибкой WL 10.3.6?

Я пробовал также в WL 12C, и у меня возникла проблема с API-интерфейсом jersey: Сервлет: «JAX-RS / Jersey # 1» не удалось предварительно загрузить при запуске в веб-приложении: «com.XXX-web-module-1.5» .

Andoni Da Silva 10.09.2018 15:35
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
1
644
1

Ответы 1

Weblogic-application.xml - это специфичный для сервера дескриптор развертывания, который расширяет дескриптор развертывания application.xml.

Для обработки любых тегов, специфичных для веб-логики, вам понадобится что-то вроде:

<?xml version = "1.0" encoding = "UTF-8"?>
<weblogic-application xmlns = "http://xmlns.oracle.com/weblogic/weblogic-application"
                      xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
                      xsi:schemaLocation = "http://xmlns.oracle.com/weblogic/weblogic-application http://xmlns.oracle.com/weblogic/weblogic-application/1.3/weblogic-application.xsd">

.....

</weblogic-application> 

Этот файл будет находиться в том же месте, что и ваш application.xml ..

Другие вопросы по теме