@graphql-mesh/soap
Version:
67 lines (66 loc) • 1.62 kB
TypeScript
/**
* SOAP endpoint defined by a WSDL.
*/
export interface SoapEndpoint {
services(): SoapService[];
/**
* Returns a textual, human readable description of the soap endpoint.
* Note: ATM this is only used to have at least one query field in the GraphQLSchema.
*/
description(): string;
}
export interface SoapService {
endpoint(): SoapEndpoint;
name(): string;
ports(): SoapPort[];
}
export interface SoapPort {
endpoint(): SoapEndpoint;
service(): SoapService;
name(): string;
operations(): SoapOperation[];
}
export interface SoapOperation {
endpoint(): SoapEndpoint;
service(): SoapService;
port(): SoapPort;
name(): string;
/**
* Arguments that this operation accepts.
*/
args(): SoapOperationArg[];
/**
* Output that this operation provides if called.
*/
output(): {
type: SoapType;
isList: boolean;
};
/**
* The field in the SOAP output message that contains the actual output.
*/
resultField(): string;
}
/**
* A type declared in the WSDL.
*/
export declare type SoapType = SoapObjectType | SoapPrimitiveType;
/**
* A primitive type in the WSDL - only defined by its name.
*/
export declare type SoapPrimitiveType = string;
/**
* An object type in the WSDL.
* Defined by its name, fields and maybe a base type.
*/
export interface SoapObjectType {
name: string;
base: SoapObjectType;
fields: SoapField[];
}
export interface SoapField {
name: string;
type: SoapType;
isList: boolean;
}
export declare type SoapOperationArg = SoapField;