En esta ocasión vamos a hacer la petición en xml en lugar de json. Así podremos ver diferentes ejemplos de peticiones json o xml. Para ello tendrás que descargarte la librería adicional JDOM2 y añadirla como librería a tu proyecto.

Para obtener las agendas que has creado en tu centro simplemente tendrás que utilizar el método getAgendas. El método getAgendas tiene un parámetro opcional que nos servirá para el caso que queramos obtener las agendas de un servicio determinado. En este caso obtendremos todas las agendas del centro.

A continuación vemos un ejemplo de como obtener todas las agendas de un centro:

public static void main(String[] args) throws Exception{
CRestClient oRestClient = new CRestClient();
String sAgendas = oRestClient.getAgendas(null, «xml», true);  SAXBuilder sb = new SAXBuilder();
Document doc = sb.build(new StringReader(sAgendas));
Element root = doc.getRootElement();
List oList = root.getChildren(«agenda»);
Element oStatus = root.getChild(«status»);
String sStatus = oStatus.getText();

if (sStatus.compareToIgnoreCase(«true») == 0) {
for (int i = 0; i < oList.size(); i++) {
Element node = (Element)oList.get(i);
System.out.println(«Agenda id: » + node.getChildText(«id»));
System.out.println(«Agenda name : » + node.getChildText(«name»));
System.out.println(«Agenda phone : » + node.getChildText(«phone»));
System.out.println(«Agenda email : » + node.getChildText(«email»));
}
}
else {
//error
}
}

Para obtener las agendas de un determinado servicio sería suficiente con indicar el id del servicio para el que queremos obtener las agendas que lo ofrecen. Esto podríamos hacerlo de la siguiente forma:

String sAgendas = oRestClient.getAgendas(id_servicio, «xml», true);

Añadiendo este parámetro a la petición obtendríamos las agendas para el servicio seleccionado.

Todas las peticiones son devueltas con un campo “status”. Ese campo indica si la petición fue correcta o falló.

En caso de fallo se devuelve un xml o json con el siguiente formato.

En todas las llamadas se devuelve un campo status que indica el resultado de la petición. En caso de que haya un error, dependiendo de si has solicitado la petición en json o en xml se devolverá con el siguiente formato:

xml
<?xml version=’1.0′ encoding=’utf-8′?>
<services>
<status>false</status>
<id>error id</id>
<message>error message</message>
</services>json
{«services»:
{
«status»:false,
«id»:error id,
«message»:error message
}
}

Si quieres saber más sobre esta función puedes acceder a la referencia completa.