VISÃO GERAL
O cliente de serviços web "Suds" é um cliente leve baseado em SOAP para python
que é licenciado sob LGPL.
Para detalhes, visite:
NOTAS DE LANÇAMENTO:
versão 0.3.6 (04-31-09):
- Alterar o caminho /tmp/suds codificado para tempfile.gettempdir() e criar suds/ sob demanda.
- Corrigir tipo de retorno para Any.get_attribute().
- Atualizar cache HTTP para ignorar URLs file://.
- Melhor registro de mensagens quando apenas a resposta é injetada.
- Corrigir tipos XInteger e XFloat para traduzir arrays retornados corretamente.
- Corrigir esquema xs:import com o mesmo namespace.
- Atualizar analisador para não carregar referências externas e adicionar Import.bind() para localização XMLSchema.xsd.
- Adicionar doctor de esquema - usado para corrigir XSDs em tempo de execução. (Veja Option.doctor)
- Corrigir avisos de depreciação no python 2.6.
- Adicionar comportamento para @default definido em .
- Alterar valor de @xsi:type para sempre ser qualificado para doc/literal. (reverte alteração 0.3.5).
- Adicionar opção Option.xstq para controlar quando @xsi:type é qualificado.
- Corrigidos tickets: #64, #129, #205, #206, #217, #221, #222, #224, #225, #228, #229, #230
versão 0.3.5 (04-16-09):
- Adiciona cache HTTP. Padrão é (1) dia. Não se aplica à invocação de método. Veja: documentação para detalhes.
- Removida verificação de versão do fedora no spec já que não está mais compilando para < fc9.
- Atualizado makefile para gerar tarball com tar.sh.
- Movida determinação bare/wrapped para wsdl para document/literal.
- Refatorado Transport para um pacote (fornece melhor registro de cabeçalhos HTTP).
- Corrigidos tickets: #207, #209, #210, #212, #214, #215
versão 0.3.4 (02-24-09):
- Static (automático) Import.bind('http://schemas.xmlsoap.org/soap/encoding/'),
usuários não precisam mais fazer isso.
- Segurança ws básica com {{{UsernameToken}}} e senha em texto claro apenas.
- Adicionar suporte para cabeçalhos soap ''esparsos'' via passagem de dicionário
- Adicionar suporte para cabeçalhos soap definidos pelo usuário arbitrários
- Corrigir operações de serviço com múltiplas entradas de cabeçalho soap.
- Melhorias no algoritmo de carregamento e desreferenciamento de esquema.
- Multirefs soap aninhados corrigidos.
- Suporte melhor (verdadeiro) para elementFormDefault="unqualified" fornece mais
namespaing preciso.
- Tipos de parte WSDL não usam mais targetNamespace do WSDL como padrão.
- Corrigidos tickets: #4, #6, #21, #32, #62, #66, #71, #72, #114, #155, #201.
versão 0.3.3 (11-31-08):
- Não instala mais o pacote (tests).
- Implementa proposta API-3 ( https://fedorahosted.org/suds/wiki/Api3Proposal )
- Transporte plugável
- Argumentos de método por palavra-chave
- Autenticação http básica no transporte padrão
- Adicionar normalização de prefixo de namespace na mensagem soap.
- Melhor poda de nós vazios na mensagem soap.
- Corrigidos tickets: #51 - #60
versão 0.3.2 (11-7-08):
- Suporte SOAP {{{MultiRef}}} ''(primeira passagem adicionada r300)''
- Adicionar suporte para novas tags de esquema:
- Adicionado suporte para novas conversões de tipo xs <--> python:
- xs:int
- xs:long
- xs:float
- xs:double
- Revisar marshaller e binding para aprimorar ainda mais o namespacing dos nós produzidos.
- Recursão infinita corrigida no pacote ''xsd'' dereference() durante carregamento de esquema.
- Adicionar suporte para wsdl:import/ de arquivos de esquema na raiz do wsdl.
- Corrigir dupla codificação de (&)
- Adicionar API do Cliente:
- setheaders() - igual à palavra-chave, mas funciona para todas as invocações.
- addprefix() - mapeamento de prefixos de namespace.
- setlocation() - Substituir a localização no wsdl; igual à palavra-chave, exceto para todas as chamadas.
- setproxy() - igual à palavra-chave proxy, mas para todas as invocações.
- Adicionar prefixo de namespace adequado para cabeçalhos soap.
- Corrigidos tickets: #5, #12, #34, #37, #40, #44, #45, #46, #48, #49, #50, #51
versão 0.3.1 (10-1-08):
- Rápido acompanhamento do lançamento 0.3 que tornou o trabalho com definições de serviço multi-porta
mais difícil do que o necessário. Após consideração (e uma boa noite de sono),
pareceu óbvio que algumas mudanças tornariam isso muito mais fácil: 1) filtrar
as bindings não-soap - elas estavam causando o verdadeiro problema; 2) como a maioria dos servidores
fica satisfeita com qualquer uma das bindings soap (soap 1.1 e 1.2), referências ambíguas a métodos
ao invocá-los sem a qualificação de porta funcionarão bem em quase todos os
casos. Então, por que não permitir que o suds selecione a porta? Não vamos fazer o usuário fazer isso
quando não for necessário. Na maioria dos casos, usuários do 0.2.9 e anteriores não precisarão
atualizar seu código ao migrar para 0.3.1 como poderiam ter feito no 0.3.
versão 0.3 (9-30-08):
-
Estende o suporte para serviços multi-porta introduzido no 0.2.9. Esta adição
fornece a capacidade para múltiplos serviços definirem o mesmo método e o suds
lidará com isso adequadamente. Veja a seção 'SERVIÇOS COM MÚLTIPLAS PORTAS:'
-
Adicionar suporte para estilo de binding soap document/literal multi-documento.
Veja a seção 'MULTI-DOCUMENTO Docuemnt/Literal:'
-
Adicionar suporte para tags (xs:group, xs:attributeGroup).
-
Adicionar Client.last_sent() e Client.last_received().
versão 0.2.9 (9-09-08):
- Suporte para múltiplas portas dentro de um serviço.
- Referências de atributo <xs:attribute ref=""/>
- Tornar o codificador de caracteres especiais XML no pacote sax - plugável
versão 0.2.8 (8-28-08):
-
Atualizar binding document/literal para sempre enviar a raiz do documento referenciada pelo .
Após mais uma revisão do espaço e entrada do usuário, parece que o elemento
referenciado é SEMPRE a raiz do documento.
-
Adicionar suporte para associar 'binding' schemaLocations a namespace-uri.
Isto é para imports que não especificam um schemaLocation e ainda esperam que o esquema
seja baixado. Ex: Axis referencia 'http://schemas.xmlsoap.org/soap/encoding/'
sem um schemaLocation. Então, fazendo isto:
from suds.xsd.sxbasic import Import.
Import.bind('http://schemas.xmlsoap.org/soap/encoding/')
O esquema é associado a um schemaLocation e é baixado.
-
Unmarshaller básico não precisa de um /schema/.
Deveria ter sido removido durante a refatoração, mas foi esquecido.
-
Atualizar cliente para passar kwargs para send() e adicionar kwarg /location/ para substituir a
localização do serviço no wsdl.
-
Atualizar marshaller para NÃO emitir XML para atributos de objeto que representam elementos e/ou atributos que
são ambos opcionais e value=None.
* Atualizar factory (builder) para incluir todos os atributos.
* Adicionar método optional() a SchemaObject.
-
Atualizar wsdl para substituir namespace em operação se especificado.
-
Corrigir problema de carregamento de esquema - construir todos os esquemas antes de processar imports.
-
Atualizar empacotamento em preparação para submissão ao fedora
versão 0.2.7 (8-11-08):