@robinpath/soap 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,92 @@
1
+ # @robinpath/soap
2
+
3
+ > SOAP web service client, XML-RPC support, WSDL parsing, and envelope building
4
+
5
+ ![Category](https://img.shields.io/badge/category-Web-blue) ![Functions](https://img.shields.io/badge/functions-9-green) ![Auth](https://img.shields.io/badge/auth-none-lightgrey) ![License](https://img.shields.io/badge/license-MIT-brightgreen)
6
+
7
+ ## Why use this module?
8
+
9
+ The `soap` module lets you:
10
+
11
+ - Call a SOAP web service
12
+ - Build SOAP XML envelope
13
+ - Parse SOAP XML response
14
+ - Call XML-RPC service
15
+ - Build XML-RPC request
16
+
17
+ All functions are callable directly from RobinPath scripts with a simple, consistent API.
18
+
19
+ ## Installation
20
+
21
+ ```bash
22
+ npm install @robinpath/soap
23
+ ```
24
+
25
+ ## Quick Start
26
+
27
+ No credentials needed — start using it right away:
28
+
29
+ ```robinpath
30
+ soap.buildEnvelope "GetUser" {"id": 1}
31
+ ```
32
+
33
+ ## Available Functions
34
+
35
+ | Function | Description |
36
+ |----------|-------------|
37
+ | `soap.call` | Call a SOAP web service |
38
+ | `soap.buildEnvelope` | Build SOAP XML envelope |
39
+ | `soap.parseEnvelope` | Parse SOAP XML response |
40
+ | `soap.xmlRpc` | Call XML-RPC service |
41
+ | `soap.buildXmlRpc` | Build XML-RPC request |
42
+ | `soap.parseXmlRpc` | Parse XML-RPC response |
43
+ | `soap.wsdl` | Fetch and parse WSDL |
44
+ | `soap.fault` | Create SOAP fault XML |
45
+ | `soap.getFault` | Extract fault from SOAP XML |
46
+
47
+ ## Examples
48
+
49
+ ### Build SOAP XML envelope
50
+
51
+ ```robinpath
52
+ soap.buildEnvelope "GetUser" {"id": 1}
53
+ ```
54
+
55
+ ### Parse SOAP XML response
56
+
57
+ ```robinpath
58
+ soap.parseEnvelope $xml
59
+ ```
60
+
61
+ ### Call XML-RPC service
62
+
63
+ ```robinpath
64
+ soap.xmlRpc "http://example.com/rpc" "system.listMethods" []
65
+ ```
66
+
67
+ ## Integration with RobinPath
68
+
69
+ ```typescript
70
+ import { RobinPath } from "@wiredwp/robinpath";
71
+ import Module from "@robinpath/soap";
72
+
73
+ const rp = new RobinPath();
74
+ rp.registerModule(Module.name, Module.functions);
75
+ rp.registerModuleMeta(Module.name, Module.functionMetadata);
76
+
77
+ const result = await rp.executeScript(`
78
+ soap.buildEnvelope "GetUser" {"id": 1}
79
+ `);
80
+ ```
81
+
82
+ ## Full API Reference
83
+
84
+ See [MODULE.md](./MODULE.md) for complete documentation including all parameters, return types, error handling, and advanced examples.
85
+
86
+ ## Related Modules
87
+
88
+ - [`@robinpath/json`](../json) — JSON module for complementary functionality
89
+
90
+ ## License
91
+
92
+ MIT
@@ -0,0 +1,6 @@
1
+ import type { ModuleAdapter } from "@wiredwp/robinpath";
2
+ declare const SoapModule: ModuleAdapter;
3
+ export default SoapModule;
4
+ export { SoapModule };
5
+ export { SoapFunctions, SoapFunctionMetadata, SoapModuleMetadata } from "./soap.js";
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,QAAA,MAAM,UAAU,EAAE,aAAmK,CAAC;AACtL,eAAe,UAAU,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,CAAC;AACtB,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,6 @@
1
+ import { SoapFunctions, SoapFunctionMetadata, SoapModuleMetadata } from "./soap.js";
2
+ const SoapModule = { name: "soap", functions: SoapFunctions, functionMetadata: SoapFunctionMetadata, moduleMetadata: SoapModuleMetadata, global: false };
3
+ export default SoapModule;
4
+ export { SoapModule };
5
+ export { SoapFunctions, SoapFunctionMetadata, SoapModuleMetadata } from "./soap.js";
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AACpF,MAAM,UAAU,GAAkB,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,gBAAgB,EAAE,oBAA2B,EAAE,cAAc,EAAE,kBAAyB,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AACtL,eAAe,UAAU,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,CAAC;AACtB,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC"}
package/dist/soap.d.ts ADDED
@@ -0,0 +1,126 @@
1
+ import type { BuiltinHandler } from "@wiredwp/robinpath";
2
+ export declare const SoapFunctions: Record<string, BuiltinHandler>;
3
+ export declare const SoapFunctionMetadata: {
4
+ call: {
5
+ description: string;
6
+ parameters: {
7
+ name: string;
8
+ dataType: string;
9
+ description: string;
10
+ formInputType: string;
11
+ required: boolean;
12
+ }[];
13
+ returnType: string;
14
+ returnDescription: string;
15
+ example: string;
16
+ };
17
+ buildEnvelope: {
18
+ description: string;
19
+ parameters: {
20
+ name: string;
21
+ dataType: string;
22
+ description: string;
23
+ formInputType: string;
24
+ required: boolean;
25
+ }[];
26
+ returnType: string;
27
+ returnDescription: string;
28
+ example: string;
29
+ };
30
+ parseEnvelope: {
31
+ description: string;
32
+ parameters: {
33
+ name: string;
34
+ dataType: string;
35
+ description: string;
36
+ formInputType: string;
37
+ required: boolean;
38
+ }[];
39
+ returnType: string;
40
+ returnDescription: string;
41
+ example: string;
42
+ };
43
+ xmlRpc: {
44
+ description: string;
45
+ parameters: {
46
+ name: string;
47
+ dataType: string;
48
+ description: string;
49
+ formInputType: string;
50
+ required: boolean;
51
+ }[];
52
+ returnType: string;
53
+ returnDescription: string;
54
+ example: string;
55
+ };
56
+ buildXmlRpc: {
57
+ description: string;
58
+ parameters: {
59
+ name: string;
60
+ dataType: string;
61
+ description: string;
62
+ formInputType: string;
63
+ required: boolean;
64
+ }[];
65
+ returnType: string;
66
+ returnDescription: string;
67
+ example: string;
68
+ };
69
+ parseXmlRpc: {
70
+ description: string;
71
+ parameters: {
72
+ name: string;
73
+ dataType: string;
74
+ description: string;
75
+ formInputType: string;
76
+ required: boolean;
77
+ }[];
78
+ returnType: string;
79
+ returnDescription: string;
80
+ example: string;
81
+ };
82
+ wsdl: {
83
+ description: string;
84
+ parameters: {
85
+ name: string;
86
+ dataType: string;
87
+ description: string;
88
+ formInputType: string;
89
+ required: boolean;
90
+ }[];
91
+ returnType: string;
92
+ returnDescription: string;
93
+ example: string;
94
+ };
95
+ fault: {
96
+ description: string;
97
+ parameters: {
98
+ name: string;
99
+ dataType: string;
100
+ description: string;
101
+ formInputType: string;
102
+ required: boolean;
103
+ }[];
104
+ returnType: string;
105
+ returnDescription: string;
106
+ example: string;
107
+ };
108
+ getFault: {
109
+ description: string;
110
+ parameters: {
111
+ name: string;
112
+ dataType: string;
113
+ description: string;
114
+ formInputType: string;
115
+ required: boolean;
116
+ }[];
117
+ returnType: string;
118
+ returnDescription: string;
119
+ example: string;
120
+ };
121
+ };
122
+ export declare const SoapModuleMetadata: {
123
+ description: string;
124
+ methods: string[];
125
+ };
126
+ //# sourceMappingURL=soap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"soap.d.ts","sourceRoot":"","sources":["../src/soap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAoC,MAAM,oBAAoB,CAAC;AA6L3F,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAmG,CAAC;AAE7J,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAUhC,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;CAG9B,CAAC"}
package/dist/soap.js ADDED
@@ -0,0 +1,234 @@
1
+ function escapeXml(s) {
2
+ return s.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&apos;");
3
+ }
4
+ function jsToXml(value, tag) {
5
+ if (value === null || value === undefined)
6
+ return tag ? `<${tag} xsi:nil="true"/>` : "";
7
+ if (typeof value === "boolean" || typeof value === "number")
8
+ return tag ? `<${tag}>${value}</${tag}>` : String(value);
9
+ if (typeof value === "string")
10
+ return tag ? `<${tag}>${escapeXml(value)}</${tag}>` : escapeXml(value);
11
+ if (Array.isArray(value))
12
+ return value.map((v) => jsToXml(v, tag)).join("");
13
+ if (typeof value === "object") {
14
+ const entries = Object.entries(value);
15
+ const inner = entries.map(([k, v]) => jsToXml(v, k)).join("");
16
+ return tag ? `<${tag}>${inner}</${tag}>` : inner;
17
+ }
18
+ return tag ? `<${tag}>${String(value)}</${tag}>` : String(value);
19
+ }
20
+ function xmlToJs(xml) {
21
+ const trimmed = xml.trim();
22
+ if (!trimmed.startsWith("<"))
23
+ return trimmed;
24
+ const results = {};
25
+ const tagRe = /<([a-zA-Z0-9_:.-]+)([^>]*?)(?:\/>|>([\s\S]*?)<\/\1>)/g;
26
+ let match;
27
+ while ((match = tagRe.exec(trimmed)) !== null) {
28
+ const tag = match[1];
29
+ const attrs = match[2] ?? "";
30
+ if (attrs.includes('xsi:nil="true"')) {
31
+ results[tag] = null;
32
+ continue;
33
+ }
34
+ const body = match[3];
35
+ if (body === undefined || body === "") {
36
+ results[tag] = "";
37
+ continue;
38
+ }
39
+ const parsed = xmlToJs(body);
40
+ if (results[tag] !== undefined) {
41
+ if (Array.isArray(results[tag]))
42
+ results[tag].push(parsed);
43
+ else
44
+ results[tag] = [results[tag], parsed];
45
+ }
46
+ else {
47
+ results[tag] = parsed;
48
+ }
49
+ }
50
+ if (Object.keys(results).length === 0)
51
+ return trimmed.replace(/<[^>]+>/g, "").trim();
52
+ return results;
53
+ }
54
+ const buildEnvelope = (args) => {
55
+ const method = String(args[0] ?? "");
56
+ const params = (typeof args[1] === "object" && args[1] !== null ? args[1] : {});
57
+ const ns = args[2] ? String(args[2]) : undefined;
58
+ const nsAttr = ns ? ` xmlns="${escapeXml(ns)}"` : "";
59
+ const body = jsToXml(params);
60
+ return `<?xml version="1.0" encoding="UTF-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soap:Header/><soap:Body><${method}${nsAttr}>${body}</${method}></soap:Body></soap:Envelope>`;
61
+ };
62
+ const parseEnvelope = (args) => {
63
+ const xml = String(args[0] ?? "");
64
+ const bodyMatch = xml.match(/<(?:soap:|SOAP-ENV:)?Body[^>]*>([\s\S]*?)<\/(?:soap:|SOAP-ENV:)?Body>/i);
65
+ if (!bodyMatch)
66
+ return { fault: null, result: null };
67
+ const bodyXml = bodyMatch[1];
68
+ const faultMatch = bodyXml.match(/<(?:soap:|SOAP-ENV:)?Fault[^>]*>([\s\S]*?)<\/(?:soap:|SOAP-ENV:)?Fault>/i);
69
+ if (faultMatch) {
70
+ const fault = xmlToJs(faultMatch[1]);
71
+ return { fault, result: null };
72
+ }
73
+ return { fault: null, result: xmlToJs(bodyXml) };
74
+ };
75
+ const call = async (args) => {
76
+ const url = String(args[0] ?? "");
77
+ const method = String(args[1] ?? "");
78
+ const params = (typeof args[2] === "object" && args[2] !== null ? args[2] : {});
79
+ const opts = (typeof args[3] === "object" && args[3] !== null ? args[3] : {});
80
+ const ns = opts.namespace ? String(opts.namespace) : undefined;
81
+ const envelope = buildEnvelope([method, params, ns]);
82
+ const headers = { "Content-Type": "text/xml; charset=utf-8" };
83
+ if (opts.soapAction !== undefined)
84
+ headers["SOAPAction"] = String(opts.soapAction);
85
+ else
86
+ headers["SOAPAction"] = ns ? `${ns}/${method}` : method;
87
+ if (opts.headers && typeof opts.headers === "object")
88
+ Object.assign(headers, opts.headers);
89
+ const res = await fetch(url, { method: "POST", headers, body: envelope, signal: opts.timeout ? AbortSignal.timeout(Number(opts.timeout)) : undefined });
90
+ const text = await res.text();
91
+ const parsed = parseEnvelope([text]);
92
+ return { status: res.status, ok: res.ok, ...parsed, raw: text };
93
+ };
94
+ const buildXmlRpc = (args) => {
95
+ const method = String(args[0] ?? "");
96
+ const params = Array.isArray(args[1]) ? args[1] : [];
97
+ function valueToXml(v) {
98
+ if (v === null || v === undefined)
99
+ return "<value><nil/></value>";
100
+ if (typeof v === "boolean")
101
+ return `<value><boolean>${v ? 1 : 0}</boolean></value>`;
102
+ if (typeof v === "number")
103
+ return Number.isInteger(v) ? `<value><int>${v}</int></value>` : `<value><double>${v}</double></value>`;
104
+ if (typeof v === "string")
105
+ return `<value><string>${escapeXml(v)}</string></value>`;
106
+ if (Array.isArray(v))
107
+ return `<value><array><data>${v.map(valueToXml).join("")}</data></array></value>`;
108
+ if (typeof v === "object") {
109
+ const members = Object.entries(v).map(([k, val]) => `<member><name>${escapeXml(k)}</name>${valueToXml(val)}</member>`).join("");
110
+ return `<value><struct>${members}</struct></value>`;
111
+ }
112
+ return `<value><string>${escapeXml(String(v))}</string></value>`;
113
+ }
114
+ const paramXml = params.map((p) => `<param>${valueToXml(p)}</param>`).join("");
115
+ return `<?xml version="1.0"?><methodCall><methodName>${escapeXml(method)}</methodName><params>${paramXml}</params></methodCall>`;
116
+ };
117
+ function parseXmlRpcValue(xml) {
118
+ const trimmed = xml.trim();
119
+ const intM = trimmed.match(/<(?:int|i4)>(.*?)<\/(?:int|i4)>/);
120
+ if (intM)
121
+ return parseInt(intM[1], 10);
122
+ const dblM = trimmed.match(/<double>(.*?)<\/double>/);
123
+ if (dblM)
124
+ return parseFloat(dblM[1]);
125
+ const boolM = trimmed.match(/<boolean>(.*?)<\/boolean>/);
126
+ if (boolM)
127
+ return boolM[1] === "1";
128
+ const strM = trimmed.match(/<string>(.*?)<\/string>/s);
129
+ if (strM)
130
+ return strM[1];
131
+ if (trimmed.includes("<nil"))
132
+ return null;
133
+ const arrM = trimmed.match(/<array>\s*<data>([\s\S]*?)<\/data>\s*<\/array>/);
134
+ if (arrM) {
135
+ const vals = [];
136
+ const valRe = /<value>([\s\S]*?)<\/value>/g;
137
+ let vm;
138
+ while ((vm = valRe.exec(arrM[1])) !== null)
139
+ vals.push(parseXmlRpcValue(vm[1]));
140
+ return vals;
141
+ }
142
+ const structM = trimmed.match(/<struct>([\s\S]*?)<\/struct>/);
143
+ if (structM) {
144
+ const obj = {};
145
+ const memRe = /<member>\s*<name>(.*?)<\/name>\s*<value>([\s\S]*?)<\/value>\s*<\/member>/g;
146
+ let mm;
147
+ while ((mm = memRe.exec(structM[1])) !== null)
148
+ obj[mm[1]] = parseXmlRpcValue(mm[2]);
149
+ return obj;
150
+ }
151
+ return trimmed.replace(/<[^>]+>/g, "").trim();
152
+ }
153
+ const parseXmlRpc = (args) => {
154
+ const xml = String(args[0] ?? "");
155
+ const faultM = xml.match(/<fault>\s*<value>([\s\S]*?)<\/value>\s*<\/fault>/);
156
+ if (faultM)
157
+ return { fault: parseXmlRpcValue(faultM[1]), params: null };
158
+ const params = [];
159
+ const paramRe = /<param>\s*<value>([\s\S]*?)<\/value>\s*<\/param>/g;
160
+ let pm;
161
+ while ((pm = paramRe.exec(xml)) !== null)
162
+ params.push(parseXmlRpcValue(pm[1]));
163
+ return { fault: null, params };
164
+ };
165
+ const xmlRpc = async (args) => {
166
+ const url = String(args[0] ?? "");
167
+ const method = String(args[1] ?? "");
168
+ const params = Array.isArray(args[2]) ? args[2] : [];
169
+ const opts = (typeof args[3] === "object" && args[3] !== null ? args[3] : {});
170
+ const body = buildXmlRpc([method, params]);
171
+ const headers = { "Content-Type": "text/xml; charset=utf-8" };
172
+ if (opts.headers && typeof opts.headers === "object")
173
+ Object.assign(headers, opts.headers);
174
+ const res = await fetch(url, { method: "POST", headers, body, signal: opts.timeout ? AbortSignal.timeout(Number(opts.timeout)) : undefined });
175
+ const text = await res.text();
176
+ const parsed = parseXmlRpc([text]);
177
+ return { status: res.status, ok: res.ok, ...parsed, raw: text };
178
+ };
179
+ const wsdl = async (args) => {
180
+ const url = String(args[0] ?? "");
181
+ const opts = (typeof args[1] === "object" && args[1] !== null ? args[1] : {});
182
+ const res = await fetch(url, { signal: opts.timeout ? AbortSignal.timeout(Number(opts.timeout)) : undefined });
183
+ const text = await res.text();
184
+ const services = [];
185
+ const svcRe = /<wsdl:service[^>]*name="([^"]+)"/g;
186
+ let sm;
187
+ while ((sm = svcRe.exec(text)) !== null)
188
+ services.push(sm[1]);
189
+ const operations = [];
190
+ const opRe = /<wsdl:operation[^>]*name="([^"]+)"/g;
191
+ let om;
192
+ while ((om = opRe.exec(text)) !== null)
193
+ if (!operations.includes(om[1]))
194
+ operations.push(om[1]);
195
+ const bindings = [];
196
+ const bRe = /<wsdl:binding[^>]*name="([^"]+)"/g;
197
+ let bm;
198
+ while ((bm = bRe.exec(text)) !== null)
199
+ bindings.push(bm[1]);
200
+ return { services, operations, bindings, raw: text };
201
+ };
202
+ const fault = (args) => {
203
+ const code = String(args[0] ?? "Server");
204
+ const message = String(args[1] ?? "Internal Error");
205
+ const detail = args[2] ? String(args[2]) : undefined;
206
+ return `<soap:Fault><faultcode>${escapeXml(code)}</faultcode><faultstring>${escapeXml(message)}</faultstring>${detail ? `<detail>${escapeXml(detail)}</detail>` : ""}</soap:Fault>`;
207
+ };
208
+ const getFault = (args) => {
209
+ const xml = String(args[0] ?? "");
210
+ const faultM = xml.match(/<(?:soap:|SOAP-ENV:)?Fault[^>]*>([\s\S]*?)<\/(?:soap:|SOAP-ENV:)?Fault>/i);
211
+ if (!faultM)
212
+ return null;
213
+ const code = faultM[1].match(/<faultcode[^>]*>(.*?)<\/faultcode>/i)?.[1] ?? null;
214
+ const message = faultM[1].match(/<faultstring[^>]*>(.*?)<\/faultstring>/i)?.[1] ?? null;
215
+ const detail = faultM[1].match(/<detail[^>]*>([\s\S]*?)<\/detail>/i)?.[1] ?? null;
216
+ return { code, message, detail };
217
+ };
218
+ export const SoapFunctions = { call, buildEnvelope, parseEnvelope, xmlRpc, buildXmlRpc, parseXmlRpc, wsdl, fault, getFault };
219
+ export const SoapFunctionMetadata = {
220
+ call: { description: "Call a SOAP web service", parameters: [{ name: "url", dataType: "string", description: "Service URL", formInputType: "text", required: true }, { name: "method", dataType: "string", description: "Method name", formInputType: "text", required: true }, { name: "params", dataType: "object", description: "Parameters", formInputType: "text", required: false }, { name: "options", dataType: "object", description: "{namespace, soapAction, headers, timeout}", formInputType: "text", required: false }], returnType: "object", returnDescription: "{status, ok, fault, result, raw}", example: 'soap.call "http://example.com/ws" "GetUser" {"id": 1} {"namespace": "http://example.com"}' },
221
+ buildEnvelope: { description: "Build SOAP XML envelope", parameters: [{ name: "method", dataType: "string", description: "Method name", formInputType: "text", required: true }, { name: "params", dataType: "object", description: "Parameters", formInputType: "text", required: false }, { name: "namespace", dataType: "string", description: "XML namespace", formInputType: "text", required: false }], returnType: "string", returnDescription: "SOAP XML", example: 'soap.buildEnvelope "GetUser" {"id": 1}' },
222
+ parseEnvelope: { description: "Parse SOAP XML response", parameters: [{ name: "xml", dataType: "string", description: "SOAP XML", formInputType: "text", required: true }], returnType: "object", returnDescription: "{fault, result}", example: 'soap.parseEnvelope $xml' },
223
+ xmlRpc: { description: "Call XML-RPC service", parameters: [{ name: "url", dataType: "string", description: "Service URL", formInputType: "text", required: true }, { name: "method", dataType: "string", description: "Method name", formInputType: "text", required: true }, { name: "params", dataType: "array", description: "Parameters array", formInputType: "text", required: false }, { name: "options", dataType: "object", description: "{headers, timeout}", formInputType: "text", required: false }], returnType: "object", returnDescription: "{status, ok, fault, params, raw}", example: 'soap.xmlRpc "http://example.com/rpc" "system.listMethods" []' },
224
+ buildXmlRpc: { description: "Build XML-RPC request", parameters: [{ name: "method", dataType: "string", description: "Method name", formInputType: "text", required: true }, { name: "params", dataType: "array", description: "Parameters", formInputType: "text", required: false }], returnType: "string", returnDescription: "XML-RPC XML", example: 'soap.buildXmlRpc "getUser" [1, "admin"]' },
225
+ parseXmlRpc: { description: "Parse XML-RPC response", parameters: [{ name: "xml", dataType: "string", description: "XML-RPC XML", formInputType: "text", required: true }], returnType: "object", returnDescription: "{fault, params}", example: 'soap.parseXmlRpc $xml' },
226
+ wsdl: { description: "Fetch and parse WSDL", parameters: [{ name: "url", dataType: "string", description: "WSDL URL", formInputType: "text", required: true }, { name: "options", dataType: "object", description: "{timeout}", formInputType: "text", required: false }], returnType: "object", returnDescription: "{services, operations, bindings, raw}", example: 'soap.wsdl "http://example.com/ws?wsdl"' },
227
+ fault: { description: "Create SOAP fault XML", parameters: [{ name: "code", dataType: "string", description: "Fault code", formInputType: "text", required: true }, { name: "message", dataType: "string", description: "Fault message", formInputType: "text", required: true }, { name: "detail", dataType: "string", description: "Detail", formInputType: "text", required: false }], returnType: "string", returnDescription: "Fault XML", example: 'soap.fault "Client" "Invalid request"' },
228
+ getFault: { description: "Extract fault from SOAP XML", parameters: [{ name: "xml", dataType: "string", description: "SOAP XML", formInputType: "text", required: true }], returnType: "object", returnDescription: "{code, message, detail} or null", example: 'soap.getFault $xml' },
229
+ };
230
+ export const SoapModuleMetadata = {
231
+ description: "SOAP web service client, XML-RPC support, WSDL parsing, and envelope building",
232
+ methods: ["call", "buildEnvelope", "parseEnvelope", "xmlRpc", "buildXmlRpc", "parseXmlRpc", "wsdl", "fault", "getFault"],
233
+ };
234
+ //# sourceMappingURL=soap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"soap.js","sourceRoot":"","sources":["../src/soap.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,13 @@
1
+ {
2
+ "name": "@robinpath/soap",
3
+ "version": "0.1.0",
4
+ "publishConfig": { "access": "public" },
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "exports": { ".": { "import": "./dist/index.js", "types": "./dist/index.d.ts" } },
9
+ "files": ["dist"],
10
+ "scripts": { "build": "tsc", "test": "node --import tsx --test tests/*.test.ts" },
11
+ "peerDependencies": { "@wiredwp/robinpath": ">=0.20.0" },
12
+ "devDependencies": { "@wiredwp/robinpath": "^0.30.1", "tsx": "^4.19.0", "typescript": "^5.6.0" }
13
+ }