GWT WARNING: File not found for: /com.mycompany.project.ImageViewer/GreetingService

Do not connect to the server ... this is the project in the latest gwt eclipse

when you click on the button in gwt:

greetServer(textToServer, new AsyncCallback<String>() { public void onFailure(Throwable caught) { // Show the RPC error message to the user dialogBox .setText("Remote Procedure Call - Failure"); serverResponseLabel .addStyleName("serverResponseLabelError"); serverResponseLabel.setHTML(SERVER_ERROR); dialogBox.center(); closeButton.setFocus(true); } public void onSuccess(String result) { dialogBox.setText("Remote Procedure Call"); serverResponseLabel .removeStyleName("serverResponseLabelError"); serverResponseLabel.setHTML(result); dialogBox.center(); closeButton.setFocus(true); } }); 

my gwt server:

  public String greetServer(String input) throws IllegalArgumentException { // Verify that the input is valid. if (!FieldVerifier.isValidName(input)) { // If the input is not valid, throw an IllegalArgumentException back to // the client. throw new IllegalArgumentException( "Name must be at least 4 characters long"); } String serverInfo = getServletContext().getServerInfo(); String userAgent = getThreadLocalRequest().getHeader("User-Agent"); // Escape data from the client to avoid cross-site script vulnerabilities. input = escapeHtml(input); userAgent = escapeHtml(userAgent); return "Hello, " + input + "!<br><br>I am running " + serverInfo + ".<br><br>It looks like you are using:<br>" + userAgent; } 

this is my gwt service:

 @RemoteServiceRelativePath("greet") public interface GreetingService extends RemoteService { String greetServer(String name) throws IllegalArgumentException; } 

gwt serviseAsyn file:

 public interface GreetingServiceAsync { void greetServer(String input, AsyncCallback<String> callback) throws IllegalArgumentException; } web xml <!-- Servlets --> <servlet> <servlet-name>greetServlet</servlet-name> <servlet-class>kill.server.GreetingServiceImpl</servlet-class> </servlet> <servlet-mapping> <servlet-name>greetServlet</servlet-name> <url-pattern>/hello123/greet</url-pattern> </servlet-mapping> <!-- Default page to serve --> <welcome-file-list> <welcome-file>Hello123.html</welcome-file> </welcome-file-list> 

when a button is clicked - the server does not return a value because it does not find the file - why?

 Jun 27, 2012 11:12:13 AM com.google.appengine.tools.development.LocalResourceFileServlet doGet WARNING: No file found for: /com.mycompany.project.ImageViewer/GreetingService 

what to do?

+6
source share
1 answer

In your web.xml you display the service as /hello123/greet :

 <servlet-mapping> <servlet-name>greetServlet</servlet-name> <url-pattern>/hello123/greet</url-pattern> </servlet-mapping> 

while the error indicates that it is trying to load the default value /modulename/serviceinterfacename or / com.mycompany.project.ImageViewer/GreetingService . Two options are available:

  • Modify the web.xml entry to use the default URL that the RPC interface expects
  • Set up a remote service to download from your custom path

Both of these points are briefly discussed at https://developers.google.com/web-toolkit/doc/latest/DevGuideServerCommunication , as well as other RPC configuration details.

For the second option, it usually looks like this:

 MyServiceAsync service = GWT.create(MyService.class); ((ServiceDefTarget)service).setServiceEntryPoint("/hello123/greet"); service.methodName(... 
+6
source

Source: https://habr.com/ru/post/919154/


All Articles