SkillAgentSearch skills...

Txsuds

Twisted-Suds is a lightweight SOAP python client for consuming Web Services that uses the asynchronous Twisted framework.

Install / Use

/learn @aronbierbaum/Txsuds
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

OVERVIEW

The "Suds" web services client is a lightweight soap-based client for python the is licensed under LGPL.

For details, visit:

  • Project site: https://fedorahosted.org/suds/
  • Documentation: https://fedorahosted.org/suds/wiki/Documentation
  • Epydocs: http://jortel.fedorapeople.org/suds/doc/

RELEASE-NOTES:

version 0.3.6 (04-31-09):

  • Change hard coded /tmp/suds to tempfile.gettempdir() and create suds/ on demand.
  • Fix return type for Any.get_attribute().
  • Update http caching to ignore file:// urls.
  • Better logging of messages when only the reply is injected.
  • Fix XInteger and XFloat types to translate returned arrays properly.
  • Fix xs:import schema with same namespace.
  • Update parser to not load external references and add Import.bind() for XMLSchema.xsd location.
  • Add schema doctor - used to patch XSDs at runtime. (See Option.doctor)
  • Fix deprecation warnings in python 2.6.
  • Add behavior for @default defined on <element/>.
  • Change @xsi:type value to always be qualified for doc/literal. (reverts 0.3.5 change).
  • Add Option.xstq option to control when @xsi:type is qualified.
  • Fixed Tickets: #64, #129, #205, #206, #217, #221, #222, #224, #225, #228, #229, #230

version 0.3.5 (04-16-09):

  • Adds http caching. Default is (1) day. Does not apply to method invocation. See: documentation for details.
  • Removed checking fedora version check in spec since no longer building < fc9.
  • Updated makefile to roll tarball with tar.sh.
  • Moved bare/wrapped determination to wsdl for document/literal.
  • Refactored Transport into a package (provides better logging of http headers).
  • Fixed Tickets: #207, #209, #210, #212, #214, #215

version 0.3.4 (02-24-09):

  • Static (automatic) Import.bind('http://schemas.xmlsoap.org/soap/encoding/'), users no longer need to do this.
  • Basic ws-security with {{{UsernameToken}}} and clear-text password only.
  • Add support for ''sparse'' soap headers via passing dictionary
  • Add support for arbitrary user defined soap headers
  • Fixes service operations with multiple soap header entries.
  • Schema loading and dereferencing algorithm enhancements.
  • Nested soap multirefs fixed.
  • Better (true) support for elementFormDefault="unqualified" provides more accurate namespaing.
  • WSDL part types no longer default to WSDL targetNamespace.
  • Fixed Tickets: #4, #6, #21, #32, #62, #66, #71, #72, #114, #155, #201.

version 0.3.3 (11-31-08):

  • No longer installs (tests) package.
  • Implements API-3 proposal ( https://fedorahosted.org/suds/wiki/Api3Proposal )
    • Pluggable transport
    • Keyword method arguments
    • Baisc http authentication in default transport
  • Add namespace prefix normalization in soap message.
  • Better soap message pruning of empty nodes.
  • Fixed Tickets: #51 - #60

version 0.3.2 (11-7-08):

  • SOAP {{{MultiRef}}} support ''(1st pass added r300)''
  • Add support for new schema tags:
  • Added support for new xs <--> python type conversions:
    • xs:int
    • xs:long
    • xs:float
    • xs:double
  • Revise marshaller and binding to further sharpen the namespacing of nodes produced.
  • Infinite recursion fixed in ''xsd'' package dereference() during schema loading.
  • Add support for wsdl:import/ of schema files into the wsdl root <definitions/>.
  • Fix double encoding of (&)
  • Add Client API:
    • setheaders() - same as keyword but works for all invocations.
    • addprefix() - mapping of namespace prefixes.
    • setlocation() - Override the location in the wsdl; same as keyword except for all calls.
    • setproxy() - same as proxy keyword but for all invocations.
  • Add proper namespace prefix for soap headers.
  • Fixed Tickets: #5, #12, #34, #37, #40, #44, #45, #46, #48, #49, #50, #51

version 0.3.1 (10-1-08):

  • Quick follow up to the 0.3 release that made working multi-port service definitions harder then necessary. After consideration (and a good night sleep), it seemed obvious that a few changes would make this much easier: 1) filter out the non-soap bindings - they were causing the real trouble; 2) since most servers are happy with any of the soap bindings (soap 1.1 and 1.2), ambigious references to methods when invoking then without the port qualification will work just fine in almost every case. So, why not just allow suds to select the port. Let's not make the user do it when it's not necessary. In most cases, uses on 0.2.9 and earlier will not have to update there code when moving to 0.3.1 as they might have in 0.3.

version 0.3 (9-30-08):

  • Extends the support for multi-port services introduced in 0.2.9. This addition, provides for multiple services to define the same method and suds will handle it properly. See section 'SERVICES WITH MULTIPLE PORTS:'

  • Add support for multi-document document/literal soap binding style. See section 'MULTI-DOCUMENT Docuemnt/Literal:'

  • Add support for (xs:group, xs:attributeGroup) tags.

  • Add Client.last_sent() and Client.last_received().

version 0.2.9 (9-09-08):

  • Support for multiple ports within a service.
  • Attribute references <xs:attribute ref=""/>
  • Make XML special character encoder in sax package - pluggable

version 0.2.8 (8-28-08):

  • Update document/literal binding to always send the document root referenced by the <part/>. After yet another review of the space and user input, seems like the referenced element is ALWAYS the document root.

  • Add support for 'binding' schemaLocations to namespace-uri.
    This is for imports that don's specify a schemaLocation and still expect the schema to be downloaded. Eg: Axis references 'http://schemas.xmlsoap.org/soap/encoding/' without a schemaLocation. So, by doing this:

    from suds.xsd.sxbasic import Import. Import.bind('http://schemas.xmlsoap.org/soap/encoding/')

    The schema is bound to a schemaLocation and it is downloaded.

  • Basic unmarshaller doesn't need a /schema/. Should have been removed during refactoring but was missed.

  • Update client to pass kwargs to send() and add /location/ kwarg for overriding the service location in the wsdl.

  • Update marshaller to NOT emit XML for object attributes that represent elements and/or attributes that are both optional and value=None. * Update factory (builder) to include all attributes. * Add optional() method to SchemaObject.

  • Update wsdl to override namespace in operation if specified.

  • Fix schema loading issue - build all schemas before processing imports.

  • Update packaging in preparation of submission to fedora

version 0.2.7 (8-11-08):

  • Add detection/support for document/literal - wrapped and unwrapped.
  • Update document/literal {wrapped} to set document root (under <body/>) to be the wrapper element (w/ proper namespace).
  • Add support for <sequence/>, <all/> and <choice/> having maxOccurs and have the which causes the unmarshaller to set values for elements contained in an unbounded collection as a list.
  • Update client.factory (builder) to omit children of <choice/> since the 'user' really needs to decide which children to include.
  • Update flattening algorithm to prevent re-flattening of types from imported schemas.
  • Adjustments to flattening/merging algorithms.

version 0.2.6 (8-5-08):

  • Fix ENUMs broken during xsd package overhaul.
  • Fix type as defined in ticket #24.
  • Fix duplicate param names in method signatures as reported in ticket #30.
  • Suds licensed as LGPL.
  • Remove logging setup in suds.init() as suggested by patch in ticket #31. Users will now need to configure the logger.
  • Add support for Client.Factory.create() alt: syntax for fully qualifying the type to be built as: {namespace}name. Eg: client.factory.create('{http://blabla.com/ns}Person')

version 0.2.5 (8-01-08):

  • Overhauled the (XSD) package. This new (merging) approach is simpler and should be more reliable and maintainable. Also, should provide better performance since the merged schema performes lookups via dictionary lookup.

    This overhaul should fix current TypeNotFound and xs:extension/ problems, I hope :-).

  • Fixed dateTime printing bug.

  • Added infinite recursion prevention in builder.Builder for xsd types that contain themselves.

version 0.2.4 (7-28-08):

  • Added support for WSDL imports: wsdl:import/
  • Added support for xsd<->python type conversions (thanks: Nathan Van Gheem) for:
    • xs:date
    • xs:time
    • xs:dateTime
  • Fixed:
    • Bug: Schema <import/> with schemaLocation specified.
    • Bug: Namespaces specified in service description not valid until client/proxy is printed.

version 0.2.3 (7-23-08):

  • Optimizations.

version 0.2.2 (7-8-08):

  • Update exceptions to be more /standard/ python by using Exception.init() to set Exception.message as suggested by Ticket #14; update bindings to raise WebFault passing (p)

  • Add capability in bindings to handle multiple root nodes in the returned values; returned as a composite object unlike when lists are returned

  • Fix soapAction to be enclosed by quotes

  • Add support for xs:all/

  • Fix unbounded() method in SchemaObject

  • Refactored schema into new (xsd) package. Files just getting too big. Added execute() to Query and retrofitted suds to execute() query instead of using Schema.find() directly.
    Also, move hokey start() methods from schema, as well as, query incrementation.

  • Add inject keyword used to inject outbound soap messa

View on GitHub
GitHub Stars10
CategoryDevelopment
Updated5y ago
Forks13

Languages

Python

Security Score

75/100

Audited on Jun 30, 2020

No findings