Sending SOAP Request [Python Code]

To make SOAP requests to the SOAP API endpoint with Python, use the "Content-Type: application/soap+xml" request header, which tells the server that the request body contains a SOAP envelope. The server informs the client that it has returned a SOAP envelope with a "Content-Type: application/soap+xml" response header. In this Python SOAP Request Example, we are sending a SOAP request to the ReqBin echo URL with a SOAP envelope in the body of the POST request. Click Send to send Python SOAP Request example online and see the results. The Python code was automatically generated for the Make SOAP Request example.
Sending SOAP Request [Python Code] Send
POST /xml/tempconvert.asmx HTTP/1.1
Host: www.w3schools.com
Content-Type: application/soap+xml
Content-Length: 349

<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
  <soap12:Body>
    <FahrenheitToCelsius xmlns="https://www.w3schools.com/xml/">
      <Fahrenheit>75</Fahrenheit>
    </FahrenheitToCelsius>
  </soap12:Body>
</soap12:Envelope>
Updated: Viewed: 87127 times
Python code for Make SOAP Request example

Python code for Make SOAP Request Example

This Python code snippet was generated automatically for the Make SOAP Request example.
<< Back to the Make SOAP Request example

What is SOAP?

SOAP is an Object Access Protocol that Microsoft developed to replace older technologies such as DCOM (Distributed Component Object Model) and General CORBA (Object Request Broker Architecture). DCOM and CORBA are inferior because they rely on binary messages, while SOAP uses XML and works better over the Internet. SOAP relies exclusively on XML and, together with schemas, defines a strongly typed messaging structure. The main idea behind SOAP is that programs written in different programming languages ​​and platforms can easily exchange data.

SOAP Example
<?xml version='1.0' Encoding='UTF-8' ?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
  <env:Header>
  <m:reservation xmlns:m="https://www.website.com/reservation" env:role="http://www.w3.org/2003/05/soap-envelope/role/next">
    <m:reference>uuid:11111-22222-333333-444444-555555</m:reference>
    <m:dateAndTime>2020-01-01</m:dateAndTime>
  </m:reservation>
  <n:passenger xmlns:n="https://www.website.com/employees" env:role="http://www.w3.org/2003/05/soap-envelope/role/next">
    <n:name>John Smith</n:name>
  </n:passenger>
  </env:Header>
  <env:Body>
  <p:itinerary xmlns:p="https://www.website.com/reservation/travel">
    <p:departure>
      <p:departing>New York</p:departing>
      <p:arriving>Los Angeles</p:arriving>
      <p:departureDate>2020-01-01</p:departureDate>
    </p:departure>
  </p:itinerary>
  </env:Body>
</env:Envelope>

What is XML?

XML (eXtensible Markup Language) that provides structured information: data, documents, configuration, and more. XML was designed to be a language with a simple formal syntax to make it easy for both humans and programs to create and manage documents for use on the Internet. XML is called extensible because it does not capture the markup used in documents: you can generate markup according to the needs of a specific area, limited only by the rules of XML syntax.

XML Example
<Request>
  <Login>
     login
  </Login>
  <Password>
     password
  </Password>
</Request>

How to send a SOAP Request?

An example of sending a SOAP request to the SOAP API endpoint:

SOAP Request Example
POST /xml/tempconvert.asmx HTTP/1.1
Host: www.website.com
Content-Type: application/soap+xml
Content-Length: 349

<?xml version="1.0" encoding="utf-8"?>      
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
  <soap:Body>
    <GetUserBalance xmlns="https://www.website.com/xml/">
      <UserId>75</UserId>
    </GetUserBalance>
  </soap:Body>
</soap:Envelope>

SOAP response from server:

SOAP Response Example
HTTP/1.1 200 OK
Content-Type: application/soap+xml; charset=utf-8
Content-Length: 413
      
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <soap:Body>
    <GetUserBalanceResponse xmlns="https://www.website.com/xml/">
      <GetUserBalanceResult>1000.00</GetUserBalanceResult>
    </GetUserBalanceResponse>
  </soap:Body>
</soap:Envelope>

See also

Generate code snippets for Python and other programming languages

Convert your Make SOAP Request request to the PHP, JavaScript/AJAX, Node.js, Curl/Bash, Python, Java, C#/.NET code snippets using the Python code generator.