Nachrichtenfluss für Überweisungsanforderungsformular erstellen

Befolgen Sie die nachfolgenden Anweisungen, um den Nachrichtenfluss für das Überweisungsanforderungsformular zu erstellen.

  1. Erstellen Sie ein neues Nachrichtenbrokerprojekt:
    1. Klicken Sie auf Datei > Neu > Nachrichtenbrokerprojekt.
    2. Setzen Sie Projektname auf SCANodesSample und klicken Sie auf Fertigstellen.
  2. Erstellen Sie einen neuen Nachrichtenfluss:
    1. Klicken Sie mit der rechten Maustaste auf das Nachrichtenbrokerprojekt 'SCANodesSample' und klicken Sie auf Neu > Nachrichtenfluss.
    2. Setzen Sie Nachrichtenflussname auf BankTransferRequestInitiator und klicken Sie auf Fertigstellen.
  3. Fügen Sie im Nachrichtenflusseditor die in der folgenden Tabelle aufgelisteten Knoten hinzu und benennen Sie diese um.

    Knotentyp Knotenname
    HTTPEmpfang HTTP Input
    JavaCompute-Knoten TransferRequestForm
    HTTPAntwort HTTP Reply

  4. Verbinden Sie die Knoten entsprechend den Anweisungen in der nachfolgenden Tabelle miteinander.

    Knotenname Terminal Mit diesem Knoten verbinden
    HTTP Input Ausgangsterminal TransferRequestForm
    TransferRequestForm Ausgangsterminal HTTP Reply
  5. Passen Sie den Knoten 'HTTP Input' an:
    1. Klicken Sie mit der rechten Maustaste auf den Knoten 'HTTP Input' und klicken Sie auf Eigenschaften.
    2. Klicken Sie auf Grundeinstellung und setzen Sie Pfadsuffix für URL auf /TransferRequestForm.
  6. Passen Sie den Knoten 'TransferRequestForm' an:
    1. Klicken Sie doppelt auf den Knoten 'TransferRequestForm', vergewissern Sie sich, dass der Projektname BankTransferJava lautet, und klicken Sie auf Weiter.
    2. Vergewissern Sie sich, dass die Felder Source folders on build path (Quellenordner in Erstellungspfad) und Default output folder (Standardausgabeordner) BankTransferJava enthalten, und klicken Sie auf Weiter.
    3. Setzen Sie Package (Paket) auf sca.broker.sample.banktransfer und klicken Sie auf Weiter.
    4. Wählen Sie die Schablone Nachrichtenklasse erstellen aus und klicken Sie auf Fertigstellen.
    5. Die Java-Datei wird automatisch geöffnet. Wenn sie nicht geöffnet wird, klicken Sie mit der rechten Maustaste auf den Knoten 'TransferRequestForm' und klicken Sie auf Java öffnen.
    6. Fügen Sie folgende Importanweisungen hinzu:
      import java.io.BufferedReader;
      import java.io.File;
      import java.io.FileReader;
      import java.io.IOException;
      import java.math.BigDecimal;
          	
    7. Fügen Sie folgenden Java-Code hinzu:
      //Get operating system
      String OS = System.getProperty("os.name").toLowerCase();
      File file = null;
      //Savings balance
      String savingsBalance = null;
      //Current balance if this file also exists i.e. the extended sample
      String currentBalance = null;
      //Get the exception
      String exception = null;
      try {
        //Read balance from appropriate local file system appropriately
        if (OS.indexOf("windows") > -1) {
          file = new File("C:\\tmp\\SavingsAccount.txt");        	
        } else {
          file = new File("/tmp/SavingsAccount.txt");        	
        }
        //Construct the BufferedReader object
       BufferedReader bufferedReader = new BufferedReader(new FileReader(file));            
        //Process the data
        savingsBalance = new BigDecimal(bufferedReader.readLine())
        .setScale(2, 
        BigDecimal.ROUND_HALF_UP).toString();
        try {
          //Read balance from appropriate local file system 
          if (OS.indexOf("windows") > -1) {
      	  file = new File("C:\\tmp\\CurrentAccount.txt");        	
      	} else {
      	  file = new File("/tmp/CurrentAccount.txt");        	
      	}
      	//Construct the BufferedReader object
        BufferedReader bufferedReader = new BufferedReader(new FileReader(file));            
          //Process the data
          currentBalance = new BigDecimal(bufferedReader.readLine())
          .setScale(2, 
          BigDecimal.ROUND_HALF_UP).toString();
        } catch (Exception e) {  
          //Get exception message
          exception = e.getMessage();
        }
      } catch (Exception e) {  
        //Get exception message
        exception = e.getMessage();
      }
              
      //Create web page layout for user input
      StringBuffer html = new StringBuffer();
      html.append("<HTML><HEAD>");
      html.append("<META http-equiv='Content-Type' content='text/html; charset=ISO-8859-1'></HEAD>");				  
      html.append("<BODY><form action='/TransferRequestSample' enctype='multipart/form-data' method=post>");
      html.append("<table cellpadding=4 cellspacing=2 border=0>");
      html.append("<tr><td><td/><h1>Bank Transfer Form</h1></td>");
      html.append("<tr><td><b>Request</b></td>");
      html.append("<td><select name='Operation'>");
      html.append("<option value='TransferToSavingsAccount'>Transfer To Savings Account</option>");
      html.append("<option value='TransferToCurrentAccount'>Transfer To Current Account</option>");
      html.append("</select></td></tr>");
      html.append("<tr><td><b>Amount</b></td>");
      html.append("<td><input type='text' name='Amount' size=10 maxlength=10></td></tr>");
      html.append("<tr><td><td/><input type='submit' name='submit' value='Submit'></td></tr>");
      html.append("<tr><td/><tr><td/>");
      html.append("<tr><td><td/><h3>You have " + 
      savingsBalance + " in your Savings Account</h3></td>");			
      //If a savings balance was processed then display it
      if (savingsBalance != null) {
        html.append("<tr><td><td/><h3>You have " + 
        savingsBalance + " in your Savings Account</h3></td>");			
        //If a current balance was processed then display it
        if (currentBalance != null) {
          html.append("<tr><td><td/><h3>You have " + 
          currentBalance + " in your Current Account</h3></td>");
      	//Otherwise warn the user
        } else {
        //Either file does not exist
        if (exception!=null) {
          html.append("<tr><td><td/><h3>Cannot find " + 
          exception + " This file is required for running the SCA Nodes sample extension</h3></td>");											
        //Or file contains corrupt data
        } else {
          html.append("<tr><td><td/><h3><font color=\"#ff0000\">" + file.getName() + " contains corrupt data!</font></h3></td>");												
        }
      }
      //Otherwise seriously warn the user
      } else {
        //Either file does not exist
        if (exception!=null) {
          html.append("<tr><td><td/><h3><font color=\"#ff0000\">Cannot find " + exception + "</font></h3></td>");																	
        //Or file contains corrupt data
        } else {
          html.append("<tr><td><td/><h3><font color=\"#ff0000\">" + file.getName() + " contains corrupt data!</font></h3></td>");												
        }
      }
      html.append("</table></form></BODY></HTML>");
              
      // Set the content type to be html 
      so that it may be viewed by a browser
      MbElement root = outMessage.getRootElement();			
      MbElement properties = root.getFirstElementByPath
      ("Properties");	
      MbElement contentType = properties.getFirstElementByPath
      ("ContentType");	
      contentType.setValue("text/html");					
      // Add the email request form as the message content and publish
      MbElement BLOB = root.createElementAsLastChild(MbBLOB.PARSER_NAME);		
      BLOB.createElementAsFirstChild(MbElement.TYPE_NAME_VALUE, "BLOB", 
      html.toString().getBytes());            
              
  7. Speichern und schließen Sie die Java-Datei.

Jetzt können Sie den Nachrichtensatz für die Banküberweisungsanforderung erstellen. Informationen hierzu finden Sie im Abschnitt Nachrichtensatz für Banküberweisungsanforderung erstellen.

Zurück zur Erstellung des Mustercodes

Zurück zum Beginn des Mustercodes