UNPKG

ynu-ws-client

Version:

A WebService Client for YNU based Jinzhi systems.

102 lines (84 loc) 2.78 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } var _Promise = _interopDefault(require('babel-runtime/core-js/promise')); var _classCallCheck = _interopDefault(require('babel-runtime/helpers/classCallCheck')); var _createClass = _interopDefault(require('babel-runtime/helpers/createClass')); var soap = require('soap'); var _defineProperty = _interopDefault(require('babel-runtime/helpers/defineProperty')); var _extends = _interopDefault(require('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 { soap.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)); }, {}); }); }; exports.returnCodes = returnCodes; exports['default'] = Client$1; exports.composeData = composeData; //# sourceMappingURL=index.js.map