Show TOC Anfang des Inhaltsbereichs

Diese Grafik wird im zugehörigen Text erklärt Beispiel für das Coding einer GRMG-Anwendung  Dokument im Navigationsbaum lokalisieren

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.

Diese Grafik wird im zugehörigen Text erklärt Startseite Überwachung mit dem Generic Request and Message Generator

Ende des Inhaltsbereichs