Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including easysoap with all npm packages installed. Try it out:

var easysoap = require("easysoap")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

easysoap v2.0.2

a easy to use Soap Client for Node.js

EasySoap

easysoap is a WSDL SoapClient for Node.js.

Support
Buy me a Coffee

How to get ?

install with npm

npm i easysoap

Usage

get a soapclient instance

const EasySoap = require('easysoap');
const soapClient = EasySoap(params, opts);

params createParams, soapOptions
response instance of easysoap

possible parameter data

createParams

{
    host               : 'www.example.com',
    path               : '/soap/path',
    wsdl               : '/wsdl/path',
    headers            : Array or Object,
    rejectUnauthorized : true/false
}

soapOptions

{
    secure : true/false //is https or http
}
the following methods available after creating an soapclient instance with easysoap

call

params callParams
response callResponseObject

getRequestXml

params callParams
response xml (string)

callParams

{
    method    : "sampleMethodName",
    attributes: Object of custom tag attributes for given params,
    params  : Object/Array of params
}

getXmlDataAsJson

params xml (string)
response xmldata as json

getAllFunctions

response Function Names (array)

getMethodParamsByName

params methodName (string)
response methodParams (object)

Examples

(() => {
    'use strict';
    const EasySoap = require('easysoap');

    // define soap params
    const params = {
       host: 'www.sample.com',
       path: '/path/soap/',
       wsdl: '/path/wsdl/',

       // set soap headers (optional)
       headers: [{
           'name'      : 'item_name',
            'value'    : 'item_value',
            'namespace': 'item_namespace'
       }]
    }

    /*
     * create the client
     */
    var soapClient = EasySoap(params);


/*
 * get all available functions
 */
soapClient.getAllFunctions()
   .then((functionArray) => { console.log(functionArray); })
   .catch((err) => { throw new Error(err); });


/*
 * get the method params by given methodName
 */
soapClient.getMethodParamsByName('methodName')
   .then((methodParams) => {
      console.log(methodParams.request);
      console.log(methodParams.response);
    })
    .catch((err) => { throw new Error(err); });


/*
 * call soap method
 */
soapClient.call({
   method    : 'methodName',
   attributes: {
      xmlns: 'http://www.sample.com'
   },
   params: {
      testParam: 1,
      testParam: [2, 3],
      testParam: {
         '_value'     : 4,
         '_attributes': {
             'xmlns1': 'http://www.sample.com/other'
         }
      }
   }
})
.then((callResponse) => {
    console.log(callResponse.data); // response data as json
    console.log(callResponse.body); // response body
    console.log(callResponse.header);  //response header
})
.catch((err) => { throw new Error(err); });

Metadata

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free