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:
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:
Comentarios (Atom)
WSO2 BPS: Introducción a BPEL con el Developer Studio.