import { parseXml } from "./parseXml"; import { xml2json } from "./xml2json"; import { NativeModules } from 'react-native'; const dsa = NativeModules.DSAServices; /** * 呼叫 Service。 * @param contract * @param serviceName * @param body */ export function send(contract, serviceName, body ): Promise { return new Promise((resolve, reject) => { let rootName = "Request"; let xmlreq = ""; if (body) { for (const root in body) { rootName = root; break; } let xmlparser = parseXml.CreateParser(); xmlreq = xmlparser.parse(body[rootName], rootName); //xml2json.parse(body) } dsa.call(contract, serviceName, xmlreq, (err, rsp) => { if (err) { const jsonrsp1 = xml2json.parse(err); reject(jsonrsp1); } else { let jsonrsp = xml2json.parse(rsp); if(jsonrsp.error) { reject(jsonrsp); } else { resolve(jsonrsp); } } }); }) }