響應處理插件

大(dà)多數應用場景需要(yào / yāo)對異常報文格式做轉換或者映射, 響應處理插件主要(yào / yāo)提供對異常響應報文的(de)轉換處理功能, 異常的(de)處理範围一(yī / yì /yí)般爲(wéi / wèi)網關内部産生的(de)異常 響應處理插件一(yī / yì /yí)般在(zài)網關的(de)響應鏈的(de)最後執行. 網關的(de)默認異常響應報文格式爲(wéi / wèi):

{
"returnCode": {
"type": "E",
"message": "asdf",
"code": "fasdg"
 }
}

各字段配置如下:

配置示例:

response:
  available: true
  pipeType: direct
  preFilters: CheckPayloadEmptyFilter
  localRecognizers:

- id: from_wlink_base
  matcher: '${msgFrom}->WLINK'
  type: date
  keyMap:
    resp_SysRtnTm: '${yyyy-MM-dd''T''HH:mm:ss}'

  values:

- id: epcc_from_wlink_outbound_not_reached_response
  sort: 1
  matcher: '${pathNo}->1285 && ${msgFrom}->WLINK && ${trxPhase}<>OUTBOUND_REACHED'
  type: default
  returnCodeKey: root.MsgBody.SysRtnInf
  typeKey: ''
  codeKey: SysRtnCd
  messageKey: SysRtnDesc
  replyKey: reply
  wrapReply: false
  ignoreReturnCode: false
  clearPayloadWhenFailed: false
  ignoreSuccessReturnCode: true
  extractReturnCode: false
  responseMappingCondition: failed
  defaultCodeMapping: {mappingCode: '${resp_CFlg}00099', msg: 系統異常}
  #如下配置, 假如異常響應報文的(de)碼值爲(wéi / wèi) MSG_FMT_ERR, 則映射後的(de)碼值爲(wéi / wèi) ${該配置爲(wéi / wèi)從上(shàng)下文根據表達式獲取值, 可不(bù)配} 00022,message爲(wéi / wèi) 請求報文格式有誤
  codeMapping:
    MSG_FMT_ERR:      {mappingCode: '${resp_CFlg}00022', msg: 請求報文格式有誤}
    FIELD_EMPTY:      {mappingCode: '${resp_CFlg}00023', msg: 請求報文必填參數缺失}
    PARAM_ERR:        {mappingCode: '${resp_CFlg}00024', msg: 請求報文的(de)參數有誤}
    VERSGN_FAIL:      {mappingCode: '${resp_CFlg}00025', msg: 請求報文簽名未通過驗證}
    DYPT_FAIL:        {mappingCode: '${resp_CFlg}00031', msg: 請求報文敏感字段解密失敗}
    SYS_MAINT:        {mappingCode: '${resp_CFlg}00003', msg: 銀行系統臨時(shí)維護}
    GTW0026:          {mappingCode: '${resp_CFlg}00001', msg: 銀行系統限制交易流量}
    GTW0012:          {mappingCode: '${resp_CFlg}00001', msg: 銀行系統限制交易流量}
    GTW0020:          {mappingCode: '${resp_CFlg}00098', msg: 系統處理超時(shí)}
    GTW0000:          {mappingCode: '00000000',          msg: 系統處理完成}
  responseMapping:
    root.MsgHeader.MsgTp: '${resp_MsgTp}'
    root.MsgHeader.Drctn: '${resp_Drctn}'
    root.MsgBody.SysRtnInf.SysRtnTm: '${resp_SysRtnTm}'
- id: epcc_from_wlink_outbound_reached_response
  sort: 1
  matcher: '${pathNo}->1285 && ${msgFrom}->WLINK && ${trxPhase}->OUTBOUND_REACHED'
  type: default
  returnCodeKey: root.MsgBody.SysRtnInf
  typeKey: ''
  codeKey: SysRtnCd
  messageKey: SysRtnDesc
  replyKey: reply
  wrapReply: false
  ignoreReturnCode: false
  clearPayloadWhenFailed: false
  ignoreSuccessReturnCode: true
  extractReturnCode: false
  responseMappingCondition: failed
  defaultCodeMapping: {mappingCode: '${resp_CFlg}00098', msg: 系統異常}
  codeMapping:
    ENPT_FAIL:        {mappingCode: '${resp_CFlg}00030', msg: 響應報文敏感字段加密失敗}
    GENSGN_FAIL:      {mappingCode: '${resp_CFlg}00026', msg: 響應報文生成簽名失敗}  #這(zhè)個(gè)應該抛不(bù)出(chū)來(lái),加簽失敗會直接關連接
    GTW0020:          {mappingCode: '${resp_CFlg}00098', msg: 系統處理超時(shí)}
    GTW0000:          {mappingCode: '00000000',          msg: 系統處理完成}
  responseMapping:
    root.MsgHeader.MsgTp: '${resp_MsgTp}'
    root.MsgHeader.Drctn: '${resp_Drctn}'
    root.MsgBody.SysRtnInf.SysRtnTm: '${resp_SysRtnTm}'
Copyright © 屯昌單支科技有限公司 2019 all right reserved,powered by Gitbook聯系方式: wanglihang@mskj.com
修訂時(shí)間: 2019-09-03 17:48:17

results matching ""

    No results matching ""