Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/moszeed/easysoap
A simple to use SoapClient for Node.js
https://github.com/moszeed/easysoap
nodejs promise soap-client
Last synced: 4 days ago
JSON representation
A simple to use SoapClient for Node.js
- Host: GitHub
- URL: https://github.com/moszeed/easysoap
- Owner: moszeed
- License: mit
- Created: 2013-02-25T14:34:20.000Z (almost 12 years ago)
- Default Branch: master
- Last Pushed: 2021-04-30T06:56:22.000Z (over 3 years ago)
- Last Synced: 2025-01-12T16:02:07.462Z (12 days ago)
- Topics: nodejs, promise, soap-client
- Language: JavaScript
- Size: 94.7 KB
- Stars: 129
- Watchers: 13
- Forks: 60
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# EasySoap
**easysoap** is a WSDL SoapClient for Node.js.
##### Support
##### [Buy me a Coffee](https://www.patreon.com/moszeed)
## How to get ?
install with npm```shell
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); });