Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
swiftMtMx
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
isc-v3.1-tmp
swiftMtMx
Commits
46eb73b2
Commit
46eb73b2
authored
Oct 26, 2022
by
chengzhuoshen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1.修复MX_To_MTFATFNameAndAddress2 方法
2.修复 handlingXml 方法
parent
5d4d064e
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
38 additions
and
89 deletions
+38
-89
SwiftTransfer.java
...ore/src/main/java/com/brilliance/swift/SwiftTransfer.java
+1
-1
Mx2ElementCreatorManager.java
...brilliance/swift/mx2element/Mx2ElementCreatorManager.java
+3
-22
Mx2MapCreatorManager.java
...ava/com/brilliance/swift/mx2map/Mx2MapCreatorManager.java
+3
-21
AbstractMx2MtTagsGenerate.java
...com/brilliance/swift/mx2mt/AbstractMx2MtTagsGenerate.java
+4
-4
Mx2MtCreatorManager.java
.../java/com/brilliance/swift/mx2mt/Mx2MtCreatorManager.java
+2
-21
MxMessageReader.java
.../main/java/com/brilliance/swift/util/MxMessageReader.java
+1
-20
XmlUtil.java
...Core/src/main/java/com/brilliance/swift/util/XmlUtil.java
+24
-0
No files found.
swiftCore/src/main/java/com/brilliance/swift/SwiftTransfer.java
View file @
46eb73b2
...
...
@@ -131,7 +131,7 @@ public class SwiftTransfer {
*/
public
static
Map
<
String
,
String
>
mx2MtMap
(
String
xmlStr
,
Map
<
String
,
Object
>
extraMap
)
throws
SwiftException
{
try
{
xmlStr
=
MxMessageReader
.
hand
ingXml
(
xmlStr
);
xmlStr
=
XmlUtil
.
handl
ingXml
(
xmlStr
);
SwiftTranslationReport
str
=
mx2MtPlus
(
xmlStr
,
null
,
extraMap
);
Map
<
String
,
String
>
maps
=
MxMessageReader
.
getSwfMsgInfoViaMsg
(
str
);
AbstractMX
abstractMx
=
AbstractMX
.
parse
(
xmlStr
);
...
...
swiftCore/src/main/java/com/brilliance/swift/mx2element/Mx2ElementCreatorManager.java
View file @
46eb73b2
...
...
@@ -16,13 +16,14 @@ import com.prowidesoftware.swift.model.mx.AbstractMX;
import
javax.xml.parsers.DocumentBuilder
;
import
javax.xml.parsers.DocumentBuilderFactory
;
import
java.io.ByteArrayInputStream
;
import
java.util.LinkedHashMap
;
import
java.util.Map
;
public
class
Mx2ElementCreatorManager
{
public
String
mx2Element
(
String
xmlStr
)
throws
SwiftException
{
xmlStr
=
handlingXml
(
xmlStr
);
xmlStr
=
XmlUtil
.
handlingXml
(
xmlStr
);
AbstractMX
abstractMX
=
AbstractMX
.
parse
(
xmlStr
);
String
messageType
=
(
abstractMX
.
getMxId
().
getBusinessProcess
().
name
()
+
"."
...
...
@@ -40,7 +41,7 @@ public class Mx2ElementCreatorManager {
}
public
Map
<
String
,
Object
>
mx2ElementMaps
(
String
xmlStr
)
throws
SwiftException
{
xmlStr
=
handlingXml
(
xmlStr
);
xmlStr
=
XmlUtil
.
handlingXml
(
xmlStr
);
AbstractMX
abstractMX
=
AbstractMX
.
parse
(
xmlStr
);
String
messageType
=
(
abstractMX
.
getMxId
().
getBusinessProcess
().
name
()
+
"."
...
...
@@ -72,24 +73,4 @@ public class Mx2ElementCreatorManager {
return
new
Mx2ElementDefaultCreator
();
}
}
/**
* 如果传入的xml 没有报文头,导致dom4j无法解析
* 提取xml里面的AppHdr和Document,重新组装成有效的xml报文
*/
private
String
handlingXml
(
String
xmlStr
)
{
boolean
flag
=
true
;
try
{
DocumentBuilderFactory
documentBuilderFactory
=
DocumentBuilderFactory
.
newInstance
();
DocumentBuilder
documentBuilder
=
documentBuilderFactory
.
newDocumentBuilder
();
documentBuilder
.
parse
(
xmlStr
);
}
catch
(
Exception
e
)
{
flag
=
false
;
}
if
(
flag
)
{
//如果是有效xml报文,直接返回
return
XmlUtil
.
clearXmlNamespacePrefix
(
xmlStr
);
}
else
{
return
XmlUtil
.
clearXmlNamespacePrefix
(
SwiftTransfer
.
fetchXmlFromMixMessage
(
xmlStr
));
}
}
}
swiftCore/src/main/java/com/brilliance/swift/mx2map/Mx2MapCreatorManager.java
View file @
46eb73b2
...
...
@@ -6,16 +6,18 @@ import com.brilliance.swift.mx2map.camt053.Mx2MapCamt053Creator;
import
com.brilliance.swift.mx2map.camt054.Mx2MapCamt054Creator
;
import
com.brilliance.swift.mx2map.pacs008.Mx2MapPacs008Creator
;
import
com.brilliance.swift.mx2map.pacs009.Mx2MapPacs009Creator
;
import
com.brilliance.swift.util.XmlUtil
;
import
com.prowidesoftware.swift.model.mx.AbstractMX
;
import
javax.xml.parsers.DocumentBuilder
;
import
javax.xml.parsers.DocumentBuilderFactory
;
import
java.io.ByteArrayInputStream
;
import
java.util.Map
;
public
class
Mx2MapCreatorManager
{
public
Map
<
String
,
Object
>
mx2Map
(
String
xml
,
String
localCode
)
throws
SwiftException
{
xml
=
handlingXml
(
xml
);
xml
=
XmlUtil
.
handlingXml
(
xml
);
AbstractMX
abstractMX
=
AbstractMX
.
parse
(
xml
);
String
messageType
=
(
abstractMX
.
getMxId
().
getBusinessProcess
().
name
()
+
"."
...
...
@@ -43,24 +45,4 @@ public class Mx2MapCreatorManager {
throw
new
SwiftException
(
"无效的报文类型"
);
}
}
/**
* 如果传入的xml 没有报文头,导致dom4j无法解析
* 提取xml里面的AppHdr和Document,重新组装成有效的xml报文
*/
private
String
handlingXml
(
String
xmlStr
)
{
boolean
flag
=
true
;
try
{
DocumentBuilderFactory
documentBuilderFactory
=
DocumentBuilderFactory
.
newInstance
();
DocumentBuilder
documentBuilder
=
documentBuilderFactory
.
newDocumentBuilder
();
documentBuilder
.
parse
(
xmlStr
);
}
catch
(
Exception
e
)
{
flag
=
false
;
}
if
(
flag
)
{
//如果是有效xml报文,直接返回
return
xmlStr
;
}
else
{
return
SwiftTransfer
.
fetchXmlFromMixMessage
(
xmlStr
);
}
}
}
swiftCore/src/main/java/com/brilliance/swift/mx2mt/AbstractMx2MtTagsGenerate.java
View file @
46eb73b2
...
...
@@ -2069,6 +2069,10 @@ public abstract class AbstractMx2MtTagsGenerate implements Mx2MtTagsGenerate {
mtNameAndAddress
+=
Mx2MtConstants
.
NEW_LINE
+
mtCode4
+
Mx2MtConstants
.
NEW_LINE
+
mtCode5
;
addLines
+=
2
;
}
if
(
StringUtil
.
isNotEmpty
(
mtCode8
)
&&
addLines
<
remainLines
)
{
addLines
++;
mtNameAndAddress
+=
Mx2MtConstants
.
NEW_LINE
+
mtCode8
;
}
if
(
StringUtil
.
isNotEmpty
(
mtCode6
)
&&
addLines
<
remainLines
)
{
addLines
++;
mtNameAndAddress
+=
Mx2MtConstants
.
NEW_LINE
+
mtCode6
;
...
...
@@ -2077,10 +2081,6 @@ public abstract class AbstractMx2MtTagsGenerate implements Mx2MtTagsGenerate {
addLines
++;
mtNameAndAddress
+=
Mx2MtConstants
.
NEW_LINE
+
mtCode7
;
}
if
(
StringUtil
.
isNotEmpty
(
mtCode8
)
&&
addLines
<
remainLines
)
{
addLines
++;
mtNameAndAddress
+=
Mx2MtConstants
.
NEW_LINE
+
mtCode8
;
}
}
}
return
mtNameAndAddress
;
...
...
swiftCore/src/main/java/com/brilliance/swift/mx2mt/Mx2MtCreatorManager.java
View file @
46eb73b2
...
...
@@ -26,13 +26,14 @@ import org.dom4j.DocumentHelper;
import
javax.xml.parsers.DocumentBuilder
;
import
javax.xml.parsers.DocumentBuilderFactory
;
import
java.io.ByteArrayInputStream
;
import
java.util.Map
;
public
class
Mx2MtCreatorManager
{
public
SwiftTranslationReport
mx2Mt
(
String
xml
,
String
fileOutputPath
,
Map
<
String
,
Object
>
extraMap
)
throws
SwiftException
{
try
{
xml
=
handlingXml
(
xml
);
xml
=
XmlUtil
.
handlingXml
(
xml
);
AbstractMX
abstractMX
=
AbstractMX
.
parse
(
xml
);
String
messageType
=
(
abstractMX
.
getMxId
().
getBusinessProcess
().
name
()
+
"."
...
...
@@ -153,24 +154,4 @@ public class Mx2MtCreatorManager {
}
return
messageType
;
}
/**
* 如果传入的xml 没有报文头,导致dom4j无法解析
* 提取xml里面的AppHdr和Document,重新组装成有效的xml报文
*/
private
String
handlingXml
(
String
xmlStr
)
{
boolean
flag
=
true
;
try
{
DocumentBuilderFactory
documentBuilderFactory
=
DocumentBuilderFactory
.
newInstance
();
DocumentBuilder
documentBuilder
=
documentBuilderFactory
.
newDocumentBuilder
();
documentBuilder
.
parse
(
xmlStr
);
}
catch
(
Exception
e
)
{
flag
=
false
;
}
if
(
flag
)
{
//如果是有效xml报文,直接返回
return
xmlStr
;
}
else
{
return
SwiftTransfer
.
fetchXmlFromMixMessage
(
xmlStr
);
}
}
}
swiftCore/src/main/java/com/brilliance/swift/util/MxMessageReader.java
View file @
46eb73b2
...
...
@@ -13,6 +13,7 @@ import com.prowidesoftware.swift.model.mt.AbstractMT;
import
javax.xml.parsers.DocumentBuilder
;
import
javax.xml.parsers.DocumentBuilderFactory
;
import
java.io.ByteArrayInputStream
;
import
java.io.IOException
;
import
java.util.HashMap
;
import
java.util.List
;
...
...
@@ -440,24 +441,4 @@ public class MxMessageReader {
throw
new
SwiftException
(
e
.
getMessage
());
}
}
/**
* 如果传入的xml 没有报文头,导致dom4j无法解析
* 提取xml里面的AppHdr和Document,重新组装成有效的xml报文
*/
public
static
String
handingXml
(
String
xmlStr
)
{
boolean
flag
=
true
;
try
{
DocumentBuilderFactory
documentBuilderFactory
=
DocumentBuilderFactory
.
newInstance
();
DocumentBuilder
documentBuilder
=
documentBuilderFactory
.
newDocumentBuilder
();
documentBuilder
.
parse
(
xmlStr
);
}
catch
(
Exception
e
)
{
flag
=
false
;
}
if
(
flag
)
{
//如果是有效xml报文,直接返回
return
xmlStr
;
}
else
{
return
SwiftTransfer
.
fetchXmlFromMixMessage
(
xmlStr
);
}
}
}
swiftCore/src/main/java/com/brilliance/swift/util/XmlUtil.java
View file @
46eb73b2
package
com
.
brilliance
.
swift
.
util
;
import
com.brilliance.swift.SwiftTransfer
;
import
org.dom4j.*
;
import
org.dom4j.io.SAXReader
;
import
javax.xml.parsers.DocumentBuilder
;
import
javax.xml.parsers.DocumentBuilderFactory
;
import
java.io.ByteArrayInputStream
;
import
java.io.File
;
import
java.net.URL
;
import
java.util.HashMap
;
...
...
@@ -199,4 +203,24 @@ public class XmlUtil {
xmlStr
=
xmlStr
.
replaceAll
(
"xmlns:([\\w]*)"
,
"xmlns"
);
return
xmlStr
;
}
/**
* 如果传入的xml 没有报文头,导致dom4j无法解析
* 提取xml里面的AppHdr和Document,重新组装成有效的xml报文
*/
public
static
String
handlingXml
(
String
xmlStr
)
{
boolean
flag
=
true
;
try
{
DocumentBuilderFactory
documentBuilderFactory
=
DocumentBuilderFactory
.
newInstance
();
DocumentBuilder
documentBuilder
=
documentBuilderFactory
.
newDocumentBuilder
();
documentBuilder
.
parse
(
new
ByteArrayInputStream
(
xmlStr
.
getBytes
()));
}
catch
(
Exception
e
)
{
flag
=
false
;
}
if
(
flag
)
{
//如果是有效xml报文,直接返回
return
xmlStr
;
}
else
{
return
SwiftTransfer
.
fetchXmlFromMixMessage
(
xmlStr
);
}
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment