# emacs-soap-client

> SOAP client written in Emacs Lisp

**Wikidata**: [Q114567575](https://www.wikidata.org/wiki/Q114567575)  
**Source**: https://4ort.xyz/entity/emacs-soap-client

## Summary
Emacs-soap-client is a software library written in Emacs Lisp that implements a client for the SOAP (Simple Object Access) protocol. Designed to run on the cross-platform GNU Emacs editor, it facilitates interaction with web services and is a component of the GNU Project. The library serves as a dependency for other tools, such as the Emacs interface to the Debbugs bug tracker.

## Key Facts
- **Type:** Free software and software library.
- **Primary Use:** Implementing the SOAP protocol within GNU Emacs.
- **Creator:** Alexandru Harsanyi.
- **Inception:** 2009.
- **Programming Language:** Emacs Lisp.
- **Parent Project:** GNU Project (part of GNU ELPA since November 29, 2015).
- **Latest Version:** 3.2.3 (released May 12, 2023).
- **Distribution:** Distributed via GNU ELPA.
- **Notable Dependency:** Used by `emacs-debbugs` (interface to the Debbugs bug tracker).
- **Repository Hosts:** GitHub and GNU Savannah.

## FAQs
### Q: What is emacs-soap-client used for?
A: It is used to access web services that utilize the SOAP protocol directly from within the GNU Emacs text editor. It acts as a library allowing other Emacs packages, such as `emacs-debbugs`, to communicate with remote servers.

### Q: Who created emacs-soap-client and when was it started?
A: The tool was created by Alexandru Harsanyi in 2009. Harsanyi has maintained the project since its inception.

### Q: How is emacs-soap-client licensed and distributed?
A: It is free software classified as part of the GNU Project. It is distributed through the GNU Emacs Lisp Package Archive (GNU ELPA), where it has been available since November 29, 2015.

## Why It Matters
Emacs-soap-client solves a specific interoperability problem by bridging the gap between the extensible Emacs Lisp environment and the SOAP protocol, a standard commonly used in enterprise web services and legacy systems. Without this library, users would need to rely on external tools or shell commands to interact with SOAP endpoints, breaking the integrated workflow that Emacs provides.

Its inclusion in the GNU Project and distribution via GNU ELPA underscores its reliability and importance within the Emacs ecosystem. A key indicator of its utility is its adoption by `emacs-debbugs`, the official Emacs interface for the GNU Bug Tracker. By providing a native Lisp implementation of the SOAP client, it allows developers and users to programmatically query and manipulate bug reports and other web service data directly within their editing environment, enhancing productivity and automation capabilities.

## Notable For
- **Native Implementation:** Unlike wrapper scripts, it is written entirely in Emacs Lisp, ensuring seamless integration with GNU Emacs.
- **GNU Integration:** It is an official part of the GNU Project, hosted on GNU Savannah and distributed via GNU ELPA.
- **Critical Dependency:** It acts as a fundamental building block for `emacs-debbugs`, which is widely used for tracking software bugs in the GNU ecosystem.
- **Long-term Maintenance:** The project has seen continuous updates from its inception in 2009 through 2023, with version iterations like 3.2.3 demonstrating ongoing maintenance.

## Body

### Development and History
Emacs-soap-client was initially created by Alexandru Harsanyi in 2009. It functions as a software library to enable SOAP protocol communication. The project operates under the free software movement and is copyrighted but freely distributed.

On November 29, 2015, the library was officially integrated into the GNU Project as part of the GNU ELPA (Emacs Lisp Package Archive) collection. The source code is maintained in multiple repositories, including a personal mirror on GitHub and the official GNU Savannah repository.

### Technical Specifications
The client is written in Emacs Lisp, the dialect of Lisp used in GNU Emacs. It is cross-platform, capable of running on any operating system supported by GNU Emacs.

**Version History:**
The library has undergone numerous updates, with recent stable releases including:
- **Version 3.0.2:** Released November 29, 2015.
- **Version 3.1.1:** Released March 17, 2016.
- **Version 3.1.5:** Released October 16, 2018.
- **Version 3.2.0:** Released September 30, 2020.
- **Version 3.2.2:** Released May 12, 2023.
- **Version 3.2.3:** Released May 12, 2023 (Current stable version).

### Usage and Integration
The primary utility of emacs-soap-client is to serve as a backend for other Emacs packages. The most prominent user of this library is `emacs-debbugs`, an interface to the Debbugs bug tracking system which was inceptioned in 2011. By using emacs-soap-client, `emacs-debbugs` can fetch and display bug reports and control data via SOAP requests.

The package is available to users through the official GNU ELPA package ID `soap-client` and is also available in the Guix package manager under the variable name `emacs-soap-client`.

## Schema Markup
```json
{
  "@context": "https://schema.org",
  "@type": "SoftwareSourceCode",
  "name": "emacs-soap-client",
  "description": "SOAP client written in Emacs Lisp for the GNU Emacs editor.",
  "codeRepository": [
    "https://github.com/alex-hhh/emacs-soap-client.git",
    "https://git.savannah.gnu.org/cgit/emacs.git/tree/lisp/net"
  ],
  "author": {
    "@type": "Person",
    "name": "Alexandru Harsanyi"
  },
  "dateCreated": "2009",
  "programmingLanguage": {
    "@type": "ComputerLanguage",
    "name": "Emacs Lisp"
  },
  "license": "https://www.gnu.org/licenses/gpl-3.0.en.html",
  "runtimePlatform": "GNU Emacs",
  "version": "3.2.3",
  "dateModified": "2023-05-12",
  "url": "https://elpa.gnu.org/packages/soap-client.html"
}

## References

1. [Soap-Client version 3.2.1. 2022](https://lists.gnu.org/archive/html/gnu-emacs-sources/2022-02/msg00007.html)
2. [soap-client version 3.0.2. 2015](https://lists.gnu.org/archive/html/gnu-emacs-sources/2015-11/msg00018.html)
3. [soap-client version 3.1.1. 2016](https://lists.gnu.org/archive/html/gnu-emacs-sources/2016-03/msg00009.html)
4. [soap-client version 3.1.2. 2017](https://lists.gnu.org/archive/html/gnu-emacs-sources/2017-05/msg00011.html)
5. [soap-client version 3.1.3. 2017](https://lists.gnu.org/archive/html/gnu-emacs-sources/2017-06/msg00006.html)
6. [soap-client version 3.1.4. 2018](https://lists.gnu.org/archive/html/gnu-emacs-sources/2018-06/msg00003.html)
7. [soap-client version 3.1.5. 2018](https://lists.gnu.org/archive/html/gnu-emacs-sources/2018-10/msg00012.html)
8. [soap-client version 3.2.0. 2020](https://lists.gnu.org/archive/html/gnu-emacs-sources/2020-09/msg00032.html)
9. [Soap-Client version 3.2.2. 2023](https://lists.gnu.org/archive/html/gnu-emacs-sources/2023-05/msg00020.html)
10. [Soap-Client version 3.2.3. 2023](https://lists.gnu.org/archive/html/gnu-emacs-sources/2023-05/msg00024.html)
11. [Source](https://elpa.gnu.org/packages/soap-client.html)
12. [Source](https://git.savannah.gnu.org/cgit/emacs/elpa.git/tree/debbugs.el?h=externals/debbugs)
13. [emacs-soap-client 3.2.1](https://guix.gnu.org/en/packages/emacs-soap-client-3.2.1/)