Git Product home page Git Product logo

node-red-contrib-soapserver's Introduction

SOAP Server for Node-RED

Listen for an incoming SOAP request used to start a Node-RED flow and pass in input data.

Installation

Use npm install node-red-contrib-soapserver to install.

Usage

This package provides a node that can be used to start a Node-RED flow. The node is called soap server and listens on a configurable TCP port on the host on which Node-RED run. It is important that the port number be supplied as there is no default assumed. The listener is listening for an incoming SOAP/HTTP request. The WSDL that describes the SOAP server can be retrieved through an HTTP GET request using the /soap?wsdl URL and query parameters. For example:

http://<node-RED-Host>:<port>/soap?wsdl

The endpoint for the SOAP request is found at the same address ...

http://<node-RED-Host>:<port>/soap

The interface supplies one operation called startFlow which takes a single parameter as input of type string. When a client invokes that operation, a new Node-RED flow is initiated. The passed in data appears in the msg.payload property of the Node-RED message.

A Node-RED flow that starts with a soap server node should also conclude with a corresponding soap server output node. This is used to pass back a value to the original SOAP client. The string found in msg.payload is returned as the response value.

Notes

  • When re-deploying a flow which contains a soap server node, the previously deployed flow may wait up to 120 seconds before allowing itself to stop. The reason for this is that it can be up to 120 seconds from the last received transmission from a closing TCP/IP socket before we can be sure that there is no more incoming traffic. The listening SOAP server running inside node-RED can't stop and restart within 120 seconds of the last received message.

Contributing

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request

History

  • 2015-02-25 - First release

Credits

Neil Kolban

License

Apache 2.0

node-red-contrib-soapserver's People

Contributors

nitingautam avatar nkolban avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

node-red-contrib-soapserver's Issues

Help with exemples

Hello guys!

Would you like to share some examples of how to configure the nodes?

I did this setup:
image

and return this:
image

So I think the configuration part is right.

But it has not been clear how I set up the methods for later use.

Use custom wsdl ?

Hey @nkolban

Currently planning to use your module to build a soap server. The web service will be called by SAP and I need to specify a custom wsdl file.
The problem is : I must provide a SAP compatible wsdl file

Sorry for my stupid question but : in soapserver.js, can I safely replace the var 'wsdl' by a fs.readFileSync("my file.wsdl") ?

Doing this way, I would fork your repo, the wsdl file should be available at ${config.wsdlpath}/${config.name}.wsdl, what do you think about that ?

Thanks in advance,

Regards,

jledun

Hardcoded Localhost instead of Server IP

When we generate WSDL always it show address location as localhost instead of server IP address due to the fact of Hardcoded localhost as below, can we please fix this?

<soap:address location="http://localhost:8001/soap"/>\n

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.