Skip to main content

Wrapper around suds-jurko that adds django_statsd instrumentation and improved proxy support.

Project description

This package is a wrapper around suds that adds django_statsd instrumentation and improved HTTP proxy support.

Usage

  1. Install the instrumented-soap package (pip install git+ssh://git@gitlab.com/thelabnyc/instrumented-soap.git#r1.0.0).

  2. Configure using your Django project’s settings.py file. The available options and their defaults are shown below. All configuration is optional.:

    # Enables Suds request/response logging
    DEBUG = True
    
    # Remove the Suds file cache of pickled WSDLs upon process exit
    SOAP_REMOVE_CACHE_ON_EXIT = False
    
    # Optional mapping of http(s):// WSDL URLs => file:// URLs to locally saved versions of the WSDL
    SOAP_WSDL_INTERCEPTS = {}
    
    # Optional HTTP/HTTPS proxy URL
    SOAP_PROXY_URL = None
    
    # Timeouts for opening WSDLs and sending method calls. Should be a
    # tuple containing (1) the TCP connect timeout and (2) the response
    # timeout.
    SOAP_OPEN_TIMEOUT = (3.05, 27)
    SOAP_SEND_TIMEOUT = (3.05, 10)
  3. Use with your SOAP API.:

    from soap import get_client
    
    client = get_client('http://some.dope.soap.api.com/path?WSDL', 'DOPE API LOG PREFIX')
    resp = client.service.DoStuff(42)
    print(resp)

Changelog

1.1.0

  • Adds some better testing tools for consumer code.
    • New class soap.tests.XMLAssertions with methods: assertNodeCount, assertNodeText, assertNodeAttributes. Uses lxml if it is installed, but otherwise falls back to elementree.

    • Class soap.tests.SoapTest now inherits from soap.tests.XMLAssertions

    • Add optional parameter test_request to soap.tests.SoapTest._build_transport_with_reply. Pass in a function to have it called (with the request as a parameter) before the mocked reply is sent. Useful to write unit tests to make sure your SOAP requests are well-formed.

1.0.2

  • Use docker executor for tests.

  • Use versiontag>=1.0.3

1.0.1

  • Updated README

1.0.0

  • Initial release.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

instrumented-soap-1.1.0.tar.gz (5.1 kB view hashes)

Uploaded Source

Built Distribution

instrumented_soap-1.1.0-py3-none-any.whl (7.6 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page