{"id":19475680,"url":"https://github.com/iondv/soap","last_synced_at":"2025-08-01T03:39:49.349Z","repository":{"id":56089661,"uuid":"181287653","full_name":"iondv/soap","owner":"iondv","description":"SOAP is an IONDV. Framework module to exchange arbitrary messages in XML format.","archived":false,"fork":false,"pushed_at":"2021-04-19T03:14:56.000Z","size":66,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-06-27T11:47:19.983Z","etag":null,"topics":["iondv","iondv-module","javascript","soap","soap-web-services","xml"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/iondv.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-04-14T09:39:46.000Z","updated_at":"2019-10-16T09:22:55.000Z","dependencies_parsed_at":"2022-08-15T13:00:26.349Z","dependency_job_id":null,"html_url":"https://github.com/iondv/soap","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/iondv/soap","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iondv%2Fsoap","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iondv%2Fsoap/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iondv%2Fsoap/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iondv%2Fsoap/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iondv","download_url":"https://codeload.github.com/iondv/soap/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iondv%2Fsoap/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268166086,"owners_count":24206424,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-01T02:00:08.611Z","response_time":67,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["iondv","iondv-module","javascript","soap","soap-web-services","xml"],"created_at":"2024-11-10T19:34:14.196Z","updated_at":"2025-08-01T03:39:49.327Z","avatar_url":"https://github.com/iondv.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"This page in [Russian](/README_RU.md)\n\n# IONDV. SOAP\n\n**SOAP** -  is an IONDV. Framework module. It is used to quickly create web services,\nbased on metadata for implementing microservice architecture. The module also allows you to integrate applications created on the framework with other systems. SOAP provides data exchange in XML format to implement arbitrary user interfaces (including SPA created on the Angular, Redux, Vue frameworks).\n\n### IONDV. Framework in brief\n\n**IONDV. Framework** - is a node.js open source framework for developing accounting applications\nor microservices based on metadata and individual modules. Framework is a part of \ninstrumental digital platform to create enterprise \n(ERP) apps. This platform consists of the following open-source components: the [IONDV. Framework](https://github.com/iondv/framework), the\n[modules](https://github.com/topics/iondv-module) and ready-made applications expanding it\nfunctionality, visual development environment [Studio](https://github.com/iondv/studio) to create metadata for the app.\n\n* For more details, see [IONDV. Framework site](https://iondv.com). \n\n* Documentation is available in the [Github repository](https://github.com/iondv/framework/blob/master/docs/en/index.md).\n\n### Service registration in application configuration\n\nTo connect services in the application, you need to configure them in the global settings of the soap module in the application configuration file - deploy.json. See an example below.\n\n```json\n{\n  \"modules\": {\n    \"soap\": {\n      \"globals\": {\n        \"di\": {\n          \"simple\": {\n            \"module\": \"applications/develop-and-test/service/SimpleRest\"\n          },\n          \"string-list\": {\n            \"module\": \"applications/develop-and-test/service/String-list\",\n            \"options\": {\n              \"stringClassName\": \"class_string@develop-and-test\",\n              \"dataRepo\": \"ion://dataRepo\"\n            }\n          },\n          \"crud\": {\n            \"module\": \"modules/rest/lib/impl/crud\",\n            \"options\": {\n               \"auth\": \"ion://auth\",\n               \"dataRepo\": \"ion://securedDataRepo\"\n            }\n          }\n```\n\nThe path to the service registrations in the file `deploy.json` is `modules.soap.globals.di`, next is the name of the service, which\nwill be available at `https://domain.com/soap/serviceName`, where `serviceName` is the name of the service specified in `di`, in the example above `simle` or `string-list`. In the `module` attribute indicate the path to the js file with the service handler with the path relatively to the root of the framework. The handler can be both in the application and in any module or framework, including sample rest module handlers.\n\nService parameters are set in the `options`:\n* `dataRepo` field - data repository (may be skipped)\n* `auth` field - authorization resource (may be skipped)\n* `stringClassName` field - is an example of an arbitrary resource name in the value of which the metadata class code is indicated, as an example - the `class_string@develop-and-test` class passed as a parameter to the options service (e.g. `options.stringClassName` used to get objects in the data repository, request example `options.dataRepo.getList(options.stringClassName, {filter: filter}).then(function (results) {`)\n\n## Description\n\nThe module is used to exchange arbitrary messages in XML format. It allows you to exchange data between the system and a third-party service, by swaping structured messages.\n\n## Module features\n\n* Work with services with any Transport Protocol, instead of HTTP.\n* Standardization of error handling.\n* Works with operations, such as transactions or other objects that have complex logic.\n* Provides security and stability of the application in the interaction.\n* Handy syntax for describing data hierarchy due to XML format.\n\n_Example:_\n\nThe goal is to pass the names and values of the attributes. It happens almost every time you click on the link or after clicking on the form button.\n\n```\nhttp://www.server.ru/page.php?name=Vasya\u0026age=20\u0026sex=male\u0026street=Titova%2013\u0026city=Moscow\u0026country=Russia\n```\n\nResponse:\n```\n\u003cperson\u003e\n    \u003cid\u003e1000\u003c/id\u003e\n    \u003cname\u003eVasya\u003c/name\u003e\n    \u003cage\u003e20\u003c/age\u003e\n    \u003csex\u003emale\u003c/sex\u003e\n    \u003caddress\u003e\n        \u003cstreet\u003eTitova 13\u003c/street\u003e\n        \u003ccity\u003eMoscow\u003c/city\u003e\n        \u003ccountry\u003eRussia\u003c/country\u003e\n    \u003c/address\u003e\n\u003c/person\u003e\n```\nIf we pass this structure to SOAP, we can report not only attributes and their values, but also their dependency and hierarchy. \n\n## Intended use of the module using demo projects as an example\n\n_SOAP_ module is used in [dnt.iondv.com](https://dnt.iondv.com/geomap). The application shows the main features and functionality of systems implemented on IONDV. Framework.\n\n\n--------------------------------------------------------------------------  \n\n\n #### [Licence](/LICENSE) \u0026ensp;  [Contact us](https://iondv.com) \u0026ensp;   [Russian](/README_RU.md)   \u0026ensp; [FAQs](/faqs.md)          \n\n\u003cdiv\u003e\u003cimg src=\"https://mc.iondv.com/watch/local/docs/soap\" style=\"position:absolute; left:-9999px;\" height=1 width=1 alt=\"iondv metrics\"\u003e\u003c/div\u003e\n\n--------------------------------------------------------------------------  \n\nCopyright (c) 2018 **LLC \"ION DV\"**.  \nAll rights reserved. ","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiondv%2Fsoap","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fiondv%2Fsoap","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiondv%2Fsoap/lists"}