Ladón es un marco basado en Python para exponer funciones en diversos tipos de servicios web. & Nbsp; Por ejemplo SOAP, JSONRPC, argumentos HTTP POST, etc.
1. Implementar ...
Implemente su clase de servicio que adorna los métodos que desee exponer con el decorador ladonize.
2. Envuelva ...
Envuelva su servicio a través de la clase de aplicación WSGI de Ladon ...
3. Expone que ...
la aplicación WSGI utilizando una mínima clase de Ladon WSGI servidor Apache2 / mod_wsgi o algún otro middleware WSGI ...
¿Qué hay de nuevo en esta versión:
< ul>
¿Qué hay de nuevo en la versión 0.8.1:
- reflexión Añadido criticar objetos de respuesta por lo que es posible para rastrear los fallos de nuevo a solicitudes específicas.
¿Cuál es nuevo en la versión 0.7.3:
- Añadido fascilities de registro en todo el servicio a través del constructor LadonWSGIApplication. Niveles de registro preliminares son:
- ladon.server.NO_LOGGING = 0
- ladon.server.LOG_REQUEST_ACCESS = 1
- ladon.server.LOG_REQUEST_DICT = 2
- ladon.server.LOG_RESPONSE_DICT = 4
- ladon.server.LOG_EXECUTION_TIME = 8
¿Qué hay de nuevo en la versión 0.7.2:
- Se ha añadido la posibilidad de utilizar elegir entre diferentes tipos de publicación al escribir la documentación en línea para la documentación de la API. Editores posibles son & quot; & quot ;, prima & quot; pre & quot; y & quot; docutils & quot; - Ejemplo:
- ladonize ([PORTABLE_STRING], RTYPE = [Archivo])
- def descargar (auto, nombres):
- & quot; & quot; & quot;
- publisher: docutils
- - Prueba
- - Prueba 2
- + ------------ + ------------ + ----------- +
- | Encabezado 1 | Encabezado 2 | Encabezado 3 |
- + ============ ============ + + + ===========
- | Cuerpo de la fila 1 | Columna 2 | Columna 3 |
- + ------------ + ------------ + ----------- +
- | fila cuerpo 2 | Células puede abarcar columnas |.
- + ------------ + ------------ + ----------- +
- | fila cuerpo 3 | Células mayo | - Células |
- + ------------ + filas palmo. | - Contener |
- | fila cuerpo 4 | | - bloques. |
- + ------------ + ------------ + ----------- +
- Kode eksempel ::
- prueba def (self):
- print & quot; oijfwe & quot;
- descargar varios archivos a la vez. Para cada nombre en los nombres del servicio
- intenta encontrar un archivo en el servicio / carga que corresponda. Si un nombre no
- haber un archivo coincidente se ignora.
- nombresparam: Una lista de los nombres de archivo
- rtype: Devuelve una lista de objetos File
- & quot; & quot; & quot;
- upload_dir mundial
- respuesta = []
- para el nombre en los nombres de:
- f = File ()
- f.name = name
- f.data = attachment (abierta (join (upload_dir, nombre), 'rb'))
- Respuesta + = [f]
- respuesta de retorno
¿Qué hay de nuevo en la versión 0.7.1:
- Solución de error 974655 Añadido través de la función de proxy para el Python cliente jsonwsp
¿Qué hay de nuevo en la versión 0.7.0:
- Solución de errores 926.442 y 926.445
¿Cuál es nuevo en la versión 0.6.6:
- Nuevo diccionario basado en el tipo-definición para LadonType atributos. Hasta la versión 0.6.6 todas LadonType atributos tuvo que hacer referencia a un tipo o lista de tipo directamente. Con tipo de definiciones de diccionario, es posible que el desarrollador de servicios para pasar las propiedades más detalladas acerca de los atributos, como las líneas de documentación, valor por defecto o si es anulable (None) o no. Atributo LadonType viejo estilo definiciones siguen siendo válidos y, por tanto, este cambio ofrece compatibilidad hacia atrás. La integración de anulable está incorporado en las interfaces de jabón y jsonwsp. Ejemplo:
- clase Persona (LadonType):
- username = PORTABLE_BYTES # viejo estilo
- grupos = [PORTABLE_BYTES]
- celular = {# nuevo estilo
- 'Tipo': PORTABLE_BYTES,
- "anulable": Es cierto,
- 'doc':. & Quot; número de teléfono móvil del usuario & quot; }
- valid_user = {
- "tipo": bool,
- "anulable": Falso,
- 'default': Falso,
- 'doc': ['¿Es usuario válido.', 'Si no se da, el usuario no es válido.']}
¿Cuál es nuevo en la versión 0.6.5:
- Manejo de errores finalmente implementado. interfaces deben ahora aplicar un FaultHandler heredar la clase BaseFaultHandler. Los manejadores de errores se han aplicado tanto para SOAP y las interfaces JSONWSP. Todas las excepciones que occure bajo la invocación de métodos son capturados por despachador de Ladon y se envían al gestor de fallos del interfaz. Utilice ServerFault o ClientFault excepciones aplicadas en ladon.exceptions.service para elevar o bien un fallo del servidor o la culpa de un fallo en el cliente. Otras excepciones que podrían occure bajo método de servicio invocación son vistos como fallos en el servidor no administrados, y se convierten en tales por el despachador.
- Nuevo archivo adjunto con formato de referencia CIDX :. Esta petición posterior de clientes que tienen referencias a piezas de enganche por el índice en lugar de Content-Id nos dejó formato.
¿Cuál es nuevo en la versión 0.6.4:
- JSONWSPClient __init __ (descripción = Ninguno, url = Ninguno ) toma Descripción url como primer argumento o palabra clave & quot; & quot ;. Descripción Una nueva palabra clave argumento & quot; url & quot; se puede pasar en lugar de la descripción si se conoce la API jsonwsp. La desventaja de utilizar la url es que no se crean los métodos de marcador de posición en el objeto JSONWSPClient, en lugar usted debe llamar a los métodos a través del método call_method ().
- CustomResponse - Ladon ahora ofrece la posibilidad de definir la respuesta a medida en los métodos especificados. Por ejemplo, puedes hacer Ladon responde con una respuesta de descarga del navegador en un método de servicio específico. Ejemplo:
- clase HTTPAttachmentResponse (CustomResponse):
- def __init __ (self, fileobj, nombre de archivo, tamaño del archivo, tamaño de bloque = 4096):
- self.fileobj = fileobj
- self.filename = nombre de archivo
- self.filesize = tamaño de archivo
- self.blocksize = blocksize
- response_headers def (auto):
- # TODO: Manipular codificaciones para nombres de archivo
- print [('Content-Disposition "," apego; filename = & quot;% s & quot;'% self.filename.encode ('UTF-8')),
- ('Content-Type "," application / force-download'),
- ('Content-Length ", str (self.filesize))]
- retorno [
- ('Content-Disposition "," apego; filename = & quot;% s & quot;'% self.filename.encode ('UTF-8')),
- ('Content-Type "," application / force-download'),
- ('Content-Length ", str (self.filesize))]
- def response_data (self):
- iter retorno (lambda: self.fileobj.read (self.blocksize), '')
- Bug 852234 -. Retiradas nillable y minOccurs atributos de elementos de la parte de SOAP
- Bug 861193 - Eliminado '_' a '-'. Conversión de elementos complexType
- Bug 884431 -. Fijo tipo booleano en objetos de respuesta de SOAP
Requisitos :
- Python
Comentarios que no se encuentran