UNPKG

ynu-ws-client

Version:

A WebService Client for YNU based Jinzhi systems.

94 lines (79 loc) 2.45 kB
import _Promise from 'babel-runtime/core-js/promise'; import _classCallCheck from 'babel-runtime/helpers/classCallCheck'; import _createClass from 'babel-runtime/helpers/createClass'; import { createClient } from 'soap'; import _defineProperty from 'babel-runtime/helpers/defineProperty'; import _extends from 'babel-runtime/helpers/extends'; // WSDL地址 var wsdl = 'http://ws.ynu.edu.cn/zsj-service/webservice/wscommoninterface?wsdl'; // namespace值 var namespace = 'http://wscommon.publish.ws.zsj.wisedu.com/'; var wsdlOptions = { overrideRootElement: { namespace: 'ns', xmlnsAttributes: [{ name: 'xmlns:ns', value: namespace }] } }; var Client$1 = function () { function Client(options) { _classCallCheck(this, Client); this.Username = options.username; this.Password = options.password; } _createClass(Client, [{ key: 'invoke', value: function invoke(interfaceId, pageNum, pageSize, params) { var args = { arg0: { interfaceId: interfaceId, pageNum: pageNum, pageSize: pageSize, params: params } }; var Username = this.Username; var Password = this.Password; var extraHeaders = { Username: Username, Password: Password }; return new _Promise(function (resolve, reject) { try { createClient(wsdl, wsdlOptions, function (err, client) { if (err) reject(err);else { client.getData(args, {}, extraHeaders, function (err2, result) { if (err) reject(err);else { resolve(result.return); } }); } }); } catch (e) { reject(e); } }); } }]); return Client; }(); var SUCCESS = '600000'; var SUCCESS_WHITOUT_DATA = '601000'; var INVALID_INTERFACE = '602002'; var returnCodes = Object.freeze({ SUCCESS: SUCCESS, SUCCESS_WHITOUT_DATA: SUCCESS_WHITOUT_DATA, INVALID_INTERFACE: INVALID_INTERFACE }); // 将Web服务返回的数据组合成JSON对象 var composeData = function composeData(data) { return data.values.map(function (column) { return column.item.reduce(function (obj, value, curIndex) { return _extends({}, obj, _defineProperty({}, data.columns[curIndex], value)); }, {}); }); }; export { returnCodes, composeData };export default Client$1; //# sourceMappingURL=index.es6.js.map