Flex值对象在java中具有null属性
我有一个使用SpringFlex1.5创建的简单服务。当我将数据从flex传递到java时,java端的value对象为null。我已经尽可能多地进行了测试和调试,但我没有找到这样做的原因 我已尽可能缩小可能性。因此,我不需要对数据进行任何处理,只需返回传入的值对象 我已经通过在我的服务中创建test(stringdatastring)方法验证了我能够访问该服务,并且该服务确实返回了数据。此方法确实返回正确的结果 这是我正在发送到java的数据:Flex值对象在java中具有null属性,java,apache-flex,spring,blazeds,Java,Apache Flex,Spring,Blazeds,我有一个使用SpringFlex1.5创建的简单服务。当我将数据从flex传递到java时,java端的value对象为null。我已经尽可能多地进行了测试和调试,但我没有找到这样做的原因 我已尽可能缩小可能性。因此,我不需要对数据进行任何处理,只需返回传入的值对象 我已经通过在我的服务中创建test(stringdatastring)方法验证了我能够访问该服务,并且该服务确实返回了数据。此方法确实返回正确的结果 这是我正在发送到java的数据: (UserAccount)#0 Instance
(UserAccount)#0
InstanceID = 1
IsLoggedIn = false
IsVisible = false
UserID = NaN
UserName = "user123"
UserPass = "password"
UserStatus = true
UserTypeID = 1
这就是我收到的回信:
(UserAccount)#0
InstanceID = NaN
IsLoggedIn = false
IsVisible = false
UserID = NaN
UserName = (null)
UserPass = (null)
UserStatus = false
UserTypeID = NaN
这是我在log4j日志文件中看到的输出
723011 ["http-bio-8080"-exec-28] DEBUG com.rottmanj.services.user.UserAccountService - com.rottmanj.domain.user.UserAccount@5994a1e9
.
Actionscript代码:
<fx:Script>
<![CDATA[
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
import mx.utils.ObjectUtil;
import com.rottmanj.domain.user;
private function sendVO():void
{
var vo:UserAccount = new UserAccount();
vo.UserName = 'user123';
vo.UserPass = 'password';
vo.UserStatus = true;
vo.IsLoggedIn = false;
vo.IsVisible = false;
vo.UserTypeID = 1;
vo.InstanceID = 1;
dBug.text = ObjectUtil.toString(vo);
ro.save(vo);
}
private function resultHandler(event:ResultEvent):void
{
dBug.text = dBug.text + ObjectUtil.toString(event.result);
}
private function faultHandler(event:FaultEvent):void
{
dBug.text = dBug.text + ObjectUtil.toString(event.fault);
}
]]>
</fx:Script>
Java服务:
@Service
@RemotingDestination
public class UserAccountService {
private UserAccountDAO dao = null;
private static Logger logger = Logger.getLogger(UserAccountService.class);
@Autowired
public void setDao(UserAccountDAO dao)
{
this.dao = dao;
}
@RemotingInclude
public UserAccount save(UserAccount dataObject)
{
logger.debug(dataObject.toString());
return dataObject;
}
@RemotingInclude
public String test(String dataString)
{
logger.debug(dataString.toString());
return "This is a Test for " + dataString;
}
}
请发布java UserAccount类。只是为了确保:UserAccount.java驻留在包
com.rottmanj.domain.user
?这是UserAccount.java文件这是我找到的actionscript值对象,“我的AS value对象中的属性命名不正确。@rottmanj您应该将其作为答案发布,这样它就不会保持打开状态。请发布java UserAccount类。只是为了确保:UserAccount.java驻留在包com.rottmanj.domain.user
?这是UserAccount.java文件这是我得到的actionscript值对象。”这就解决了,我的AS value对象中的属性没有正确命名。@rottmanj您应该将其作为答案发布,这样它就不会保持打开状态。
@Service
@RemotingDestination
public class UserAccountService {
private UserAccountDAO dao = null;
private static Logger logger = Logger.getLogger(UserAccountService.class);
@Autowired
public void setDao(UserAccountDAO dao)
{
this.dao = dao;
}
@RemotingInclude
public UserAccount save(UserAccount dataObject)
{
logger.debug(dataObject.toString());
return dataObject;
}
@RemotingInclude
public String test(String dataString)
{
logger.debug(dataString.toString());
return "This is a Test for " + dataString;
}
}