All Projects → moszeed → Easysoap

moszeed / Easysoap

Licence: mit
A simple to use SoapClient for Node.js

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Easysoap

Tedis
redis client with typescript and esnext for nodejs
Stars: ✭ 109 (-10.66%)
Mutual labels:  promise
Promise Queue Plus
Promise-based queue. Support timeout, retry and so on.
Stars: ✭ 113 (-7.38%)
Mutual labels:  promise
Bach
Compose your async functions with elegance.
Stars: ✭ 117 (-4.1%)
Mutual labels:  promise
Ssh2 Promise
ssh with promise/async await and typescript support
Stars: ✭ 110 (-9.84%)
Mutual labels:  promise
Vue2 Element
基于vue2 + vue-router2 + element-ui + vuex2 + fetch + webpack2 企业级后台管理系统最佳实践
Stars: ✭ 112 (-8.2%)
Mutual labels:  promise
Elemental2
Type checked access to browser APIs for Java code.
Stars: ✭ 115 (-5.74%)
Mutual labels:  promise
Dynamodb Oop
Speak fluent DynamoDB, write code with fashion, I Promise() 😃
Stars: ✭ 104 (-14.75%)
Mutual labels:  promise
Promise Throttle
A small library to throttle promises. Useful to avoid rate limiting when using REST APIs.
Stars: ✭ 121 (-0.82%)
Mutual labels:  promise
Blizzard.js
A promise-based Node.JS library for the Blizzard Battle.net Community Platform API
Stars: ✭ 113 (-7.38%)
Mutual labels:  promise
Zousan
A Lightning Fast, Yet Very Small Promise A+ Compliant Implementation
Stars: ✭ 117 (-4.1%)
Mutual labels:  promise
Ts3 Nodejs Library
TeamSpeak 3 Server Query Library supports SSH and RAW Query
Stars: ✭ 110 (-9.84%)
Mutual labels:  promise
P Queue
Promise queue with concurrency control
Stars: ✭ 1,863 (+1427.05%)
Mutual labels:  promise
Postmate
📭 A powerful, simple, promise-based postMessage library.
Stars: ✭ 1,638 (+1242.62%)
Mutual labels:  promise
Sfdc Lax
The service Lightning Component to write a clear asynchronous JavaScript code
Stars: ✭ 109 (-10.66%)
Mutual labels:  promise
Stop.js
🐦 The Promise base `setTimeout`, release your callback
Stars: ✭ 120 (-1.64%)
Mutual labels:  promise
P State
Inspect the state of a promise
Stars: ✭ 108 (-11.48%)
Mutual labels:  promise
Jdeferred
Java Deferred/Promise library similar to JQuery.
Stars: ✭ 1,483 (+1115.57%)
Mutual labels:  promise
Ts Polyfill
Runtime polyfills for TypeScript libs, powered by core-js! 🔋 🔩
Stars: ✭ 122 (+0%)
Mutual labels:  promise
Lips
Scheme based powerful lisp interpreter written in JavaScript
Stars: ✭ 120 (-1.64%)
Mutual labels:  promise
Article
前端相关、CSS、JavaScript、工具、解决方案…相关文章
Stars: ✭ 116 (-4.92%)
Mutual labels:  promise

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); });
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].