ngx-soap-next
Version:
SOAP service for Angular
52 lines • 6.3 kB
JavaScript
/*
* Copyright (c) 2011 Vinay Pulim <vinay@milewise.com>
* MIT Licensed
*/
import * as wsdl from './wsdl';
import { security } from './security/security';
import { Client } from './client';
export { Client } from './client';
export { security } from './security/security';
export { passwordDigest } from './utils';
export const WSDL = wsdl.WSDL;
const cache = {}; // TODO some caching?
const getFromCache = async (url, options) => {
// console.log('Getting from cache', url);
// console.log('Cache', cache)
if (cache[url]) {
// console.log('Found in cache', url);
return cache[url];
}
else {
return wsdl.open_wsdl(url, options).then(wsdl => {
cache[url] = wsdl;
return wsdl;
});
}
};
async function _requestWSDL(url, options) {
if (options.disableCache === true) {
return wsdl.open_wsdl(url, options);
}
else {
return getFromCache(url, options);
}
}
export async function createClient(url, options, endpoint) {
if (typeof options === 'undefined') {
options = {};
}
// console.log("createClient", options)
endpoint = options.endpoint || endpoint;
const wsdl = await _requestWSDL(url, options);
const client = new Client(wsdl, endpoint, options);
return client;
}
export const BasicAuthSecurity = security.BasicAuthSecurity;
export const NTLMSecurity = security.NTLMSecurity;
export const WSSecurity = security.WSSecurity;
// export const WSSecurityCert = security.WSSecurityCert;
export const BearerSecurity = security.BearerSecurity;
// export const ClientSSLSecurity = security.ClientSSLSecurity;
// export const ClientSSLSecurityPFX = security.ClientSSLSecurityPFX;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29hcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zb2FwL3NyYy9saWIvc29hcC9zb2FwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUVILE9BQU8sS0FBSyxJQUFJLE1BQU0sUUFBUSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbEMsT0FBTyxFQUFFLFFBQVEsRUFBRyxNQUFNLHFCQUFxQixDQUFDO0FBRWhELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxTQUFTLENBQUE7QUFDeEMsTUFBTSxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7QUFFOUIsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDLENBQUMscUJBQXFCO0FBRXZDLE1BQU0sWUFBWSxHQUFHLEtBQUssRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLEVBQUU7SUFDMUMsMENBQTBDO0lBQzFDLDhCQUE4QjtJQUM5QixJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRTtRQUNkLHNDQUFzQztRQUN0QyxPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztLQUNuQjtTQUFNO1FBQ0wsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDOUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQztZQUNsQixPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQyxDQUFBO0tBQ0g7QUFDSCxDQUFDLENBQUM7QUFFRixLQUFLLFVBQVUsWUFBWSxDQUFDLEdBQUcsRUFBRSxPQUFPO0lBQ3RDLElBQUksT0FBTyxDQUFDLFlBQVksS0FBSyxJQUFJLEVBQUU7UUFDakMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztLQUNyQztTQUFNO1FBQ0wsT0FBTyxZQUFZLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0tBQ25DO0FBQ0gsQ0FBQztBQUVELE1BQU0sQ0FBQyxLQUFLLFVBQVUsWUFBWSxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsUUFBUTtJQUN2RCxJQUFJLE9BQU8sT0FBTyxLQUFLLFdBQVcsRUFBRTtRQUNsQyxPQUFPLEdBQUcsRUFBRSxDQUFDO0tBQ2Q7SUFDRCx1Q0FBdUM7SUFDdkMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLElBQUksUUFBUSxDQUFDO0lBRXhDLE1BQU0sSUFBSSxHQUFHLE1BQU0sWUFBWSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM5QyxNQUFNLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ25ELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxRQUFRLENBQUMsaUJBQWlCLENBQUM7QUFDNUQsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUM7QUFDbEQsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUM7QUFDOUMseURBQXlEO0FBQ3pELE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDO0FBQ3RELCtEQUErRDtBQUMvRCxxRUFBcUUiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDExIFZpbmF5IFB1bGltIDx2aW5heUBtaWxld2lzZS5jb20+XG4gKiBNSVQgTGljZW5zZWRcbiAqL1xuXG5pbXBvcnQgKiBhcyB3c2RsIGZyb20gJy4vd3NkbCc7XG5pbXBvcnQgeyBzZWN1cml0eSB9IGZyb20gJy4vc2VjdXJpdHkvc2VjdXJpdHknO1xuaW1wb3J0IHsgQ2xpZW50IH0gZnJvbSAnLi9jbGllbnQnO1xuZXhwb3J0IHsgQ2xpZW50IH0gZnJvbSAnLi9jbGllbnQnO1xuZXhwb3J0IHsgc2VjdXJpdHkgIH0gZnJvbSAnLi9zZWN1cml0eS9zZWN1cml0eSc7XG5cbmV4cG9ydCB7IHBhc3N3b3JkRGlnZXN0IH0gZnJvbSAnLi91dGlscydcbmV4cG9ydCBjb25zdCBXU0RMID0gd3NkbC5XU0RMO1xuXG5jb25zdCBjYWNoZSA9IHt9OyAvLyBUT0RPIHNvbWUgY2FjaGluZz9cblxuY29uc3QgZ2V0RnJvbUNhY2hlID0gYXN5bmMgKHVybCwgb3B0aW9ucykgPT4ge1xuICAvLyBjb25zb2xlLmxvZygnR2V0dGluZyBmcm9tIGNhY2hlJywgdXJsKTtcbiAgLy8gY29uc29sZS5sb2coJ0NhY2hlJywgY2FjaGUpXG4gIGlmIChjYWNoZVt1cmxdKSB7XG4gICAgLy8gY29uc29sZS5sb2coJ0ZvdW5kIGluIGNhY2hlJywgdXJsKTtcbiAgICByZXR1cm4gY2FjaGVbdXJsXTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gd3NkbC5vcGVuX3dzZGwodXJsLCBvcHRpb25zKS50aGVuKHdzZGwgPT4ge1xuICAgICAgY2FjaGVbdXJsXSA9IHdzZGw7XG4gICAgICByZXR1cm4gd3NkbDtcbiAgICB9KVxuICB9XG59O1xuXG5hc3luYyBmdW5jdGlvbiBfcmVxdWVzdFdTREwodXJsLCBvcHRpb25zKSB7XG4gIGlmIChvcHRpb25zLmRpc2FibGVDYWNoZSA9PT0gdHJ1ZSkge1xuICAgIHJldHVybiB3c2RsLm9wZW5fd3NkbCh1cmwsIG9wdGlvbnMpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBnZXRGcm9tQ2FjaGUodXJsLCBvcHRpb25zKTtcbiAgfVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlQ2xpZW50KHVybCwgb3B0aW9ucywgZW5kcG9pbnQpOiBQcm9taXNlPGFueT4ge1xuICBpZiAodHlwZW9mIG9wdGlvbnMgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgb3B0aW9ucyA9IHt9O1xuICB9XG4gIC8vIGNvbnNvbGUubG9nKFwiY3JlYXRlQ2xpZW50XCIsIG9wdGlvbnMpXG4gIGVuZHBvaW50ID0gb3B0aW9ucy5lbmRwb2ludCB8fCBlbmRwb2ludDtcbiAgXG4gIGNvbnN0IHdzZGwgPSBhd2FpdCBfcmVxdWVzdFdTREwodXJsLCBvcHRpb25zKTtcbiAgY29uc3QgY2xpZW50ID0gbmV3IENsaWVudCh3c2RsLCBlbmRwb2ludCwgb3B0aW9ucyk7XG4gIHJldHVybiBjbGllbnQ7XG59XG5cbmV4cG9ydCBjb25zdCBCYXNpY0F1dGhTZWN1cml0eSA9IHNlY3VyaXR5LkJhc2ljQXV0aFNlY3VyaXR5O1xuZXhwb3J0IGNvbnN0IE5UTE1TZWN1cml0eSA9IHNlY3VyaXR5Lk5UTE1TZWN1cml0eTtcbmV4cG9ydCBjb25zdCBXU1NlY3VyaXR5ID0gc2VjdXJpdHkuV1NTZWN1cml0eTtcbi8vIGV4cG9ydCBjb25zdCBXU1NlY3VyaXR5Q2VydCA9IHNlY3VyaXR5LldTU2VjdXJpdHlDZXJ0O1xuZXhwb3J0IGNvbnN0IEJlYXJlclNlY3VyaXR5ID0gc2VjdXJpdHkuQmVhcmVyU2VjdXJpdHk7XG4vLyBleHBvcnQgY29uc3QgQ2xpZW50U1NMU2VjdXJpdHkgPSBzZWN1cml0eS5DbGllbnRTU0xTZWN1cml0eTtcbi8vIGV4cG9ydCBjb25zdCBDbGllbnRTU0xTZWN1cml0eVBGWCA9IHNlY3VyaXR5LkNsaWVudFNTTFNlY3VyaXR5UEZYO1xuIl19