I am coauthor of the book Professional Open Source Web Services on the subject...
SOAP: Simple Object Access Protocol defines an RPC mechanism using XML for client-server interaction across a network by using several mechanisms.
The name is somewhat misleading, as, over time, it is most definitely becoming less "Simple," and because it's not terribly much about Objects, as such. Objects are typically things that have identity, contain data, and on which one invokes methods. With SOAP, you typically don't have a 'thing with identity;' you're really just calling remote methods via an RPC scheme. Some common SOAP services such as stock quote services have nothing that would be identifiable from the protocol point of view as an object.
HTTP as the base transport
XML documents for encoding of invocation requests and responses
Web Service Definition Language (WSDL)
WSDL is an XML format for describing network services as a set of endpoints operating on messages containing either document-oriented or procedure-oriented information. The operations and messages are described abstractly, and then bound to a concrete network protocol and message format to define an endpoint. Related concrete endpoints are combined into abstract endpoints (services). WSDL is extensible to allow description of endpoints and their messages regardless of what message formats or network protocols are used to communicate, however, the only bindings described in this document describe how to use WSDL in conjunction with SOAP 1.1, HTTP GET/POST, and MIME.
It essentially corresponds to the CORBA IDL language, defining what methods are available, and what are the names and types of their arguments.
Universal Description, Discovery and Integration (UDDI) - (Essentially like CORBA Trading Service, but does data transfer using SOAP)
See also UDDI: Specifications
Web Services Inspection Language (WS-Inspection) 1.0
For retrieving service description documents, and is a key component of the overall Web services model. Service discovery is a very broad concept, which means that it is unlikely to have one solution that addresses all of its requirements. The Universal Description, Discovery and Integration (UDDI) specification addresses a subset of the overall requirements by using a centralized service discovery model. This article will provide an overview of the Web Services Inspection Language (WS-Inspection), which is another related
Reliable HTTP Protocol
WSFL - Web Services Flow Language
Rather like WorkFlow for IBM Web Services
WSUI- Web Service User Interface
This document describes the syntax and semantics of Web Service User Interface (WSUI). WSUI is a component model for adding presentation and multistage interaction to XML and SOAP-based network services. WSUI is designed to be lightweight and easily implementable by using standard XML technologies such as XSLT, XPath, and XHTML.
A discussion of similarities and differences between CORBA and SOAP.
Perl SOAP::Lite
SOAP for Python provides a client side implementation of SOAP 1.1 for use with Python .
Which is pretty much obsolete, at this point...
SourceForge: Project Info - Web Services for Python
This project currently consists of two SOAP implementations:
This is a Python SOAP implementation that is fairly widely available in RPM and dpkg form.
Unfortunately, the company that sponsored its development is no longer in business, and so development has languished. It nonetheless seems to be the "most maintained" SOAP implementation for Python.
SOAP Methods as external methods
SOAP.py 0.9.7 patched to work with Python 1.5.2 for use with Zope .
Zolera's SOAP Infrastructure - ZSI
Produced by Rich Salz, of INN fame.
Unfortunately, Zolera has gone out of business, and ZSI seems to have been left as yet another discarded SOAP implementation for Python.
NINZ stands for " NINZ Is Not ZSI ".
The home of
kSOAP
at Enhydra.org
This is a SOAP implementation written to run on the J2ME - Java 2, Micro Edition platform. The idea is to allow use of SOAP on tiny platforms like cell phones and pagers that can't support a full-blown "desktop style" Java environment.
Using SOAP to do web searches on Google
There are efforts underway to use BEEP instead of HTTP as a transport for SOAP messages.
A Brief History of SOAP (by Don Box)
Currently Vaporware, wants to become a UDDI implementation in Java .
A "bridge" to translate SOAP messages into CORBA , and back.
OSE is a generic application framework suitable for constructing general purpose applications, distributed systems and web based services. The four main parts of OSE are an extensive C++ class library, a set of Python wrappers, a build environment based on GNU Make, and a set of documentation extraction tools.
Key components of the system include support for event driven systems, stream based and message oriented interprocess communications and a framework for request/reply or publish/subscribe service agent based systems. Web based interfaces may be constructed using a HTTP servlet framework or by using RPC over HTTP protocols such as XML-RPC and SOAP.
There may be some reason to be concerned about building anything too terribly extensive atop SOAP, as both IBM and Microsoft hold "intellectual property" within the web services protocols, and have not agreed to release those rights for royalty-free use should they become W3C standards.
developerWorks: Web services : Myths and misunderstandings surrounding SOAP
O'Reilly Network: Will patents drive us to REST? [April 28, 2002]
Method and system for invoking methods of objects over the internet
Google SOAP Interface for Python
This script reportedly causes a memory leak in Python, and uses a yield facility new to "generators" functionality in Python 2.2.
Google Search: SOAP group:comp.object.corba
Michi Henning discusses SOAP performance...
SOAP Security - Paul Prescod's rant about the limitations of SOAP security.
XKMS - XML Key Management Specification
TSIK Download - VeriSign security toolkit
OpenSAML - an Open Source Security Assertion Markup Language implementation
OASIS - Technical Committees - XACML (eXtensible Access Control Markup Language)
Patents apparently applicable to XACML - all held by XEROX
5715403 System for controlling the distribution and use of digital works having attached usage rights where the usage rights are defined by a usage rights grammar
5629980 System for controlling the distribution and use of digital works
5638443 System for Controlling the Distribution and Use of Composite Digital Works