मैं जीडब्ल्यूटी 2.4 का उपयोग कर रहा हूँ। मैं एक टेस्ट केस लिखने की कोशिश कर रहा हूं जहां मैं अजाक्स कॉल करता हूं, लेकिन मुझे 404 मिल रहा है। यहां बताया गया है कि मैं अपनी .gwt.xml फ़ाइल में सेवा को कैसे परिभाषित करता हूं ...

<module>
  <!-- Inherit our applications main module.                      -->
  <inherits name='com.myco.clearing.product.ProductPlus' />

  <!-- Specify the path to any remote services.                   -->
  <servlet path="/xmlhelperservice" class="com.myco.clearing.product.server.XmlHelperServiceImpl" />

</module>

यहां बताया गया है कि सेवा कैसे लागू करती है ...

@RemoteServiceRelativePath( "xmlhelperservice" )
public interface XmlHelperService extends RemoteService {

    Node getNode(final String fileName) throws IOException;

}

लेकिन मेरी टेस्ट क्लास में (जो GWTTestCase को बढ़ाता है), मुझे सेवा शुरू करने का प्रयास करते समय 404 मिल रहा है ...

public void testDocument() throws Exception {
    xmlHelperService = GWT.create(XmlHelperService.class);
    xmlHelperService.getNode("doc.xml", new AsyncCallback<Node>() {

        @Override
        public void onSuccess(Node node) {
            ...
        }

        @Override
        public void onFailure(Throwable caught) {
            caught.printStackTrace(System.err);
            fail(caught.getMessage());
        }
    });
}

404 से बचने के लिए मेरी सेवा को परिभाषित/आह्वान करने का सही तरीका क्या है? नीचे स्टैक ट्रेस। धन्यवाद, - डेव

[WARN] 404 - POST /com.myco.clearing.product.ProductPlusJUnit.JUnit/xmlhelperservice (10.40.70.197) 1450 bytes
com.google.gwt.user.client.rpc.StatusCodeException: 404 <html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
<title>Error 404 NOT_FOUND</title>
</head>
<body><h2>HTTP ERROR: 404</h2><pre>NOT_FOUND</pre>
<p>RequestURI=/com.myco.clearing.product.ProductPlusJUnit.JUnit/xmlhelperservice</p><p><i><small><a href="http://jetty.mortbay.org/">Powered by Jetty://</a></small></i></p><br/>                                                
<br/>                                                
<br/>                                                
<br/>                                                
<br/>                                                
<br/>                                                
<br/>                                                
<br/>                                                
<br/>                                                
<br/>                                                
<br/>                                                
<br/>                                                
<br/>                                                
<br/>                                                
<br/>                                                
<br/>                                                
<br/>                                                
<br/>                                                
<br/>                                                
<br/>                                                

</body>
</html>

at com.google.gwt.user.client.rpc.impl.RequestCallbackAdapter.onResponseReceived(RequestCallbackAdapter.java:209)
at com.google.gwt.http.client.Request.fireOnResponseReceived(Request.java:287)
at com.google.gwt.http.client.RequestBuilder$1.onReadyStateChange(RequestBuilder.java:395)
at sun.reflect.GeneratedMethodAccessor27.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103)
at com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71)
at com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:172)
at com.google.gwt.dev.shell.BrowserChannelServer.reactToMessagesWhileWaitingForReturn(BrowserChannelServer.java:337)
at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:218)
at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:136)
at com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:561)
at com.google.gwt.dev.shell.ModuleSpace.invokeNativeObject(ModuleSpace.java:269)
at com.google.gwt.dev.shell.JavaScriptHost.invokeNativeObject(JavaScriptHost.java:91)
at com.google.gwt.core.client.impl.Impl.apply(Impl.java)
at com.google.gwt.core.client.impl.Impl.entry0(Impl.java:220)
at sun.reflect.GeneratedMethodAccessor26.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103)
at com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71)
at com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:172)
at com.google.gwt.dev.shell.BrowserChannelServer.reactToMessages(BrowserChannelServer.java:292)
at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:546)
at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:363)
at java.lang.Thread.run(Thread.java:662)
3
Dave 17 नवम्बर 2011, 01:16

1 उत्तर

सबसे बढ़िया उत्तर

देखें कि क्या आपने इसे अपनी web.xml फ़ाइल में अनदेखा कर दिया है।

<servlet>
    <servlet-name>XmlHelperServiceImpl</servlet-name>
    <servlet-class>com.myco.clearing.product.server.XmlHelperServiceImpl</servlet-class>
</servlet>

<servlet-mapping>
    <servlet-name>XmlHelperServiceImpl</servlet-name>
    <url-pattern>/com.myco.clearing.product.ProductPlus/xmlhelperservice</url-pattern>
</servlet-mapping>

इस दस्तावेज़ में सामान्य नुकसान भी देखें।

2
Kristoffer Sall-Storgaard 29 नवम्बर 2011, 14:08