VISIÓN GENERAL
El cliente de servicios web "Suds" es un cliente ligero basado en soap para python
que está licenciado bajo LGPL.
Para más detalles, visita:
NOTAS DE LANZAMIENTO:
versión 0.3.6 (04-31-09):
- Cambiar la ruta codificada /tmp/suds por tempfile.gettempdir() y crear suds/ bajo demanda.
- Corregir el tipo de retorno de Any.get_attribute().
- Actualizar la caché http para ignorar las URL file://.
- Mejor registro de mensajes cuando solo se inyecta la respuesta.
- Corregir los tipos XInteger y XFloat para traducir correctamente los arrays devueltos.
- Corregir el esquema xs:import con el mismo espacio de nombres.
- Actualizar el analizador para no cargar referencias externas y añadir Import.bind() para la ubicación de XMLSchema.xsd.
- Añadir schema doctor: se usa para parchear XSD en tiempo de ejecución. (Ver Option.doctor)
- Corregir avisos de deprecación en python 2.6.
- Añadir comportamiento para @default definido en .
- Cambiar el valor de @xsi:type para que esté siempre calificado para doc/literal. (revierte el cambio de 0.3.5).
- Añadir la opción Option.xstq para controlar cuándo se califica @xsi:type.
- Tickets corregidos: #64, #129, #205, #206, #217, #221, #222, #224, #225, #228, #229, #230
versión 0.3.5 (04-16-09):
- Añade caché http. El valor predeterminado es (1) día. No se aplica a la invocación de métodos. Ver: documentación para más detalles.
- Eliminada la comprobación de versión de fedora en el spec, ya que ya no se compila para < fc9.
- Actualizado el makefile para generar el tarball con tar.sh.
- Movida la determinación de bare/wrapped al wsdl para document/literal.
- Refactorizado Transport como paquete (proporciona un mejor registro de cabeceras http).
- Tickets corregidos: #207, #209, #210, #212, #214, #215
versión 0.3.4 (02-24-09):
- Import.bind('http://schemas.xmlsoap.org/soap/encoding/') estático (automático),
los usuarios ya no necesitan hacer esto.
- Seguridad ws básica con {{{UsernameToken}}} y solo contraseña en texto claro.
- Añadir soporte para cabeceras soap ''dispersas'' pasando un diccionario
- Añadir soporte para cabeceras soap arbitrarias definidas por el usuario
- Corrige operaciones de servicio con múltiples entradas de cabecera soap.
- Mejoras en los algoritmos de carga y desreferenciación de esquemas.
- Corregidas las multirefs soap anidadas.
- Mejor soporte (real) para elementFormDefault="unqualified" que proporciona un
espaciado de nombres más preciso.
- Los tipos de parte WSDL ya no usan por defecto el targetNamespace del WSDL.
- Tickets corregidos: #4, #6, #21, #32, #62, #66, #71, #72, #114, #155, #201.
versión 0.3.3 (11-31-08):
- Ya no instala el paquete (tests).
- Implementa la propuesta API-3 ( https://fedorahosted.org/suds/wiki/Api3Proposal )
- Transporte conectable
- Argumentos de método por palabra clave
- Autenticación http básica en el transporte predeterminado
- Añade normalización de prefijos de espacio de nombres en el mensaje soap.
- Mejor poda de nodos vacíos en mensajes soap.
- Tickets corregidos: #51 - #60
versión 0.3.2 (11-7-08):
- Soporte SOAP {{{MultiRef}}} ''(primer paso añadido en r300)''
- Añadir soporte para nuevas etiquetas de esquema:
- Añadido soporte para nuevas conversiones de tipo xs <--> python:
- xs:int
- xs:long
- xs:float
- xs:double
- Revisar marshaller y binding para afinar aún más el espaciado de nombres de los nodos generados.
- Corregida la recursión infinita en dereference() del paquete ''xsd'' durante la carga del esquema.
- Añadir soporte para wsdl:import/ de archivos de esquema en la raíz del wsdl.
- Corregir la doble codificación de (&)
- Añadir API de Client:
- setheaders() - igual que la palabra clave, pero funciona para todas las invocaciones.
- addprefix() - mapeo de prefijos de espacio de nombres.
- setlocation() - Sobrescribe la ubicación en el wsdl; igual que la palabra clave excepto para todas las llamadas.
- setproxy() - igual que la palabra clave proxy pero para todas las invocaciones.
- Añadir el prefijo de espacio de nombres adecuado para las cabeceras soap.
- Tickets corregidos: #5, #12, #34, #37, #40, #44, #45, #46, #48, #49, #50, #51
versión 0.3.1 (10-1-08):
- Seguimiento rápido del lanzamiento 0.3 que hizo que trabajar con definiciones de servicios multipuerto
fuera más difícil de lo necesario. Después de reflexionar (y de dormir bien),
parecía obvio que unos pocos cambios lo facilitarían mucho: 1) filtrar
los bindings que no son soap: eran los que causaban el problema real; 2) dado que la mayoría de los servidores
aceptan cualquiera de los bindings soap (soap 1.1 y 1.2), las referencias ambiguas a métodos
al invocarlos sin la calificación de puerto funcionarán bien en casi todos
los casos. Entonces, ¿por qué no permitir que suds seleccione el puerto? No hagamos que el usuario lo haga
cuando no sea necesario. En la mayoría de los casos, los usuarios de 0.2.9 y anteriores no tendrán que
actualizar su código al migrar a 0.3.1 como podría haber ocurrido en 0.3.
versión 0.3 (9-30-08):
-
Amplía el soporte para servicios multipuerto introducido en 0.2.9. Esta adición
permite que varios servicios definan el mismo método y suds lo
manejará correctamente. Ver la sección 'SERVICIOS CON MÚLTIPLES PUERTOS:'
-
Añade soporte para el estilo de binding document/literal multidocumento.
Ver la sección 'MULTI-DOCUMENT Document/Literal:'
-
Añade soporte para las etiquetas (xs:group, xs:attributeGroup).
-
Añade Client.last_sent() y Client.last_received().
versión 0.2.9 (9-09-08):
- Soporte para múltiples puertos dentro de un servicio.
- Referencias a atributos <xs:attribute ref=""/>
- Hacer conectable el codificador de caracteres especiales XML del paquete sax.
versión 0.2.8 (8-28-08):
-
Actualizar el binding document/literal para enviar siempre la raíz del documento referenciada por .
Después de otra revisión más del espacio y de las aportaciones de los usuarios, parece que el elemento
referenciado es SIEMPRE la raíz del documento.
-
Añadir soporte para schemaLocations de 'binding' a namespace-uri.
Esto es para imports que no especifican un schemaLocation y aun así esperan que el esquema
se descargue. P. ej.: Axis referencia 'http://schemas.xmlsoap.org/soap/encoding/'
sin un schemaLocation. Así, haciendo esto:
from suds.xsd.sxbasic import Import.
Import.bind('http://schemas.xmlsoap.org/soap/encoding/')
El esquema se vincula a un schemaLocation y se descarga.
-
El unmarshaller básico no necesita un /schema/.
Debería haberse eliminado durante la refactorización, pero se pasó por alto.
-
Actualizar el cliente para pasar kwargs a send() y añadir el kwarg /location/ para sobrescribir la
ubicación del servicio en el wsdl.
-
Actualizar el marshaller para NO emitir XML para atributos de objeto que representan elementos y/o atributos que
son a la vez opcionales y value=None.
* Actualizar la fábrica (builder) para incluir todos los atributos.
* Añadir el método optional() a SchemaObject.
-
Actualizar wsdl para sobrescribir el espacio de nombres en la operación si se especifica.
-
Corregir problema de carga de esquemas: construir todos los esquemas antes de procesar los imports.
-
Actualizar el empaquetado en preparación para el envío a fedora
versión 0.2.7 (8-11-08):