diff --git a/classes/.data/LogProcessorMdb.cdi b/classes/.data/LogProcessorMdb.cdi index e07c836..5dd9d07 100644 Binary files a/classes/.data/LogProcessorMdb.cdi and b/classes/.data/LogProcessorMdb.cdi differ diff --git a/classes/org/soakemenkeu/MessageDrivenEJBBean.class b/classes/org/soakemenkeu/MessageDrivenEJBBean.class index ebb125b..5550ba1 100644 Binary files a/classes/org/soakemenkeu/MessageDrivenEJBBean.class and b/classes/org/soakemenkeu/MessageDrivenEJBBean.class differ diff --git a/deploy/OsbLogProcessor_LogProcessorMdb_ejb.jar b/deploy/OsbLogProcessor_LogProcessorMdb_ejb.jar index e3c57d1..363553c 100644 Binary files a/deploy/OsbLogProcessor_LogProcessorMdb_ejb.jar and b/deploy/OsbLogProcessor_LogProcessorMdb_ejb.jar differ diff --git a/src/org/soakemenkeu/MessageDrivenEJBBean.java b/src/org/soakemenkeu/MessageDrivenEJBBean.java index ba954ad..7ce9169 100644 --- a/src/org/soakemenkeu/MessageDrivenEJBBean.java +++ b/src/org/soakemenkeu/MessageDrivenEJBBean.java @@ -64,130 +64,30 @@ public class MessageDrivenEJBBean implements MessageDrivenBean, MessageListener public void onMessage(Message msg) { TextMessage tm = (TextMessage) msg; try { - log("onMessage called"); - String msgPayload = tm.getText(); + log("onMessage called"); + String msgPayload = tm.getText(); msgPayload.replace("",""); -// sendHttpPost(text); -// Document jmsMessage = convertStringToXml(text); -// Node root = jmsMessage.getDocumentElement(); -// int logID = getLogNextSeq(); -// if (root != null){ -// NodeList nodeList = ((Element) root).getElementsByTagName("soa:LogRequest"); -// for (int i = 0; i < nodeList.getLength(); i++) { -// Node nodeXml = nodeList.item(i); -// if (nodeXml.getNodeType() == Node.ELEMENT_NODE) { -// Element element = (Element) nodeXml; -// System.out.println("[myMessageDrivenBean] element: " + element.toString() ); -// } else { -// System.out.println("[myMessageDrivenBean] node: " + nodeXml.toString() ); -// } -// } -// } - - - - String postPayload =""; + String postPayload =""; String cleanPayload = msgPayload.replace("", ""); postPayload += cleanPayload2.replace("",""); postPayload += " "; - - System.out.println("[myMessageDrivenBean] Received message: " + msgPayload ); - System.out.println("[myMessageDrivenBean] postPayload message: " + postPayload ); + sendHttpPost(postPayload); - - + } catch(JMSException ex) { - System.out.println("Caught JMSException: " + ex ); + System.out.println("[logJmsMessageDrivenBean] Caught JMSException: " + ex.getMessage()); } } -// private static String convertXmlToString(Document doc) { -// DOMSource domSource = new DOMSource(doc); -// StringWriter writer = new StringWriter(); -// StreamResult result = new StreamResult(writer); -// TransformerFactory tf = TransformerFactory.newInstance(); -// Transformer transformer = null; -// try { -// transformer = tf.newTransformer(); -// transformer.transform(domSource, result); -// } catch (TransformerException e) { -// throw new RuntimeException(e); -// } -// return writer.toString(); -// } -// -// private static Document convertStringToXml(String xmlString) { -// -// DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); -// -// try { -// -// // optional, but recommended -// // process XML securely, avoid attacks like XML External Entities (XXE) -// dbf.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true); -// -// DocumentBuilder builder = dbf.newDocumentBuilder(); -// -// Document doc = builder.parse(new InputSource(new StringReader(xmlString))); -// -// return doc; -// -// } catch (ParserConfigurationException | IOException | SAXException e) { -// throw new RuntimeException(e); -// } -// -// } - -// private int getLogNextSeq(){ -// int logId = 0; -// String dbUrl = ConfigUtil.getProperty("db.url"); -// String dbUsername = ConfigUtil.getProperty("db.username"); -// String dbPassword = ConfigUtil.getProperty("db.password"); -// ResultSet rs = null; -// try (Connection connection = DriverManager.getConnection(dbUrl, dbUsername, dbPassword)) { -// String sql = "SELECT PKLOGIDSEQ.nextval FROM dual"; -// PreparedStatement preparedStatement = connection.prepareStatement(sql); -// rs = preparedStatement.executeQuery(); -// -// if (rs.next()) { -// logId = rs.getInt(1); -// } -// -// -// } catch (Exception e) { -// e.printStackTrace(); -// } -// -// return logId; -// } - -// private void storeMessageInDatabase(String messageContent) { -// String dbUrl = ConfigUtil.getProperty("db.url"); -// String dbUsername = ConfigUtil.getProperty("db.username"); -// String dbPassword = ConfigUtil.getProperty("db.password"); -// -// try (Connection connection = DriverManager.getConnection(dbUrl, dbUsername, dbPassword)) { -// String sql = "INSERT INTO jms_messages (message_content) VALUES (?)"; -// try (PreparedStatement preparedStatement = connection.prepareStatement(sql)) { -// preparedStatement.setString(1, messageContent); -// preparedStatement.executeUpdate(); -// System.out.println("Message stored in the database successfully."); -// } -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } + private void sendHttpPost(String messageContent) { try { String apiUrl = ConfigUtil.getProperty("api.url"); URL url = new URL(apiUrl); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); - -// URL url = new URL("http://localhost:17080/soa-infra/services/default/SoaLoggerProject/LogOsbInsertService"); -// HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("POST"); conn.setRequestProperty("Content-Type", "text/xml"); conn.setRequestProperty("SOAPAction","\"execute\""); @@ -197,17 +97,14 @@ public class MessageDrivenEJBBean implements MessageDrivenBean, MessageListener String body = messageContent; OutputStream out = conn.getOutputStream(); OutputStreamWriter wout = new OutputStreamWriter(out, "UTF-8"); -// System.out.println("Writing message: " + body + " to outputstream."); + wout.write(body); wout.flush(); out.close(); - -// OutputStream output = new BufferedOutputStream(conn.getOutputStream()); -// output.write(body.getBytes()); -// output.flush(); + int responseCode = conn.getResponseCode(); -// System.out.println("POST Response Code :: " + responseCode); + System.out.println("[logJmsMessageDrivenBean] POST Response Code :: " + responseCode); if (responseCode == HttpURLConnection.HTTP_OK) { // success try (BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()))) { @@ -216,14 +113,14 @@ public class MessageDrivenEJBBean implements MessageDrivenBean, MessageListener while ((inputLine = in.readLine()) != null) { response.append(inputLine); } - System.out.println("Response :: " + response.toString()); + } } else { - System.out.println("POST request failed"); + System.out.println("[logJmsMessageDrivenBean] POST request failed"); } conn.disconnect(); } catch (IOException e) { - e.printStackTrace(); + System.out.println("[logJmsMessageDrivenBean] sendHttpPost Exception : " + e.getMessage()); } }