public void processMessage(String message) { JsonParser parser = new JsonParser(); JsonObject messageJSON = (JsonObject) parser.parse(message); String postedURL = messageJSON.get("postedURL").getAsString(); AlchemyAPI alchemyObj = AlchemyAPI.GetInstanceFromString("5fc91e98eacfa5ebf83440e8c6a61d0f60fa380b"); // String URLString = // "http://www.huffingtonpost.com/2015/04/05/report-vegan-diet_n_7008156.html"; System.out.println("URL sent to URLGetAuthor AlchemyAPI --> " + postedURL); Document doc = null; try { doc = alchemyObj.URLGetAuthor(postedURL); } catch (XPathExpressionException | IOException | SAXException | ParserConfigurationException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } String convertDocToString = getStringFromDocument(doc); // System.out.println(convertDocToString); String alchemyAPIResult = null; try { alchemyAPIResult = returnResultFromXML(convertDocToString); } catch (SAXException | IOException | ParserConfigurationException e) { // TODO Auto-generated catch block e.printStackTrace(); } // System.out.println(convertDocToString); System.out.println( "Output from URLGetAuthor AlchemyAPI: Author is --> " + alchemyAPIResult.toUpperCase()); JsonObject reply = new JsonObject(); reply.addProperty("Author", alchemyAPIResult.toUpperCase()); reply.addProperty("AlchemyBackend", "JavaAPI: " + toString()); SendOptions opts = SendOptions.builder().setQos(QOS.AT_LEAST_ONCE).build(); mqlightClient.send( PUBLISH_TOPIC, reply.toString(), null, opts, new CompletionListener<Void>() { public void onSuccess(NonBlockingClient client, Void context) { logger.log(Level.INFO, "Sent reply!"); } public void onError(NonBlockingClient client, Void context, Exception exception) { logger.log(Level.INFO, "Error!." + exception.toString()); } }, null); }