(一)處理銀企直聯(lián)問題思路
首先檢查NC與網(wǎng)銀適配器是否是連接通過,如果測試失敗,有兩種原因
1)網(wǎng)銀適配器沒有啟動。
2)NC服務(wù)器與前置機網(wǎng)絡(luò)不通。
如果前兩者沒有問題,那么關(guān)掉前置機上面的防火墻。
其次,查看網(wǎng)銀適配器是否啟動正常,如果正常啟動,一查詢TOMCAT就報錯。
第三就是要看前置機上面的日志,路徑是UFBankVBlogs,這個路徑下是按照每一天為一個文件夾,可以根據(jù)支付或查詢的時間來找到對應(yīng)的日志文檔。(老版的網(wǎng)銀適配器日志需要通過網(wǎng)銀適配器日志分析器查看)
這個就是CA驗簽的日志,如果這里出現(xiàn)錯誤,就可以直接聯(lián)系ca廠商幫忙確認問題了。
(二)如何修改網(wǎng)銀補錄界面
網(wǎng)銀補錄的文件都存在nchome esourcesebanksystem下,每個文件夾對應(yīng)一個銀行的所有功能補錄模板。
補錄窗口上方的(工行推廣版icbcpb_zf)指出了是調(diào)用的哪個文件,此補錄窗口調(diào)用的是nchome esourcesebanksystemicbcpbpay.xml文件,如果要想修改補錄界面,則修改此文件(pay.xml)。
例如工行推廣的代理支付功能會用到付方機構(gòu)號字段,如果想改成可以編輯則修改nchome/resources/ebank/system/icbcpb/dlzf.xml文件。
將付方機構(gòu)號行的editflag="Y"
editflag="Y"補錄可編輯
editflag="N"補錄不可編輯
其他字段說明
nullflag="Y"補錄界面字段必輸
nullflag="N"補錄界面字段不必輸
showflag="Y"補錄界面顯示
showflag="N"補錄界面隱藏
length="30" 字段允許輸入最大長度
showorder="18" 補錄界面字段順序,由小到大排列
調(diào)整補錄界面順序的話,選擇showflag="Y"的字段,調(diào)整showorder。
如何給某個字段設(shè)置默認值,加一個defaultvalue=''
所有的xml修改需要重啟nchome中間件才能生效。
部分內(nèi)容修改還需要重新制單的單據(jù)生效。
(三)常見報錯信息
1、overflow或java.lang.ArrayIndexOutOfBoundsException: 51
解決方案:
問題是數(shù)組越界或者int越界導(dǎo)致。問題一般會出現(xiàn)在報文格式是以“|”等特殊格式分割來區(qū)分字段的銀行。當(dāng)銀行返回的報文最后出現(xiàn)空值時,如,01|安徽省路港工程有限責(zé)任公司|cash|工程款||||,就會導(dǎo)致數(shù)組長度不夠。解決方法,一是檢查最后幾位是那些字段(最有可能是附言或備注),將里面的值不為空即可,二是交給開發(fā)來修改代碼。
2、元素類型“data”必須用匹配的結(jié)束標記“</data>”終止。
解決方案:
xml不匹配,檢查對應(yīng)NC配置文件xml,是否符合xml格式,各個標簽是否一一對應(yīng),<data></data>正確格式。
<data/>正確格式
<data/></data>錯誤格式
<data>錯誤格式
3、錯誤信息=[java.lang.Exception:2018此企業(yè)無此交易權(quán)限]
解決方案:
該問題產(chǎn)生原因由銀行導(dǎo)致,請聯(lián)系銀行解決即可。
4、提示哪個字段為空
如提示下載失敗[CMEN.clsCMEN.RetrunYE:[集團賬號不能為空]
解決方案:
a.首先檢查前臺補錄頁面集團賬號輸入框是否有值。
b.其次檢查對應(yīng)NC配置文件xml里是否有集團賬號的對應(yīng)配置,并檢查發(fā)送給網(wǎng)銀的NC報文里,該字段是否有值,是否對應(yīng)。顯然單據(jù)上是015401020011432,而接收到的NC指令里jtaccount="0001651000000000367T"。不對應(yīng)。說明是配置文件的問題。檢查該行srcitemkey,知道jtaccount的值來自,單據(jù)編碼為def1的輸入框。所以,進入單據(jù)模板,查看集團賬號輸入框的編碼是否為def1。<rowbulu="N"datatype="0"defaultshowname="集團賬號"editflag="N" itemkey="jtaccount"nullflag="Y"resid=""showorder="14"source="account_num" srcitemkey="def1"></row>
c.檢查發(fā)送銀行的報文,對照銀行文檔,找到集團賬號對應(yīng)的編碼,看里面是否有值,是否與NC前臺的值對應(yīng)。
5、UPP36120101-000022
解決方案:
UPP36120101-000022此類問題,可能是NC配置文件的報文頭有問題, bank為空造成的。如<?xml version="1.0" eNCoding="GB2312"?><databank="bccb"bulu="N"formula1="NC.vo.obm.formula.FormulaParser" fuNC="ye" roottag="input" type="">另外,可能是banktype.xml里面沒有配置相應(yīng)的銀行。
6、提示賬號對應(yīng)的商戶無權(quán)限
解決方案:
賬號不對,可以先在VBConfig的配置程序里輸入該賬號測試,直接聯(lián)系銀行溝通處理。
7、連接失敗
解決方案:
確保銀行前置機和網(wǎng)銀適配器已經(jīng)啟動,前置機防火墻關(guān)掉。
8、沒有生成日志,報解析包出錯,可能是證書錯誤和編碼格式錯誤
解決方案:
a.CA問題。
b.有可能NC沒有設(shè)置安全認證,但在網(wǎng)頁配置java頁面里有,將ip控制和安全認證去掉。
c.檢查NC指令里是否有特殊符號,如備注里是否有%,影響xml結(jié)構(gòu)。
d.查看NC日志,對應(yīng)的里面是否有驗簽失敗,如果有,則聯(lián)系ca廠商協(xié)助幫助一下。
9、VB提示文件未找到: NVCPApi.DLL或其他的.DLL文件
解決方案:
重新反注冊注冊DLL文件。
10、VB后臺提示參數(shù)不正確,銀行服務(wù)器或操作員有一個為空,或端口號不是合法的數(shù)字值。
解決方案:
檢查UFbankConfig.xml文件里,對應(yīng)的銀行配置,是否正確,看看里面的配置是否缺少或被注釋掉。
如果是新安裝的ufbank,而又把之前的ufbank文件夾拷了過來,有可能出現(xiàn)這種情況,原因是兩個網(wǎng)銀適配器版本不一致導(dǎo)致。
11、網(wǎng)銀補錄信息模板在哪里設(shè)置的?
解決方案:
esourcesebanksystem銀行pay.xml。
12、對賬單下載,適配器報文正常返回有記錄,但是NC顯示無記錄的問題?
解決方案:
確認適配器返回報文中幣種轉(zhuǎn)換是否正確,交易日期是否在查詢期間范圍內(nèi)。幣種轉(zhuǎn)換配置文件(currencymapping.xml)是否有配置,NC5系列配置如下目錄:resourcesebanksystemsjyh
NC6系列如下:
13、適配器日志,中文亂碼的問題?
解決方案:
NC5系列的話,字符編碼應(yīng)該為GBK。修改文件:C:UFBankVBencode.properties
14、上收下?lián)軉巫卟坏絡(luò)tgj接口,而走了zf接口的問題?委托付款單調(diào)用不到代理支付接口也是通用的道理。
解決方案:
修改banktype.xml文件相應(yīng)銀行的配置,將jtgj=”N”,改成jtgj=”Y”
修改banktype.xml文件相應(yīng)銀行的配置,將dlzf=”N”,改成dlzf=”Y”
15、下載對賬單超時的問題?
解決方案:
修改NC基礎(chǔ)設(shè)置->網(wǎng)上銀行適配器設(shè)置,超時時間改大一些,單位秒。
16、為什么支付時,銀行返回的狀態(tài)為失敗,而NC單據(jù)上卻顯示為不明?
解決方案:
這個是基于安全考慮,防止銀行返回的狀態(tài)不對,而導(dǎo)致客戶二次支付,在NC端,支付狀態(tài)為失敗的都轉(zhuǎn)換為不明了。需要用戶去下載支付狀態(tài),或是走支付確認單線下判定此筆交易是否成功。
17、網(wǎng)銀接口日志文件在哪里?
解決方案:
在C:UFBankVBlogs目錄下可找到相應(yīng)時刻的日志。
18、NC日志文件在哪里取?
解決方案:
63以后的版本,網(wǎng)銀日志單獨輸出在tmobm-log.log這個文件里了。
19、支付指令狀態(tài)下載時顯示付款日期不能為空。