{"_id":"@deltazero/express-soap","name":"@deltazero/express-soap","dist-tags":{"latest":"1.1.3"},"versions":{"1.1.3":{"name":"@deltazero/express-soap","version":"1.1.3","description":"Express middleware based upon node-soap","main":"index.js","scripts":{"build":"tsc && tsc --project test","pretest":"npm run build","test":"mocha 'test/specs/**/*.js'","prepublish":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/RobinBuschmann/express-soap.git"},"author":{"name":"Robin Baum","email":"robinbuschmann@hotmail.de"},"license":"ISC","bugs":{"url":"https://github.com/RobinBuschmann/express-soap/issues"},"engines":{"node":">=14.0.0"},"peerDependencies":{"express":"4.x","soap":"^0.45.0"},"devDependencies":{"@types/chai":"4.3.1","@types/mocha":"9.1.1","@types/sinon":"10.0.11","@types/sinon-chai":"3.2.8","@types/supertest":"2.0.12","@types/xml2js":"0.4.11","chai":"4.3.6","express":"4.18.1","mocha":"10.0.0","sinon":"14.0.0","sinon-chai":"3.7.0","soap":"0.45.0","supertest":"6.2.3","tslint":"5.20.1","typescript":"4.7.4","xml2js":"0.4.23"},"dependencies":{"@types/express":"4.17.13"},"types":"./index.d.ts","gitHead":"ba8aa341260bdc688b6a653b0aae5b8a0998e4cd","homepage":"https://github.com/RobinBuschmann/express-soap#readme","_id":"@deltazero/express-soap@1.1.3","_nodeVersion":"17.8.0","_npmVersion":"8.13.1","dist":{"integrity":"sha512-eaTFAOUEVThCs6kmmQQtCrhw3e44u2wDAyXMD3Vwx42Mb8d9e34PBn3fcjZgWvlXTWjYGzhS+fGPVLUcyE6BWQ==","shasum":"09f0f86996719c62b354ebf45e10ab2116334ee1","tarball":"https://registry.npmjs.org/@deltazero/express-soap/-/express-soap-1.1.3.tgz","fileCount":12,"unpackedSize":8412,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHUf05RzPwmJPN4q/8/KQ0k5ZvfxbFx/c2mFEVoPIkvIAiBYp+wELD4SRGtD9FumZDtvqlEGHSmPCQw6EElyfWIsyg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJitzNBACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqyjA//eA2XtsSMC+Wh4tGULhKaYDIc3+JB+Q64TT8eibP2YCV90zfl\r\n5RdtIFsQtcte7XJ2c2P4Fb6fdMe1y6g9CERYKf07oaheTDPVGQX1Ha6FU+2E\r\n+bD4isJol+oRe6H8T107vfciiw4fXMi+ipZ2lzhR++bqnlrm3c8EaOs36oEG\r\nfNK6Fv1Qs7/yxPBl/NMCtJWd8vX3lL9AUlCY/TlU3rxK5//z4Zz72QtvWPPV\r\n6kTDAAE/4hL6m3XhV4I4KhWJwgFcHa0B53Dh42WM74QsAgdm7bq9QF2KDqEH\r\nogHxSuOsVkDeE3sgfJ5SVqcqMhrTLcKR+4XmFHpergd6/IMce9H1RH8F5hnY\r\nY+4fMMtiZHuHS8FBs1MAtn3GMq98gln/xeV35SnKqh39ToZg+az9NqcYZo28\r\nKSPqwe1yxsX79ozkzC2Cv3bPYGx2mT0SLrnQsbLfgNusQcVsFEPY2AcHwuuV\r\numh7f5gWqP4eXwmNoOP135WtYVrDQoXPEg+1hU2rXwT/MrSHOUhFSlUWDXYA\r\n1xBODKneFO7qOCk51BSny9YQgnEEnsM3KQOnBGcZ6aeotuwv7wiaU5S7c62n\r\noGBjUHxZybJIh7OvRexW+0ZKAb3dQkLGYpxznsOHvKnOtW+ywcQ9VZNG7FWe\r\njgBASmm9O85irCNfSiVGpSHf0ssyefNRecM=\r\n=Eb0z\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"deltazero","email":"david@deltazero.cz"},"directories":{},"maintainers":[{"name":"deltazero","email":"david@deltazero.cz"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-soap_1.1.3_1656173377011_0.7873827424975415"},"_hasShrinkwrap":false}},"time":{"created":"2022-06-25T16:09:36.942Z","1.1.3":"2022-06-25T16:09:37.205Z","modified":"2022-06-25T16:09:37.379Z"},"maintainers":[{"name":"deltazero","email":"david@deltazero.cz"}],"description":"Express middleware based upon node-soap","homepage":"https://github.com/RobinBuschmann/express-soap#readme","repository":{"type":"git","url":"git+https://github.com/RobinBuschmann/express-soap.git"},"author":{"name":"Robin Baum","email":"robinbuschmann@hotmail.de"},"bugs":{"url":"https://github.com/RobinBuschmann/express-soap/issues"},"license":"ISC","readme":"[![Build Status](https://travis-ci.org/RobinBuschmann/express-soap.png?branch=master)](https://travis-ci.org/RobinBuschmann/express-soap)\n\n# express-soap\nAn express middleware based upon [node-soap](https://github.com/vpulim/node-soap).\n\n## Installation\n```\nnpm install express-soap --save\n```\n\n## Usage\nAll node-soap options are valid and can be passed. See [node-soap](https://github.com/vpulim/node-soap#options-1) for documentation.\n```javascript\nimport {soap} from 'express-soap';\n\nconst app = express();\n\napp.use('/soap/calculation', soap({\n    services: {\n        CalculatorService: {\n            Calculator: {\n                Add({a, b}, res) {\n                    res({\n                        result: a + b\n                    });\n                },\n                Subtract({a, b}, res) {\n                    res({\n                        result: a - b\n                    });\n                }\n              }\n        }\n    }, \n    wsdl: `...` // or xml (both options are valid)\n}));\n\napp.use('/soap/meta', soap({\n    services: {\n        MetaService: {\n            /* ... */\n        }\n    }, \n    wsdl: `...` // or xml (both options are valid)\n}));\n```\n\n## Why?\nThe current way of how to implement a soap server in express with `node-soap` is really inconvenient\n([see](https://github.com/vpulim/node-soap#soaplistenserver-path-services-wsdl---create-a-new-soap-server-that-listens-on-path-and-provides-services)).\n`express-soap` simplifies this by providing a middleware instead. Since the order of express \nrequest handlers and middlewares matters the original node-soap approach is problematic as well.","readmeFilename":"README.md"}