soco.soap module¶
Classes for handling SoCo’s basic SOAP requirements.
This module does not handle anything like the full SOAP Specification , but is enough for SoCo’s needs. Sonos uses SOAP for UPnP communications, and for communication with third party music services.
-
exception
soco.soap.
SoapFault
(faultcode, faultstring, detail=None)[source]¶ An exception encapsulating a SOAP Fault.
- Parameters
faultcode (str) – The SOAP faultcode.
faultstring (str) – The SOAP faultstring.
detail (
Element
) – The SOAP fault detail, as an ElementTreeElement
. Defaults toNone
.
-
class
soco.soap.
SoapMessage
(endpoint, method, parameters=None, http_headers=None, soap_action=None, soap_header=None, namespace=None, **request_args)[source]¶ A SOAP Message representing a remote procedure call.
Uses the Requests library for communication with a SOAP server.
- Parameters
endpoint (str) – The SOAP endpoint URL for this client.
method (str) – The name of the method to call.
parameters (list) – A list of (name, value) tuples containing the parameters to pass to the method. Default
None
.http_headers (dict) – A dict in the form {‘Header’: ‘Value,..} containing http headers to use for the http request. Content-type and SOAPACTION headers will be created automatically, so do not include them here. Use this, for example, to set a user-agent.
soap_action (str) – The value of the SOAPACTION header. Default ‘None`.
soap_header (str) – A string representation of the XML to be used for the SOAP Header. Default
None
.namespace (str) – The namespace URI to use for the method and parameters.
None
, by default.**request_args – Other keyword parameters will be passed to the Requests request which is used to handle the http communication. For example, a timeout value can be set.
-
prepare_headers
(http_headers, soap_action)[source]¶ Prepare the http headers for sending.
Add the SOAPACTION header to the others.
- Parameters
http_headers (dict) – A dict in the form {‘Header’: ‘Value,..} containing http headers to use for the http request.
soap_action (str) – The value of the SOAPACTION header.
- Returns
headers including the SOAPACTION header.
- Return type
dict
-
prepare_soap_header
(soap_header)[source]¶ Prepare the SOAP header for sending.
Wraps the soap header in appropriate tags.
- Parameters
soap_header (str) – A string representation of the XML to be used for the SOAP Header
- Returns
The soap header wrapped in appropriate tags.
- Return type
str
-
prepare_soap_body
(method, parameters, namespace)[source]¶ Prepare the SOAP message body for sending.
- Parameters
method (str) – The name of the method to call.
parameters (list) – A list of (name, value) tuples containing the parameters to pass to the method.
namespace (str) – tThe XML namespace to use for the method.
- Returns
A properly formatted SOAP Body.
- Return type
str
-
prepare_soap_envelope
(prepared_soap_header, prepared_soap_body)[source]¶ Prepare the SOAP Envelope for sending.
- Parameters
prepared_soap_header (str) – A SOAP Header prepared by
prepare_soap_header
prepared_soap_body (str) – A SOAP Body prepared by
prepare_soap_body
- Returns
A prepared SOAP Envelope
- Return type
str