Flex端调用出的错误:
[RPC Fault faultString="java.lang.NoSuchFieldError : MANUAL" faultCode="Server.Processing" faultDetail="null"]
at mx.rpc::AbstractInvoker/http://www.adobe.com/2006/flex/mx/internal::faultHandler()[E:\dev\3.0.x\frameworks\projects\rpc\src\mx\rpc\AbstractInvoker.as:216]
at mx.rpc::Responder/fault()[E:\dev\3.0.x\frameworks\projects\rpc\src\mx\rpc\Responder.as:49]
at mx.rpc::AsyncRequest/fault()[E:\dev\3.0.x\frameworks\projects\rpc\src\mx\rpc\AsyncRequest.as:103]
at NetConnectionMessageResponder/statusHandler()[E:\dev\3.0.x\frameworks\projects\rpc\src\mx\messaging\channels\NetConnectionChannel.as:523]
at mx.messaging::MessageResponder/status()[E:\dev\3.0.x\frameworks\projects\rpc\src\mx\messaging\MessageResponder.as:222]下面是服务器端 xml配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/bernie" />
<property name="username" value="root" />
<property name="password" value="root" />
</bean> <bean id="mySessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="mappingResources">
<list>
<value>dao/news/News.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</prop>
</props>
</property>
<property name="dataSource">
<ref bean="dataSource" />
</property>
</bean>         <bean id="newsDAOBean" class="dao.news.NewsDAO" >
<property name="sessionFactory">
<ref bean="mySessionFactory" />
</property>
</bean>
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="mySessionFactory" />
</bean>

<bean id="newsDAOBeanTarget" class="dao.news.NewsDAO" >
<property name="sessionFactory">
<ref bean="mySessionFactory" />
</property>
</bean>

<bean id="newsDAOBean"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean" >
<property name="transactionManager" ref="transactionManager" />
<property name="target" ref="newsDAOBeanTarget" />
<property name="transactionAttributes">
<props>
<prop key="create*">PROPAGATION_REQUIRED</prop>
<prop key="update*">PROPAGATION_REQUIRED</prop>
<prop key="delete*">PROPAGATION_REQUIRED</prop>
<prop key="*">PROPAGATION_REQUIRED,readOnly</prop>
</props>
</property>
</bean>

如果用绿色部分可以正常运行,没有加事务处理的配置。
可是如果加上事务处理配置,也就是用红色部分就报以上我发的那个错误,请高手指点。谢谢!!

解决方案 »

  1.   

    对不起,红色和绿色部分没有显示出来。 麻烦大家看一下我标的标签,用这部分是没有事物处理的,运行正常:
             <bean id="newsDAOBean" class="dao.news.NewsDAO" >
            <property name="sessionFactory">
                <ref bean="mySessionFactory" />
            </property>
        </bean>
    可是如果加上事务处理配置就出错: <bean id="transactionManager"
            class="org.springframework.orm.hibernate3.HibernateTransactionManager">
            <property name="sessionFactory" ref="mySessionFactory" />
        </bean>    
        
        <bean id="newsDAOBeanTarget" class="dao.news.NewsDAO" >
            <property name="sessionFactory">
                <ref bean="mySessionFactory" />
            </property>
        </bean>
        
        <bean id="newsDAOBean"
            class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean" >        
            <property name="transactionManager" ref="transactionManager" />
            <property name="target" ref="newsDAOBeanTarget" />
            <property name="transactionAttributes">
                <props>
                    <prop key="create*">PROPAGATION_REQUIRED</prop>
                    <prop key="update*">PROPAGATION_REQUIRED</prop>
                    <prop key="delete*">PROPAGATION_REQUIRED</prop>
                    <prop key="*">PROPAGATION_REQUIRED,readOnly</prop>
                </props>
            </property>
        </bean>

    错误是:
    Flex端调用出的错误: 
    [RPC Fault faultString="java.lang.NoSuchFieldError : MANUAL" faultCode="Server.Processing" faultDetail="null"] 
    at mx.rpc::AbstractInvoker/http://www.adobe.com/2006/flex/mx/internal::faultHandler()[E:\dev\3.0.x\frameworks\projects\rpc\src\mx\rpc\AbstractInvoker.as:216] 
    at mx.rpc::Responder/fault()[E:\dev\3.0.x\frameworks\projects\rpc\src\mx\rpc\Responder.as:49] 
    at mx.rpc::AsyncRequest/fault()[E:\dev\3.0.x\frameworks\projects\rpc\src\mx\rpc\AsyncRequest.as:103] 
    at NetConnectionMessageResponder/statusHandler()[E:\dev\3.0.x\frameworks\projects\rpc\src\mx\messaging\channels\NetConnectionChannel.as:523] 
    at mx.messaging::MessageResponder/status()[E:\dev\3.0.x\frameworks\projects\rpc\src\mx\messaging\MessageResponder.as:222] 
      

  2.   

    把事务<property name="transactionAttributes"> 
                <props> 
                    <prop key="create*">PROPAGATION_REQUIRED </prop> 
                    <prop key="update*">PROPAGATION_REQUIRED </prop> 
                    <prop key="delete*">PROPAGATION_REQUIRED </prop> 
                    <prop key="*">PROPAGATION_REQUIRED,readOnly </prop> 
                </props> 
            </property> 删除几个.试验一下...
      

  3.   

    应该是事务配置错误,
    Juint可以测试一下mock哦