PE框架從入門到放棄 報文傳送流程

2021-10-08 10:25:53 字數 2839 閱讀 8380

pe框架傳送報文,適用於pe及vx技術

步驟:1.在action中使用傳送報文,要指定報文在router端的交易名稱

2.如果使用supe.execute(context)來傳送,不需要第一步

3.配置從網銀到router的xml報文

4.根據網銀交易名匹配到router端交易名(這裡對應的是第2步,如果用第一步的方式,可以跳過)

5.在router端配置交易,記住命名空間,交易名等要一致

6.配置報文編碼,轉換為主機的編碼(交易名對應的數字)

7.配置router到主機的報文

8.配置主機返回router的報文

9.配置router返回網銀的報文

傳送報文配置xml,以查詢卡資訊為例(cifactsqrybylhw):

1.在action中呼叫這句,就是用乙個map來裝載返回的報文內容

tohostmap.put(constants.host_transaction_code,"pquery.cifactsqrybylhw");

雙引號中的是在router端呼叫的交易名稱,前半部為命名空間(同時也是報文的名稱)

//還要使用這個來傳送

map resultmap=(map)this.issuehosttrs(context,map); 

使用這種方式傳送報文,由於指定了router端的交易名稱,所以不需要在resolver.xml中配置

也可以使用super.execute(context)來傳送報文,這樣上面兩步都不用了,不過一樣要引入父類parent="basequeryaction",使用這種方式傳送報文,報文交易名必須在common包下的resolver.xml中配置(否則不知道該呼叫router端的那個交易)

2.配置從網銀到路由的報文fsegquery.cifactsqrybylhw.xml,放在當前交易包下,

config.outbound.csxml.packets

"cardno" >

"pageno"defaultvalue="0001">

格式就是fseg+報文名稱.xml

3.在resolver.xml中配置報文名稱所對應的交易id,在router端還要呼叫這個交易去發報文到前置。該xml在網銀端common包下(如果在第1步中指定了交易名稱,此步可以跳過,它其實是根據網銀交易名匹配router到主機的交易名)

"cifactsqrybylhw">pquery.cifactsqrybylhw

前面的name就是網銀交易名稱,這個一般router中的和要發報文的交易都是相同的,後面的是報文名稱,同時也是在router中的交易名稱,pquery為命名空間

4.在router包的xml內定義交易,就是上面的那個id,注意namespace和transaction要與匹配的一致

"cifactsqrybylhw" template="publicquerytemplate">

"action">cifactsqrybycardqueryaction

這裡是在router中定義的,一般查詢就是用publicquerytemplate,有操作的用publictwophasetrstemplate

5.配置從路由到前置(主機)的報文fsegpquery.cifactsqrybylhw.xml,放在router包,

config.pquery.outbound.gdrcu.packets

"card_no">"cardno" >

"page_no">"pageno" >

格式就是fseg+報文名稱.xml

6.在router端定義報文對應的介面名稱,就是你所發報文與介面的對應關係,因為主機使用的是自己的編碼,而不是網銀的編碼

"pquery.cifactsqrybylhw">11130004

7.配置前置到路由router的返回報文pquery.cifactsqrybylhw.xml,放在

rotuer端

(經過第6步的轉換,這裡自動由p11130004.xml變為pquery.cifactsqrybylhw.xml)

"parse">

"currency" alias="curreny"  />

"acctstate" alias="acct_status"/>

格式就是p+報文名稱.xml

如果返回的是list,如下:

"parse">

"list" alias="list" >

"acno" alias="acct_no"  />

8.配置路由router到網銀的返回報文fsegpquery.cifactsqrybylhw.xml,放在

router端config.inbound.csxml.packets

"list"  >

"map">

"acno">

"acflag">

格式就是fseg+報文名稱.xml

如果返回的是map,不是list,那麼如下寫:

"acctno" >

"acname" >

pe框架傳送報文,適用於pe及vx技術

步驟:1.在action中使用傳送報文,要指定報文在router端的交易名稱

2.如果使用supe.execute(context)來傳送,不需要第一步

3.配置從網銀到router的xml報文

4.根據網銀交易名匹配到router端交易名(這裡對應的是第2步,如果用第一步的方式,可以跳過)

5.在router端配置交易,記住命名空間,交易名等要一致

6.配置報文編碼,轉換為主機的編碼(交易名對應的數字)

7.配置router到主機的報文

8.配置主機返回router的報文

9.配置router返回網銀的報文

kmp從入門到放棄

標籤 kmp 擴充套件kmp 給你兩個字串,你需要回答,b串是否是a串的子串 a串是否包含b串 a aaaaaaaaaaaaaaaaaaaaaaaaaab b aaaaaaaab 最壞狀態 o mn 一般做法 for 列舉b在a串中的起始位置 for 向後比較ab是否相等 o n m 傳說中的kmp...

beego 從入門到放棄

beego 的專案基本都是通過 bee命令來建立的,所以在建立專案之前確保你已經安裝了 bee 工具和 beego。如果你還沒有安裝,那麼請查閱 beego 的安裝 和 bee 工具的安裝 現在一切就緒我們就可以開始建立專案了,開啟終端,進入 gopath src 所在的目錄 建立乙個專案名為201...

Flutter從入門到放棄

本篇主要記錄下flutter的學習路線。一 認識flutter 可以檢視這些文章 二 dart語言 1 認識dart語言 2 學習 從2018.02開始出現dart2,屬於強型別語言。介紹位址參考 三 開始flutter 網上也有很多部落格介紹了flutter怎麼安裝,但大多介紹不全,第一次安裝難免...