ynu-ws-client
Version:
A WebService Client for YNU based Jinzhi systems.
102 lines (84 loc) • 2.78 kB
JavaScript
;
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