Skip navigation.
Downloads | Product Documentation | Support

MobileAware Interaction Server User Guide

# Appendix D - FAQ

# Question 1

On the first request, I am presented with the following error message in the MobileAware Interaction Server Console:

"There is a problem with the database connection. This may be due to a network fault or an incorrect database setting in the MIS configuration file".

What is causing this problem?

## Solution

Ensure that the Application Server on which the MobileAware Interaction Server is running and the Database Server is both running and connected to the network.

The most likely cause for a database problem is incorrect database settings in the MobileAware Interaction Server configuration file. This file is called mis.properties and is found in the /WEB-INF/classes/ folder in the webapps directory containing the file you are requesting.

Ensure that:

- the deviceDB.url is set to a valid URL for that database server
- the deviceDB.driver has a correct driver (and correctly spelled) specific to the database server you are using
- the devceDB.username and deviceDB.password are correct

If this does not solve the problem, then please contact your Database Administrator to ascertain if the problem is with the Database Server.

# Question 2

How come my error pages do not appear on WAP?

## Solution

WAP Gateways/Phones often catch the HTTP status and turn it into a generic message. This can happen also in IE/Opera if you enable "friendly HTTP error pages" - a setting enabled by default in both of these browsers.

# Question 3

Why are there are incorrect or missing characters in the delivered content?

## Solution

You may not have specified the correct content encoding in the source file. Sometimes the MobileAware Interaction Server will translate the page during transformation, for example windows-1252 -> utf-8 in the case of WML transformation. If you haven't specified the correct encoding in the file, there is the possibility that the MobileAware Interaction Server may fail to correctly detect the encoding of the file. As a result, certain characters will be translated into the incorrect byte representation for the target encoding.

Specify the encoding in either: (a) the HTTP header (b) the XML declaration in the marked up file or (c) the <meta> tag in the marked up file.

# Question 4

When I try to start my web application where the MobileAware Interaction Server is deployed, I get an error indicating that the license file cannot be found or the license file is invalid.

## Solution

The MobileAware Interaction Server is protected by a license mechanism that controls the time, version and host IP address of where the MobileAware Interaction Server is used. If you encounter a problem when starting the MobileAware Interaction Server due to license problems you will see a message similar to the following:

[`LICENSE ERROR] - License file cannot be found.`

In the event of an error try the following: Check that the license file is present at the correct location and correctly named. The location where the license file should reside is the same location as the mis.properties file. The correct name and location is:

`<server>/<webapps>/<YOUR_APP_DIR>/<WEB-INF>/<classes>/mis.license`

If the file is not present, you should obtain a valid license and place it in the location specified. Check that the license is valid for the machine you are running it from. On a command line on the machine where you intend to run the MobileAware Interaction Server, enter the following:

UNIX: `ping -a <hostname>`

Windows: `ipconfig`

This should inform you of the IP address of the host you are working on. Open up your mis.license file and look for the following attribute:

`ip="199.199.199.199"`

For the license to be valid, the host IP should match the exact IP address as shown in the license file. Note: If the license file IP is specified with wildcards such as:

`ip="199.199.*"`

then any IP beginning with "199.199" will be valid for this license.

Other failure cases include:

- Corrupt License File: This could occur during transit due to media errors or tampering.
- License Expired. If your license expires, a message (on the console) should inform you of this when you start the MobileAware Interaction Server or when you are making a request for content to the MobileAware Interaction Server.

In the event of your license expiring or if you received a corrupt license, please contact your MobileAware agent to obtain a new license file.

# Question 5

When I request a page from the MobileAware Interaction Server, I receive a short message on my web browser indicating that the following error occurred:

`Internal error [40010u]`

In addition, the following error message appears on the Server Console window:

>     *[MIS.FatalException] content processing exception building idocument [40010]:com.mobileaware.mobilitycontrol.MMParseException: SAXException processing: null [60040]( Time:1037190843650, SessionID:1BB7FCD73D36AF9BFA74436AEBD3C8B3, Username:null, ServerIP:199.199.199.199, ServerPort:8080, ServerHostname:199.199.199.199, RequestRemoteHost:MYHOST, Errors:true, RequestRemoteAddr:199.199.199.199, RequestURL:/myapp/index.jsp, deviceName:root^html^mozilla/4, webAppName:/myapp)

## Solution

This problem is most commonly caused by mistakes in the content that is being processed by the MobileAware Interaction Server. Check for the following common errors:

Presence of special characters: certain characters such as ( &, <, >) have special meaning in XHTML/XML. If these characters are used incorrectly, it can cause the MobileAware Interaction Server to fail in the transformation of the content.

The table below will help guide you in replacing the characters with their correct entity reference:

Table 1 Entity References

Character | Entity
& | &amp;
< | &lt;
> | &gt;

Note: The MobileAware Interaction Server does not normally tolerate single ampersand characters (aside from the entity reference) within the page, however to help integration with content management systems and portals, you can configure the MobileAware Interaction Server to allow for ampersands inside attributes. To configure this feature please refer to the section "Enabling Less Strict Document Checking."

This query string could cause errors:

>     <a href="/blah/checkout.jsp?item=2&qty=70&id=JoeBloggs">This might not work.</ a>

This is the same query string using entities:

>     <a href="/blah/checkout.jsp?item=2&amp;qty=70&amp;id=JoeBloggs">Notice the entities replacing the `&'s</a>

Another potential source of the problem is improperly quoted attributes in the code such as:

>     <img src="/img/blah.jpg height="20" width="10" alt="Blah"/>

Badly nested tags can also raise these types of issues. The MobileAware Interaction Server normally handles them and, in most cases, a recover should be possible, however the end result may not be as the author intended.

# Question 6

I have created a HTML page and have inserted some mmXHTML (<mm-exclude>) tags to exclude content from a "full browser". When I request the page, it seems that the MobileAware Interaction Server has not processed the page at all. In addition, there is no output on the MobileAware Interaction Server Console window.

## Solution

The most probable cause of this problem is that the MobileAware Interaction Server has failed to recognise your page as an mmXHTML page. The MobileAware Interaction Server tries to identify the page by using a document header, such as shown below.

>     <?xml version="1.0"?>

>     <!DOCTYPE html PUBLIC "-//MOBILEAWARE// DTD MMXHTML 1.2//EN" "http://www.mobileaware.com/DTD/mmxhtml_1.2.dtd">

Insert the above header into your page and try again.

# Question 7

How do I set the session timeout time in my mobilized web application, now that there is no longer an entry in the mis.properties file to do this?

## Solution

In the <web-app></web-app> section of your web.xml file, place (or modify) the following tag after any <servlet></ servlet> tags:

`<session-config><session-timeout>30</ session-timeout></session-config>`

This example sets the session timeout at 30 minutes.

The location of this tag in the web.xml file is important. A parsing exception will occur if the tag is located too early in the file.

In a typical MobileAware Interaction Server servlet filter deployment, the best place to put this tag is just before the </web-app> closing tag.

# Question 8

The MobileAware Interaction Server is not rewriting my URLs to include session ID information. My application is therefore not tracking sessions from browsers that do not support cookies. How can I include the session ID in my URL's?

## Solution

The MobileAware Interaction Server does not rewrite session ID's into URLs in content by default. For author-added links, this can be achieved by calling the container's encodeURL() method on any URLs that should be rewritten to contain session information. To ensure that the MobileAware Interaction Server internally uses this mechanism to encode URLs that it generates (such as "next" links in multi-page WAP content) you will need to set:

"generatedLinks.encodeSessionId" to "true" in the application's mis.properties file. Refer to any JSP/servlet authoring guide for more details of encodeURL().

# Question 9

All of my WAP clients use cookies, but the MobileAware Interaction Server still puts a session ID into "next" links and so on on the first page accessed in a session, resulting in some very long links. Can this behaviour be disabled?

## Solution

Yes. Set the property "generatedLinks.encodeSessionId" to "false" in your application's MobileAware Interaction Server properties. This will stop the MobileAware Interaction Server from inserting session IDs in any content it generates.

# Question 10

Where has mis.properties gone?

## Solution

The MobileAware Interaction Server's properties are now stored in an application-specific properties file, configured in the web.xml deployment descriptor for your web application. The following example tells the MobileAware Interaction Server to use a file called "mis.properties" in the web application's classpath (for example WEB-INF/classes).

This is the default setting.

>         <init-param>

>           <param-name>propertiesname</param-name>

>           <param-value>/mis.properties</param-value>

>        </init-param>

# Question 11

I have created a MobileAware Interaction Server deployment on my content server. I am making modifications to my mis.properties file, but the modifications are not being reflected in the deployed application.

## Solution

Ensure that it is the properties file that is referenced in the deployed application web.xml that is being modified. See Question 10.

# Question 12

When I start the Diagnostics Console, the message "Unable to connect to server. Please verify the deployment path in the Settings Dialog" appears.

## Solution

The console is not pointing to a web application that is configured to support diagnostics. Open the settings dialog and ensure the "Deploy Path" is set to /<webappname>/Diagnostics. If, for example, the application is in /news under the web application directory, the deploy path should be set to `/news/Diagnostics'.

# Question 13

When I start the Diagnostics Console, the message "Unable to connect to server. Please verify the host/port in the Settings Dialog" appears.

## Solution

This can result from either the host/port configuration in the Settings Dialog being configured incorrectly or the web server / application server being unavailable. Correct this by changing the host/port combination, by starting up the server or by deploying the web application.