在Weblogic 11g中尝试使用fastxml将json转换为POJO时,@ RequestBody获取空值

时间:2019-08-08 15:40:57

标签: java spring-mvc java-7 weblogic11g fasterxml

我有一个代码,该代码从控制器调用中获取一些json并使用fastxml将其转换为Java对象。该代码在weblogic 12c中正常工作。但是,当我尝试在weblogic 11g中部署相同的代码时,创建的对象为null。

代码段:

@RequestMapping(value = "/getDetails",
        method=RequestMethod.POST, 
        produces=MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<ConsolidatedResponse> getDetails(@RequestBody       MyRequest request) {
    long t1 = System.currentTimeMillis();
    ResponseEntity<ConsolidatedResponse> response = null;
    ConsolidatedResponse respDetails;
    if(request!=null)
System.out.println("recieved "+request.toString());
    else
        System.out.println("recieved null");

此处请求在11g weblogic中变为空。

我的pom依赖度是:

<properties>
    <maven.compiler.source>1.7</maven.compiler.source>
    <maven.compiler.target>1.7</maven.compiler.target>
    <springframework.version>4.3.0.RELEASE</springframework.version>
    <jackson.library>2.7.5</jackson.library>
    <hibernate.version>5.3.6.Final</hibernate.version>
    <log4j.version>1.2.17</log4j.version>
    <jdk.version>1.7</jdk.version>
</properties>
<dependencies>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>${springframework.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
        <version>${springframework.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>${springframework.version}</version>
    </dependency>
    <!--  <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>3.1.0</version>
    </dependency>-->
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>${jackson.library}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-orm</artifactId>
        <version>${springframework.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-jdbc</artifactId>
        <version>${springframework.version}</version>
    </dependency>
    <!-- Hibernate -->
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>${hibernate.version}</version>
    </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-entitymanager</artifactId>
        <version>${hibernate.version}</version>
    </dependency>
    <!-- Logging -->
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>${log4j.version}</version>
    </dependency>
    <!-- Testing -->
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>3.8.1</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.apache.tomcat</groupId>
        <artifactId>tomcat-servlet-api</artifactId>
        <version>7.0.88</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>commons-dbcp</groupId>
        <artifactId>commons-dbcp</artifactId>
        <version>1.2.2</version>
    </dependency>
</dependencies>
<build>
    <finalName>MyDemo</finalName>
    <plugins>
        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>${jdk.version}</source>
                <target>${jdk.version}</target>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.tomcat.maven</groupId>
            <artifactId>tomcat7-maven-plugin</artifactId>
            <version>2.2</version>
            <configuration>
                <port>8080</port>
                <path>/MyDemo</path>
            </configuration>
        </plugin>
    </plugins>
</build>

weblogic.xml

<?xml version="1.0" encoding="UTF-8"?>
<wls:weblogic-web-app
    xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-web-app"
    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/web-app_2_5.xsd 
    http://xmlns.oracle.com/weblogic/weblogic-web-app 
    http://xmlns.oracle.com/weblogic/weblogic-web-app/1.3/weblogic-web-app.xsd">
    <!--  <wls:weblogic-version>12.2.1.2.0</wls:weblogic-version>-->
    <wls:context-root>MyDemo</wls:context-root>
    <wls:container-descriptor>
        <wls:prefer-application-packages>
            <wls:package-name>org.apache.*</wls:package-name>
            <wls:package-name>org.springframework.*</wls:package-name>
            <wls:package-name>org.aopalliance.*</wls:package-name>
            <wls:package-name>com.google.*</wls:package-name>
            <wls:package-name>org.codehaus.jackson.*</wls:package-name>
            <wls:package-name>org.hibernate.*</wls:package-name>
            <wls:package-name>javax.transaction.*</wls:package-name>
            <wls:package-name>org.dom4j.*</wls:package-name>
            <wls:package-name>antlr.*</wls:package-name>
            <wls:package-name>javax.persistence.*</wls:package-name>
            <wls:package-name>org.jboss.*</wls:package-name>
            <wls:package-name>com.fasterxml.*</wls:package-name>
        </wls:prefer-application-packages>
    </wls:container-descriptor>
</wls:weblogic-web-app>

0 个答案:

没有答案