My first guess is the disparity between "/sample/myService" as your
RequestURI and "/myService" as your url-pattern.

Nits:
* you don't have to cast to a MyServiceAsync, generics tells the
compiler this will be returned
* don't mark methods as throwing a runtime exception, it kind of
misses the point of checked vs. unchecked exceptions
* you don't need to put the servlet in the .gwt.xml anymore, as of GWT
2.0, I believe
** are you using GWT 2.0? You refer to Host Mode which is what
Development Mode was called in GWT 1.X (well, hosted mode)

On Aug 5, 1:03 am, CLEE <[email protected]> wrote:
> I am new in GWT and I tried to create an application on testing RPC.
> It prompts 404 Error (RequestURI=sample/myService) in Host Mode of
> Eclipse. Can anyone help me? Below are my codes. Thank you very much.
>
> **************Sample.java *********************** (Client program to
> call RPC)
>
> public class Sample implements EntryPoint {
>
>         MyServiceAsync myService = (MyServiceAsync)
> GWT.create(MyService.class);
>         ServiceDefTarget endpoint = (ServiceDefTarget) myService;
>         String moduleRelativeURL = GWT.getModuleBaseURL() + "myService";
>         endpoint.setServiceEntryPoint(moduleRelativeURL);
>
>         AsyncCallback callback = new AsyncCallback()
>         {
>             public void onSuccess (Object result)
>             {
>                 success = true;
>                 Window.alert(result.toString());
>             }
>
>             public void onFailure (Throwable ex)
>             {
>                 calendar.setData(CalendarOverlappingData.getRecords());
>                 Window.alert(ex.toString());
>             }
>         };
>
>         myService.myMethod("sa", "sa", callback);
>
> }
>
> ******************* MyServiceAsync.java ****************
> public interface MyServiceAsync {
>         void myMethod(String userName, String passWord, AsyncCallback<String>
> callback)
>                         throws IllegalArgumentException;
>
> }
>
> ******************MyService.java ********************
>
> @RemoteServiceRelativePath("myService")
> public interface MyService extends RemoteService {
>         String myMethod(String name, String passWord) throws
> IllegalArgumentException;
>
> }
>
> ******************MyServiceImpl.java ********************
> public class MyServiceImpl extends RemoteServiceServlet implements
> MyService
> {
>
>         private static final long serialVersionUID = 1L;
>         String success;
>         boolean flag=false;
>
> public String myMethod(String userName, String passWord) {
>
>                 success="OK";
>                 return success;
>
> }
> }
>
> ****************************Sample.gwt.xml *********************
>
>   <!-- Specify the app entry point class.                         -->
>   <entry-point class='com.sample.client.Sample'></entry-point>
>   <servlet path="/myService" class="com.sample.server.MyServiceImpl"/
>
>   <!-- Specify the paths for translatable code                    -->
>   <source path='client'/>
>   <source path='shared'/>
>
> **************************web.xml****************************
>
>   <!-- Servlets -->
>
>     <servlet>
>         <servlet-name>myService</servlet-name>
>         <servlet-class>com.sample.client.MyServiceImpl</servlet-
> class>
>     </servlet>
>
>     <servlet-mapping>
>         <servlet-name>myService</servlet-name>
>         <url-pattern>/myService</url-pattern>
>     </servlet-mapping>
>
>   <!-- Default page to serve -->
>   <welcome-file-list>
>     <welcome-file>Sample.html</welcome-file>
>   </welcome-file-list>
>
> </web-app>

-- 
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-web-toolkit?hl=en.

Reply via email to