2012-06-27 8 views
6

सर्वर से कनेक्ट नहीं ... यह पिछले gwt में एक परियोजना gwt में बटन को ग्रहणGWT चेतावनी: कोई फाइल नहीं मिला: /com.mycompany.project.ImageViewer/GreetingService

क्लिक पर है:

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); 
          } 
         }); 

मेरी gwt सर्वर:

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

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; 
    } 

यह मेरी gwt servise है

gwt serviseAsyn फ़ाइल:

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> 

क्लिक बटन पर - सर्वर मूल्य वापस नहीं करता, क्योंकि फ़ाइल नहीं मिल रहा है - क्यों?

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

क्या करना है?

उत्तर

6

अपने web.xml फ़ाइल में आप /hello123/greet के रूप में सेवा के नक्शे:

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

समय त्रुटि यह /modulename/serviceinterfacename, या/com.mycompany.project.ImageViewer/GreetingService के डिफ़ॉल्ट लोड करने के लिए कोशिश कर रहा है पता चलता है। दो विकल्प उपलब्ध हैं:

  1. बदलें web.xml प्रविष्टि अपने कस्टम पथ
शोध करे की

दोनों चर्चा कर रहे हैं संक्षेप में से लोड करने के लिए डिफ़ॉल्ट यूआरएल कि RPC इंटरफ़ेस उम्मीद

  • कॉन्फ़िगर दूरस्थ सेवा का उपयोग करने https://developers.google.com/web-toolkit/doc/latest/DevGuideServerCommunication पर, अन्य आरपीसी सेटअप विवरण के साथ।

    दूसरा विकल्प के लिए, यह आम तौर पर इस तरह दिखता है:

    MyServiceAsync service = GWT.create(MyService.class); 
    ((ServiceDefTarget)service).setServiceEntryPoint("/hello123/greet"); 
    service.methodName(... 
    
  • संबंधित मुद्दे