2017-10-11 1 views
1

Hallo habe ich eine Web-Service-Klasse in Service-Proxy, die eine Methode hat, die void zurückgibt. Ich muss überprüfen, ob der Dienst aktiv ist. Da die Methode ungültig ist, kann ich den Status des Dienstes nicht abrufen. Gibt es eine Möglichkeit, den Status dieser Web-Service-Methode mit oder ohne Ping zu überprüfen?Ping eine Web-Service-Methode, die Rückgabetyp void

Unten ist meine Webservice-Methode, die Rückgabetyp void hat. Diese Web-Service-Methode führt einige Validierungen durch und löst eine andere Methode aus, so dass kein Wert zurückgegeben wird.

Unten ist der Code bereits für Ping-Funktion vorhanden, aber es wird den Status von der Antwort überprüfen. Dieser Code funktioniert für die Webservices-Methoden, die Rückantwort ist und APPLICATION_JSON akzeptiert.

private void invoketrigger(ServiceDataDTO myData){ 

      try{ 
     target.request().headers(getRequestHeaders()).accept(MediaType.APPLICATION_JSON).get(); 
      Client client = ClientBuilder.newClient(); 
        WebTarget target = client.target(myData.getServiceURI()); 
        Response response = target.request().headers(getRequestHeaders()).accept(MediaType.APPLICATION_JSON).get(); 
        if(response.getStatus() == 200){ 
         status = "green"; 
      } 
    } 




The code which I tried for my method is given below. 

private void invoketrigger(ServiceDataDTO myData){ 

     try{ 
    target.request().headers(getRequestHeaders()).accept(MediaType.APPLICATION_JSON).get(); 
     URL url = new URL(myData.getServiceURI()); 
     HttpURLConnection connection = (HttpURLConnection) url.openConnection(); 
     connection.setConnectTimeout(10000); 
     connection.setReadTimeout(10000); 
     connection.setRequestMethod("GET"); 
     connection.connect(); 
     int response = connection.getResponseCode(); 

     if(response == 200){ 
      myData.setServiceStatus(ServicesDashboardConstants.STATUS_OK); 
     } 
     }catch(Exception e){ 
      System.out.println(e); 
     } 
    } 
+0

response.ok zurückgegeben werden soll –

Antwort

1

Ich bin mir absolut sicher, dass Sie das nicht tun können, ohne etwas zurückzugeben. Die Client-Seite wird nicht wissen, ob die Anfrage abgeschlossen ist oder nicht, es sei denn, der zurückgegebene Dienst ist in Ordnung, andernfalls wartet die Client-Seite auf die Antwort. Also müssen Sie Ihre Methode veranlassen, ein Objekt vom Typ Response zurückzugeben. und Sie müssen nichts zur Antwort hinzufügen, sagen Sie einfach, dass die Methode 200 mit

response.ok (200) ; // this will tell the method what is the status code response 
Verwandte Themen