public VirementResultInfo queryTransaction( final String bank, final TransactionInfo transactionInfo) {
//
final VirementResultInfo result = null;
TimerTask task = new TimerTask() {
@Override
public void run() {
// String bankCode = bank;
// TransactionInfo b = transactionInfo;
String clientSystemNo="D3JOI2JKSA929AIU";
String encryptKey = "123456";
Boolean isEncrypted = false;
BankServiceAgentPortTypeProxy client = new BankServiceAgentPortTypeProxy("http://10.1.255.45:80/NASApp/iTreasury-paymentcenter/services/BankServiceAgent");
try {
result = client.queryTransaction(clientSystemNo, encryptKey, isEncrypted, bank, transactionInfo);
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(" 第 " + ++count + " 次执行 ");
}
};
Timer timer = new Timer();
timer.schedule(task, Calendar.getInstance().getTime(), 2 * 1000);
return result;
}
final变量是只读的。
你final VirementResultInfo result = null这样定义,后面却result = client.queryTransaction给它赋值,所以报错了。
去掉final关键字后程序还报错吗,是否返回了你需要的结果?
上面的答案有帮助吗?如果还有问题,请提出来,如果对答案满意,请顶一下,并标记为采纳答案,谢谢!
我想问一下 你这样可以拿到返回值嘛 这个执行好像是异步的