easy-soap-request
    DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/easy-soap-request package

    4.2.0 • Public • Published

    easy-soap-request

    Build Status npm version npm downloads Buy Me A Coffee NPM

    A small library to make SOAP requests easier via Node.js, Deno, and your browser

    Installation

    npm install easy-soap-request

    Requirements

    • Node.js >=7.6.0 (async/await support)

    Usage

    Node.js

    const soapRequest = require('easy-soap-request');
    const fs = require('fs');
    
    // example data
    const url = 'https://graphical.weather.gov/xml/SOAP_server/ndfdXMLserver.php';
    const sampleHeaders = {
      'user-agent': 'sampleTest',
      'Content-Type': 'text/xml;charset=UTF-8',
      'soapAction': 'https://graphical.weather.gov/xml/DWMLgen/wsdl/ndfdXML.wsdl#LatLonListZipCode',
    };
    const xml = fs.readFileSync('test/zip-code-envelope.xml', 'utf-8');
    
    // usage of module
    (async () => {
      const { response } = await soapRequest({ url: url, headers: sampleHeaders, xml: xml, timeout: 1000 }); // Optional timeout parameter(milliseconds)
      const { headers, body, statusCode } = response;
      console.log(headers);
      console.log(body);
      console.log(statusCode);
    })();

    Deno

    import soapRequest from 'https://deno.land/x/easy_soap_request/index.d.js';
    
    // example data
    const url = 'https://graphical.weather.gov/xml/SOAP_server/ndfdXMLserver.php';
    const sampleHeaders = {
      'user-agent': 'sampleTest',
      'Content-Type': 'text/xml;charset=UTF-8',
      'soapAction': 'https://graphical.weather.gov/xml/DWMLgen/wsdl/ndfdXML.wsdl#LatLonListZipCode',
    };
    
    // usage of module
    (async () => {
      const xml = await Deno.readFile('test/zip-code-envelope.xml');
      const { response } = await soapRequest({ url: url, headers: sampleHeaders, xml: xml });
      const { headers, body, statusCode } = response;
      console.log(headers);
      console.log(body);
      console.log(statusCode);
    })();

    Browser

    Note: CORS policies apply

    <html>
    <script src="https://cdn.jsdelivr.net/npm/easy-soap-request/dist/easy-soap-request.js"></script>
    <script>
        const url = 'https://my-soap-server';
        const sampleHeaders = {
            'Content-Type': 'text/xml;charset=UTF-8',
            SOAPAction: 'https://my-soap-action/something',
        };
        const xml = `<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
                     <soapenv:Header/>
                     <soapenv:Body>Some Data</soapenv:Body>
                     </soapenv:Envelope>`;
        async function makeRequest() {
            const { response } = await soapRequest({ url: url, headers: sampleHeaders, xml: xml, timeout: 1000 });
            const { headers, body, statusCode } = response;
            console.log(headers);
            console.log(body);
            console.log(statusCode);
            document.body.innerHTML = body;
        };
        makeRequest();
    </script>
    <body></body>
    </html>

    Changelog

    Changelog.md

    Tests

    Install

    npm i easy-soap-request

    DownloadsWeekly Downloads

    17,585

    Version

    4.2.0

    License

    MIT

    Unpacked Size

    80 kB

    Total Files

    7

    Last publish

    Collaborators

    • circa10a