Additional Blogs by Members
cancel
Showing results for 
Search instead for 
Did you mean: 
Former Member
0 Kudos
h3. Problem Overview    When implementing an MI client application based on the Tomcat runtime i.e. servlet/jsp, the application has to subclass the com.sap.ip.me.api.runtime.jsp.AbstractMEHttpServlet class. The implementation class must then implement and override all the necessary methods like getApplicationName().  In Tomcat runtime, the MI framework does not have the whole control of the servlet's lifetime. The framework distinguishes the activated application from other applications thru an application name. Thus all subclasses of AbstractMeHttpServlet are required to return an application name thru the method getApplicationName().  Generally, most applications use a hard-coded string written inside the source code or property file for its application name which makes it +static  + in nature. This application name should also be the same with that of the +Mobile Component Descriptor (MCD)+ name when uploading and registering the archive into the MI Web Console. And this is commonly forgotten since the application developer and the application deployer/administrator are of two different roles.    The following equation condition must be met for a succesful deployment and execution of the application in the client.  ** getApplicationName() == MCD name == WAR Archive file name **   ** WAR file name should be one word i.e. no space character in between letters   **    Non-compliant of the first condition will lead to an error message when invoking the deployed MI application as shown in the example on Figure 1. Likewise, Figure 2 shows an example HTTP 404 (Request not found) error when the war file or the application name has a space character in it. Figure 1. Application not registered error page