Hi, i'd like to build a soap server based on node-red. While there are existing contrib nodes, they all target opening an additional port for soap server. I'm looking for a way to create a soap server and having it in the same port as node-red like mounting it into the express somehow. Interested in using node-soap library for this. Do you think it's possible?
So SOAP doesn't specify a port requirement, people generally implement it over their standard web ports (443) but it doesn't really care.
I've not looked at any of the existing nodes however the first node.js module I found certainly supports the use of an existing ExpressJS app server so it seems eminently possible to achieve.
Unfortunately, you will either have to persuade one of the authors of those nodes to code a change, write your own wrapper for a node.js module or try to use the module in a function node.
Thanks for the information. I noticed soap npm module supports this. I’d rather want to do this in a function node, i have exposed node-red module and soap over global context and trying to get it to work but i’m not sure how to do that. Any idea how to get the existing express in node red and mount a soap server in a sub route using function node?
Hmm, I hadn't thought about that. I don't think you can. It isn't that hard to write a custom node - though from a standing start it is a fairly steep learning curve. If you do go down that route. I have a jktesting repo on Github that contains a jktest2 node with what I think is a more comprehensible layout for a nodes .js file. Also my uibuilder node contains extensive examples of using Node-RED's ExpressJS app server though I'm sure there are many other nodes with simpler examples.