Como parte de una serie de trabajos relacionados con BPEL y WSO2 les dejo este primer documento introductorio al desarrollo de procesos de negocio.
martes, 3 de marzo de 2015
WSO2 ESB: creando una API REST tonta en 1 minuto.
Posted by Jorge on 3/03/2015 05:49:00 p. m.
Este es un escenario que se nos puede dar en cualquier desarrollo, bien sea en una PoC o como parte de un desarrollo ágil donde necesitamos consumir un servicio REST y no tenemos tiempo para implementar algo desde 0.
Digamos que requimos un servicio que se consulte a través de la siguiente URL:
http://localhost:8281/DummyRESTService/orders
Y queremos que nos devuelva:
{"Order":{"additions":"Milk","drinkName":"Vanilla Flavored Coffee","locked":false,"orderId":123}}
Esta sería su implementación:
<?xml version="1.0" encoding="UTF-8"?> <api xmlns="http://ws.apache.org/ns/synapse" name="DummyRESTService" context="/DummyRESTService"> <resource methods="GET" url-mapping="/orders" faultSequence="fault"> <inSequence> <payloadFactory media-type="json"> <format>{"Order":{"additions":"Milk","drinkName":"Vanilla Flavored Coffee","locked":false,"orderId":123}}</format> <args/> </payloadFactory> <log> <property name="JSON-Payload" expression="json-eval($.)"/> </log> <property name="NO_ENTITY_BODY" scope="axis2" action="remove"/> <property name="messageType" value="application/json" scope="axis2" type="STRING"/> <respond/> </inSequence> </resource> </api>
Se usa el mediador payloadfactory en su configuración para JSON y dentro de los tags de format se especifica el JSON que se requiere sea devuelto por el servicio.
Como ven solo hay que cambiar el payload y claro ajustar el nombre, contexto y la url de mapeo.
Importante notar la propiedad NO_ENTITY_BODY la cual permite no enviar el cuerpo de la respuesta, solo los encabezados. Así que se toma como action = remove.
Si se quiere probar se puede usar el firefox con su plugin RESTClient:
O usando curl:
Y listo. Eso es todo.
Tomada la solución de:
http://ruchirawageesha.blogspot.com/2012/07/wso2-esb-sending-dummy-response.html
http://stackoverflow.com/questions/28572800/how-to-implement-a-dummy-rest-api-in-wso2-esb
Suscribirse a:
Entradas (Atom)
WSO2 BPS: Introducción a BPEL con el Developer Studio.