{"id":13564358,"url":"https://github.com/elixir-soap/soap","last_synced_at":"2026-02-19T02:32:35.797Z","repository":{"id":40545696,"uuid":"115008492","full_name":"elixir-soap/soap","owner":"elixir-soap","description":"SOAP client for Elixir programming language","archived":false,"fork":false,"pushed_at":"2025-03-26T20:43:26.000Z","size":1829,"stargazers_count":139,"open_issues_count":19,"forks_count":78,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-03T21:35:22.651Z","etag":null,"topics":["elixir","soap"],"latest_commit_sha":null,"homepage":"","language":"Elixir","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/elixir-soap.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-12-21T13:25:02.000Z","updated_at":"2025-03-31T12:45:59.000Z","dependencies_parsed_at":"2022-07-14T03:40:41.039Z","dependency_job_id":"cc050797-90bb-4ff0-a35b-aefca431c4e2","html_url":"https://github.com/elixir-soap/soap","commit_stats":{"total_commits":207,"total_committers":17,"mean_commits":"12.176470588235293","dds":0.5748792270531401,"last_synced_commit":"82d88545918838d31fb7b0ae88db662399b0a4df"},"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/elixir-soap/soap","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elixir-soap%2Fsoap","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elixir-soap%2Fsoap/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elixir-soap%2Fsoap/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elixir-soap%2Fsoap/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/elixir-soap","download_url":"https://codeload.github.com/elixir-soap/soap/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elixir-soap%2Fsoap/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29601091,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-19T00:59:38.239Z","status":"online","status_checked_at":"2026-02-19T02:00:07.702Z","response_time":117,"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":["elixir","soap"],"created_at":"2024-08-01T13:01:30.179Z","updated_at":"2026-02-19T02:32:35.781Z","avatar_url":"https://github.com/elixir-soap.png","language":"Elixir","funding_links":[],"categories":["REST and API","Elixir"],"sub_categories":[],"readme":"# Soap\n\n[![Build Status](https://travis-ci.org/elixir-soap/soap.svg?branch=master)](https://travis-ci.org/elixir-soap/soap)\n[![Code coverage](https://img.shields.io/coveralls/github/elixir-soap/soap.svg?style=flat)](https://coveralls.io/github/elixir-soap/soap)\n[![Module Version](https://img.shields.io/hexpm/v/soap.svg)](https://hex.pm/packages/soap)\n[![Hex Docs](https://img.shields.io/badge/hex-docs-lightgreen.svg)](https://hexdocs.pm/soap/)\n[![Total Download](https://img.shields.io/hexpm/dt/soap.svg)](https://hex.pm/packages/soap)\n[![License](https://img.shields.io/hexpm/l/soap.svg)](https://github.com/elixir-soap/soap/blob/master/LICENSE.md)\n[![Last Updated](https://img.shields.io/github/last-commit/elixir-soap/soap.svg)](https://github.com/elixir-soap/soap/commits/master)\n\nSOAP client for Elixir programming language.\n\n## Installation\n\nAdd `:soap` to your deps:\n\n```elixir\ndef deps do\n  [\n    {:soap, \"~\u003e 1.0\"}\n  ]\nend\n```\nAdd `:soap` to the list of application dependencies(or just use `extra_applications`):\n\n```elixir\ndef application do\n  [\n    applications: [:logger, :soap]\n  ]\nend\n```\n\n## Configuration\n\nConfigure version of SOAP protocol. Supported versions `1.1`(default) and `1.2`:\n\n```elixir\nconfig :soap, :globals, version: \"1.1\"\n```\n\n## Usage\n\nThe documentation is available on [HexDocs](https://hexdocs.pm/soap/api-reference.html).\n\nParse WSDL file for execution of actions on its basis:\n\n```elixir\niex\u003e {:ok, wsdl} = Soap.init_model(wsdl_path, :url)\n{:ok, parsed_wsdl}\n```\n\nGet list of available operations:\n\n```elixir\niex\u003e Soap.operations(wsdl)\n[\n  %{\n    input: %{body: nil, header: nil},\n    name: \"Add\",\n    soap_action: \"http://tempuri.org/Add\"\n  },\n  %{\n    input: %{body: nil, header: nil},\n    name: \"Subtract\",\n    soap_action: \"http://tempuri.org/Subtract\"\n  },\n  %{\n    input: %{body: nil, header: nil},\n    name: \"Multiply\",\n    soap_action: \"http://tempuri.org/Multiply\"\n  },\n  %{\n    input: %{body: nil, header: nil},\n    name: \"Divide\",\n    soap_action: \"http://tempuri.org/Divide\"\n  }\n]\n```\n\nCall action:\n\n```elixir\nwsdl_path = \"http://www.dneonline.com/calculator.asmx?WSDL\"\naction = \"Add\"\nparams = %{intA: 1, intB: 2}\n\niex\u003e {:ok, response} = Soap.call(wsdl, action, params)\n{:ok,\n %Soap.Response{\n   body: \"\u003c?xml version=\\\"1.0\\\" encoding=\\\"utf-8\\\"?\u003e\u003csoap:Envelope xmlns:soap=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:xsd=\\\"http://www.w3.org/2001/XMLSchema\\\"\u003e\u003csoap:Body\u003e\u003cAddResponse xmlns=\\\"http://tempuri.org/\\\"\u003e\u003cAddResult\u003e3\u003c/AddResult\u003e\u003c/AddResponse\u003e\u003c/soap:Body\u003e\u003c/soap:Envelope\u003e\",\n   headers: [\n     {\"Cache-Control\", \"private, max-age=0\"},\n     {\"Content-Length\", \"325\"},\n     {\"Content-Type\", \"text/xml; charset=utf-8\"},\n     {\"Server\", \"Microsoft-IIS/7.5\"},\n     {\"X-AspNet-Version\", \"2.0.50727\"},\n     {\"X-Powered-By\", \"ASP.NET\"},\n     {\"Date\", \"Thu, 14 Feb 2019 07:52:04 GMT\"}\n   ],\n   request_url: \"http://www.dneonline.com/calculator.asmx\",\n   status_code: 200\n }}\n```\n\nParse response:\n\n```elixir\niex\u003e Soap.Response.parse(response)\n%{AddResponse: %{AddResult: \"3\"}}\n```\n\nTo add SOAP headers, pass in a `{headers, params}` tuple instead of just params:\n\n```elixir\n{:ok, %Soap.Response{}} = Soap.call(wsdl, action, {%{Token: \"foo\"}, params})\n```\n\n## Contributing\nWe appreciate any contribution and open to [future requests](https://github.com/elixir-soap/soap/pulls).\n\nYou can find a list of features and bugs in the [issue tracker](https://github.com/elixir-soap/soap/issues).\n\n## Copyright and License\n\nCopyright (c) 2017 Petr Stepchenko\n\nThis work is free. You can redistribute it and/or modify it under the\nterms of the MIT License. See the [LICENSE.md](./LICENSE.md) file for more details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felixir-soap%2Fsoap","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Felixir-soap%2Fsoap","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felixir-soap%2Fsoap/lists"}