2025-04-23 09:34:08 +08:00

91 lines
3.4 KiB
TypeScript

import * as sax from 'sax';
import { NamespaceContext } from '../nscontext';
import { IOptions } from '../types';
import * as elements from './elements';
interface IInitializedOptions extends IOptions {
ignoredNamespaces?: string[];
}
export declare class WSDL {
ignoredNamespaces: string[];
ignoreBaseNameSpaces: boolean;
valueKey: string;
xmlKey: string;
xmlnsInEnvelope: string;
xmlnsInHeader: string;
uri: string;
definitions: elements.DefinitionsElement;
options: IInitializedOptions;
private callback;
private services;
private xml;
private _includesWsdl;
private _originalIgnoredNamespaces;
constructor(definition: any, uri: string, options: IOptions);
onReady(callback: (err: Error) => void): void;
processIncludes(callback: any): void;
describeServices(): {};
toXML(): string;
getSaxStream(xml: any): sax.SAXStream;
xmlToObject(xml: any, callback?: any): any;
/**
* Look up a XSD type or element by namespace URI and name
* @param {String} nsURI Namespace URI
* @param {String} qname Local or qualified name
* @returns {*} The XSD type/element definition
*/
findSchemaObject(nsURI: string, qname: string): any;
/**
* Create document style xml string from the parameters
* @param {String} name
* @param {*} params
* @param {String} nsPrefix
* @param {String} nsURI
* @param {String} type
*/
objectToDocumentXML(name: string, params: any, nsPrefix: string, nsURI?: string, type?: string): any;
/**
* Create RPC style xml string from the parameters
* @param {String} name
* @param {*} params
* @param {String} nsPrefix
* @param {String} nsURI
* @returns {string}
*/
objectToRpcXML(name: string, params: any, nsPrefix: string, nsURI: string, isParts?: boolean): string;
isIgnoredNameSpace(ns: string): boolean;
filterOutIgnoredNameSpace(ns: string): string;
/**
* Convert an object to XML. This is a recursive method as it calls itself.
*
* @param {Object} obj the object to convert.
* @param {String} name the name of the element (if the object being traversed is
* an element).
* @param {String} nsPrefix the namespace prefix of the object I.E. xsd.
* @param {String} nsURI the full namespace of the object I.E. http://w3.org/schema.
* @param {Boolean} isFirst whether or not this is the first item being traversed.
* @param {?} xmlnsAttr
* @param {?} parameterTypeObject
* @param {NamespaceContext} nsContext Namespace context
*/
objectToXML(obj: any, name: string, nsPrefix: any, nsURI: string, isFirst?: boolean, xmlnsAttr?: any, schemaObject?: any, nsContext?: NamespaceContext): any;
processAttributes(child: any, nsContext: NamespaceContext): string;
/**
* Look up a schema type definition
* @param name
* @param nsURI
* @returns {*}
*/
findSchemaType(name: any, nsURI: any): any;
findChildSchemaObject(parameterTypeObj: any, childName: any, backtrace?: any): any;
private _initializeOptions;
private _processNextInclude;
private _parse;
private _fromXML;
private _fromServices;
private _xmlnsMap;
}
declare type WSDLCallback = (error: any, result?: WSDL) => any;
export declare function open_wsdl(uri: any, callback: WSDLCallback): any;
export declare function open_wsdl(uri: any, options: IOptions, callback: WSDLCallback): any;
export {};