cxfはjacksonで多すぎるようです

5609 ワード

cxfデフォルトのjettsion方式でjsonを回転すると、空のリストのような多くの問題があり、出力されず、easyUIのdataGridがrows戻り値を見つけられず、エラーが発生します.
長い間振り回されて、最後にjacksonに変えました.3.3、やっと空のリストを出力しました.
 
{"ret":0,"err":0,"msg":null,"rows":[],"total":0}

 
プロファイルは次のとおりです.
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:tx="http://www.springframework.org/schema/tx"
	xmlns:jaxrs="http://cxf.apache.org/jaxrs"
	xmlns:util="http://www.springframework.org/schema/util"
	xsi:schemaLocation="
		http://www.springframework.org/schema/beans
		http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
		http://www.springframework.org/schema/context 
		http://www.springframework.org/schema/context/spring-context-2.5.xsd
		http://www.springframework.org/schema/tx
		http://www.springframework.org/schema/tx/spring-tx-2.0.xsd
		http://www.springframework.org/schema/util 
		http://www.springframework.org/schema/util/spring-util-2.5.xsd
		http://cxf.apache.org/jaxrs
		http://cxf.apache.org/schemas/jaxrs.xsd">
		
	<import resource="classpath*:META-INF/cxf/cxf.xml" />
	<import resource="classpath*:META-INF/cxf/cxf-servlet.xml" />

   <util:list id="jsonKeys">
    	<value>datas</value>  
    	<value>rows</value>  
    	<value>details</value>  
    	<value>pubtaxbl2pf</value>
    </util:list>

    <util:list id="jsonTypes">
        <value>application/json</value>
        <value>application/jackson</value>
<!--         <value>application/jettison</value> -->
    </util:list>
    <bean id="jacksonProvider" class="com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider">
<!--         <property name="serializeAsArray" value="true"/> -->
<!--         <property name="arrayKeys" ref="jsonKeys"/> -->
<!--         <property name="produceMediaTypes" ref="jsonTypes"/> -->
<!--         <property name="consumeMediaTypes" ref="jsonTypes"/> -->
<!--         <property name="ignoreNamespaces" value="true"/> -->
<!--         <property name="dropRootElement" value="true"/> -->
<!--         <property name="ignoreMixedContent" value="true"/> -->
<!--         <property name="attributesToElements" value="true"/> -->
<!--         <property name="writeNullAsString" value="false"/> -->
<!--         <property name="readNullAsString" value="false"/> -->
<!--         <property name="writeXsiType" value="false"/> -->
<!--         <property name="readXsiType" value="false"/> -->
<!--         <property name="ignoreEmptyArrayValues" value="false"/> -->
    	
    </bean>

<!--     <bean id="jsonProvider" class="org.apache.cxf.jaxrs.provider.json.JSONProvider">
        <property name="serializeAsArray" value="true"/>
        <property name="arrayKeys" ref="jsonKeys"/>
        <property name="produceMediaTypes" ref="jsonTypes"/>
        <property name="consumeMediaTypes" ref="jsonTypes"/>
        <property name="ignoreNamespaces" value="true"/>
        <property name="dropRootElement" value="true"/>
        <property name="ignoreMixedContent" value="true"/>
        <property name="attributesToElements" value="true"/>
        <property name="writeNullAsString" value="false"/>
        <property name="readNullAsString" value="false"/>
        <property name="writeXsiType" value="false"/>
        <property name="readXsiType" value="false"/>
        <property name="ignoreEmptyArrayValues" value="false"/>
     </bean>
 -->
    <jaxrs:server id="restApiResource" address="/">
        <jaxrs:serviceBeans>
		<ref bean="taskServiceResource"/>
		<ref bean="pubTaxbl1pfResource"/>
        </jaxrs:serviceBeans>
        <jaxrs:providers>
            <ref bean="jacksonProvider"/>
        </jaxrs:providers>
        <jaxrs:extensionMappings>  
            <entry key="json" value="application/json"/>  
<!--             <entry key="xml" value="application/xml"/>   -->
        </jaxrs:extensionMappings>  
    </jaxrs:server>	

</beans>