Skip to content

Instantly share code, notes, and snippets.

@edgars
Created November 28, 2017 03:24
Show Gist options
  • Save edgars/bb6abc60f601ab6e290720a5fb91896d to your computer and use it in GitHub Desktop.
Save edgars/bb6abc60f601ab6e290720a5fb91896d to your computer and use it in GitHub Desktop.
package gateways;
import ballerina.net.http;
@http:configuration {basePath:"/soap"}
service<http> temperatureService {
endpoint
<http:HttpClient> httpConnector{
create http:HttpClient("http://www.webservicex.net/", {});
}
http:HttpConnectorError err;
@http:resourceConfig {
methods:["GET"],
path:"/far/celsius/{temperatura}"
}
resource fartocelsius (http:Request req, http:Response res, string temperatura) {
http:Response clientResponse = {};
clientResponse, err = httpConnector.get("/ConvertTemperature.asmx/ConvertTemp?Temperature="+ temperatura + "&FromUnit=degreeFahrenheit&ToUnit=degreeCelsius", {});
println("Convertendo XML para JSON ");
var xmlRetornavel, _ = <xml> clientResponse.getXmlPayload();
json respostaComoJSON = { "temperatura_convertida": xmlRetornavel.toJSON({}).double , "de":"Fahrenheit", "para":"Celsius" };
println(respostaComoJSON);
res.setJsonPayload(respostaComoJSON);
res.send();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment