public interface ApplicationDeclaration In order to support this an application configuration file needs to be present on your server. This file lists out what server side methods are exposed for direct invocation. The application configuration file should be named appID.app.xml (where "appID" is some arbitrary id for your application) and must be present at the location specified by the project.apps setting in the server.properties file.
The application declaration should be written in xml, and should contain a rpcBindings block, which holds ServerObject definitions for each exposed method. Here's an example demonstrating the specified format:
<Application>
<rpcBindings>
<ServerObject ID="MathUtil" className="com.example.package.MathUtil">
<visibleMethods>
<method name="addIntegers"/>
</visibleMethods>
</ServerObject>
</rpcBindings>
</Application>
In this example we're exposing a method "addIntegers" on the server side java class com.example.package.MathUtil. A developer could then call DMI.call(...) on the client side code to invoke this method on the server, and get at the returned value in the RPCResponse passed to the RPCCallback. Note that the application config file does not explicitly list out a method signature - the appropriate method to call is detected automatically based on the parameters passed to DMI.call on the client side. See the DMI overview for further information on Direct Method Invocation in Smart GWT.