Skip to content

radekxrandom/soap-client

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

soap-client

A minimalistic soap messaging protocol client created for node.js

Install

   $ yarn add @radekborandom/soap-client
  • Install with npm

   $ npm i @radekborandom/soap-client

Client initialization

await soapClient.generateClient(wsdlUrl) - Generate a new soap client for the web service specified in the wsdl document.

Parse provided WSDL document. Generate methods from the operations defined in it.

const soapClient = require("soap-client");
// your app code
const client = await soapClient.generateClient(
  "http://example.com/wsdl/service.wsdl"
);

Sending a soap message

await client.operationName({...args}) - Perform one of the operations defined in the WSDL

Call a particular method to perform operation defined in the WSDL document. Name of the method is the same as the name of operation to be performed. Response is parsed and returned either as a primitive value (if soap response body has only one field) or as a object.

const soapClient = require("soap-client");
// your app code
const client = await soapClient.generateClient(
  "http://example.com/wsdl/service.wsdl"
);
const response = await client.methodName({ ...args });

Security

Currently only the UsernameToken method of authentication is supported.

client.addUsernameToken(username, password) - Adds the UsernameToken to client instance

Generate header with UsernameToken to be appended to each request/operation performed by this instance.

const soapClient = require("soap-client");
// your app code
const client = await soapClient.generateClient(
  "http://example.com/wsdl/service.wsdl"
);
client.addUsernameToken("your_username", "your_password");