DHI XML
Rust community library for serializaing/deserializing TSYS DHI (Device Host Interface) XML messages.
Usage
use ;
DHI requests:
// JSON payload (for example, from HTTP request)
let iso_data = r#"{
"i000": "0100",
"i002": "555544******0895",
"i007": "Transmission date & time ",
"i011": "STAN",
"i012": "hhmmss",
"i013": "MMDD",
"i037": "Retrieval Reference Number"
}"#;
// Deserializing request from the given JSON payload
let r: DHIRequest = new;
// The data may now be accessed with
assert_eq!;
// Serialization
let msg = r.serialize.unwrap;
// The message may be sent through the TCP stream
let s = connect;
s.write_all;
DHI response:
let s = r##"
<?xml version="1.0"?>
<RequestResponse>
<Header/>
<Result><Code>0</Code><Description>OK</Description></Result>
<ISO8583-87><i000>0110</i000><i002>555544******0961</i002><i003>300000</i003><i004>000000000000</i004><i007>2804114717</i007></ISO8583-87>"
</RequestResponse>
"##;
// Deserialization from the XML payload
let resp: DHIResponse = from_reader.unwrap;
// Accessing data
assert_eq!;
assert_eq!;
assert_eq!;
assert_eq!;
// Serializing response to JSON
let msg = resp.serialize.unwrap;
// Sending as payload in HTTP response
Ok,