A SOAP client library for Elixir that parses WSDL files and calls SOAP web services.
Soap is an Elixir library that provides a SOAP client for consuming SOAP-based web services. It allows developers to parse WSDL files, discover available operations, and make SOAP calls with parameter and header support. The library handles XML request/response serialization and parsing, simplifying integration with legacy or enterprise SOAP APIs.
Elixir developers who need to integrate with SOAP-based web services, particularly in enterprise environments or when working with legacy systems that expose SOAP APIs.
Developers choose Soap because it offers a clean, idiomatic Elixir API for SOAP interactions, reducing the boilerplate of manual XML handling. It provides essential features like WSDL parsing and response parsing out of the box, making SOAP integration more accessible in the Elixir ecosystem.
SOAP client for Elixir programming language
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides clean functions like Soap.init_model and Soap.call that abstract XML complexities, making SOAP interactions feel native to Elixir, as shown in the usage examples.
Parses WSDL files from URLs or local paths to build service models and list available operations, demonstrated with Soap.operations in the README.
Converts SOAP XML responses into Elixir maps via Soap.Response.parse, simplifying data extraction from legacy APIs.
Supports both SOAP 1.1 and 1.2 with easy configuration through application settings, as outlined in the configuration section.
Lacks support for complex SOAP standards like WS-Security, encryption, or attachments, which are common in secure enterprise environments.
Error recovery and fault tolerance mechanisms are not mentioned; developers must implement retries or logging manually for robust integrations.
The README is minimal with basic examples, and while HexDocs are available, comprehensive guides for edge cases or advanced usage might be sparse.