Show TOC

 Beispiel für das Coding einer GRMG-AnwendungLocate this document in the navigation structure

Um die GRMG-Anfrage bearbeiten zu können, muss die GRMG-Anwendung in der angegebenen Reihenfolge die folgenden Schritte durchführen können:

  • sie verarbeitet den Datenstrom eines HTTP-POST-Requests gemäß der XML-Syntax
  • sie führt die eigentlichen Überwachungsfunktionen durch
  • sie erzeugt die GRMG-Antwort als XML-Dokument.

Verwenden Sie zur Erleichterung dieser Aufgaben die in GRMG-Anwendung erstellen - Prinzip genannten Java-Klassen:

public void doPost(HttpServletRequest req , HttpServletResponse res)     Throws ServletException, IOException{    ServletOutputStream out = res.getOutputStream();     // Get output stream of the servlet    InputStream is=req.getInputStream();     // Get input stream of servlet    try    {        GrmgRequest ix=new GrmgRequest(is);            // Create new GrmgRequest object  from         //serlvlet's input stream and parse XML structure        GrmgScenario sc = ix.getScenario();        // Get GrmgScenario object from GrmgRequest        processing(sc); 

 /* You must include your own code here to        process the parameters passed by XML document        and to carry out any testing that is required */

 GrmgResponse ox=new GrmgResponse(sc);        // Create new  GrmgResponse object using         // GrmgScenario object as parameter        ByteArrayOutputStream bytearray=ox.getOutput();         // Get XML document as result of processing        bytearray.writeTo(out);         // give back result to servlet's output stream    }    catch (Exception e)    {        // Exception handling        }} 

Der schattierte Teil könnte dabei wie folgt aussehen (dieses Coding basiert dabei auf dem Beispiel für eine GRMG-Anfrage):

void processing(GrmgScenario sc) throws Exception{    try    {        URL conn = new URL(sc.getComponentByName("WEBTEST").        getPropertyByName("url").getValue());         // getting URL        HttpURLConnection hcon = (HttpURLConnection)         conn.openConnection();         // trying to connect to URL        if(hcon.getResponseCode() == HttpURLConnection.HTTP_NOT_FOUND)             //checking response from connection 

 sc.getComponentByName("WEBTEST").addMessage().            setMessageParameters("ERROR","255","RT","001","","","","",            "page not found"); 

 // Page not found and we generate Message for GRMG        else 

 sc.getComponentByName("WEBTEST").addMessage().            setMessageParameters("OKAY","000","RT","003","","","","",            "relatively okay (for test)"); 

 // OKAY and we generate Message for GRMG    }    catch(Exception e)    { 

 sc.getComponentByName("WEBTEST").addMessage().        SetMessageParameters("ERROR","255","RT","002",e.getMessage(),        "","","",e.getMessage()); 

 }    try     {        JCO.createClient(sc.getComponentByName("R3TEST").        getPropertyByName("SAPClient").getValue();        sc.getComponentByName("R3TEST).        getPropertyByName("userid").getValue();        sc.getComponentByName("R3TEST).        getPropertyByName("password").getValue();        sc.getComponentByName("R3TEST).        getPropertyByName("language").getValue();        sc.getComponentByName("R3TEST).        getPropertyByName("sid").getValue();        sc.getComponentByName("R3TEST).        getPropertyByName("system_number").getValue());         // trying to connect to SAP system 

 sc.getComponentByName("R3TEST").        addMessage().setMessageParameters("OKAY","001","RT","004",        "","","","","Connected!"); 

 //Everything is fine and we generate Message for GRMG    }    catch(Exception e)    {        // Exception handling    }} 

In den schattierten Coding-Bereichen setzen Sie jeweils die Komponente und die Meldungsparameter für die GRMG-Antwort. Dabei können Sie im einzelnen die folgenden Parameter übergeben:

sc.getComponentByName("<compname>").addMessage().setMessageParameters("<messalert>","<messseverity>","<messarea>","<messnumber>","<messpara1>","<messpara2>","<messpara3>","<messpara4>","<messtext>"); 

Die Bedeutung der einzelnen Parameter ist in Aufbau der GRMG-Antwort beschrieben.

 Startseite Überwachung mit dem Generic Request and Message Generator