9.9 Troubleshooting Mobile Pages

Page portlets do not display properly on my mobile device.

The value of page portlets for mobile portals is somewhat limited. Given that the behavior of page portlets on mobile devices is not intuitive, it is best to avoid the use of page portlets when building mobile portals.

I receive a Service Error message

If you receive the message while logging in to Oracle Portal, see the section above. If the error occurs at any other time, you will need to investigate the behavior of the OracleAS Wireless server.

To start with, determine if any service can be run on the server. For example, can the OracleAS Wireless examples be executed from a mobile device or simulator? If not, then it is likely that there is a configuration problem with the installation in general.

If the OracleAS Wireless examples work then review the contents of the sys_panama.log error log for the OracleAS Wireless server. This log file is located in either ORACLE_HOME/wireless/logs or /var/tmp. The log file records information about the response from the services causing problems (Oracle Portal in this case) and so shows if they are returning error statuses or invalid OracleAS Wireless XML. You can then correlate this information with the access_log of the Oracle HTTP Server process to find which requests are failing (for example, a servlet request or a mod_plsql request). Depending on the findings of this research it may be necessary to contact your support representative.

I receive the following error message: A Temporary Error Has...

This error message is rendered by the Parallel Page Engine (PPE). The PPE is sufficiently mobile aware to render error documents of type text/vnd.oracle.mobilexml in the event of an error. The PPE is most exposed to errors when it is attempting to fetch the page metadata from the database. There is generally information in the metadata telling the PPE how to handle errors, but if the database's response to the PPE's request for metadata is not a valid metadata document, or an explicit error document, then the PPE must act on its own to render an error document for the user.

When rendering error documents for standard desktop browsers the PPE simply takes the error document that resulted from the metadata call to the database and passes it to the end user. Desktop browsers can handle numerous content types, and for the content types that they cannot handle they will generally prompt for the document to be saved to disk. However, in the case of a mobile user this is probably not appropriate or even possible. Therefore error documents for mobile requests must be in OracleAS Wireless XML.

Thus, if the PPE is servicing a mobile request and the database renders an error document, rather than metadata, that is not valid OracleAS Wireless XML the PPE:

  • Writes the document into the WLS_PORTAL-diagnostic.log (MW_HOME\user_projects\domains\<DomainName>\servers\WLS_PORTAL\logs).

  • Assigns a unique ID number to the error.

  • Passes a standard error template to the user saying "A temporary error has prevented Oracle Portal from servicing your request. (id=<nnnnn>)".

If a user reports such a response, search the portlet error log file for the string "log errorID = <nnnnn>" where <nnnnn> is the same number as that reported to the end user. Use this information to follow standard Oracle Portal troubleshooting analysis. Failing this, contact support with the behavior of the portal when accessed from mobile devices or simulators and standard desktop browsers.

How can I use the _debug URL parameter for my mobile pages?

You can add the _debug URL parameter to the end of a page URL to augment the displayed content with information about the timings involved in building the page. For example, adding the _debug URL to the end of a page that contains the Recent Objects URL might add the following to the page:

Information for Portlet 6,255
Portlet Timing: 624 msecs (wait=0)
Timing Status:
XSLT Timing: null msecs
Caching information of portlet:
Portlet Cache status: Web Cache:- MISS,NEW [M], File System Cache:- MISS,NEW
From Cache: Web Cache:- Cache Expires: 86400 secs, Age in Cache: 0 secs, File System Cache:= None
From Portlet: Cache Key: 2002:04:22:329370|1|5, Cache

Performing this operation for mobile browser access of a page is not as simple as for standard desktop browser access. There are two main reasons for this:

  • The URL that the mobile device uses to access the portal references an OracleAS Wireless service and not Oracle Portal, therefore you cannot simply append _debug=1 to the URL in the mobile browser.

  • Due to the mechanism for rendering this information (behavior in the PPE, not the database), the extra information cannot be added in-line to a mobile page as this would cause the rendered page to be invalid OracleAS Wireless XML.

Therefore, to make use of the _debug parameter for mobile pages, you will need to:

  1. Create a new service on the OracleAS Wireless server that directly references a page (http://host.domain:port/portal/page/MyPageGroup/MyPage?_debug=1), rather than the portal's home procedure that is registered for the default Oracle Portal service (http://host.domain:port/pls/portal/PORTAL.home).

  2. Request this new service, not the Oracle Portal service, in the mobile device.

  3. View the portlet log for the performance information that will have been recorded from these actions.

The output of these actions will be recorded in the servlet log, and will be of the following form:

4/23/02 5:38 AM portal: [perf] Information for Portlet 33,31071. 
Portlet Timing: 234 msecs (wait=0)
Timing Status: 
XSLT Timing: null msecs
Caching information of portlet:
Portlet Cache status:  <I>Web Cache:-</I> MISS,NON-CACHEABLE [N],  <I>File System Cache:-</I> MISS,NEW
From Cache:  <I>Web Cache:-</I> -,  <I>File System Cache:-</I> None
From Portlet: Cache Key: NORMAL, Cache Level: USER

4/23/02 5:38 AM portal: [perf] Information for Page 33%2C31060%2C33_31062
Elapsed Time: 2470 msecs
Page meta-time 7 msecs (wait = 994)
Page meta Cache Status:  <I>Web Cache:-</I> MISS,NON-CACHEABLE [N], Cache Expires: null secs, Age in Cache: null secs ,  <I>File System Cache:-</I> MISS,NEW
Login meta-time 1227 msecs (wait = 1)
Login meta Cache Status:  <I>Web Cache:-</I> MISS,NON-CACHEABLE [N], Cache Expires: null secs, Age in Cache: null secs

What information should I have available if I need to contact support?

Here is a checklist of actions to perform, and information to have available, when contacting support regarding a mobile related issue:

  • What are the symptoms of the error (for example, error messages, lack of response, blank screen)?

  • What is the context of the error?

    • Was the user logged on?

      • Do all authenticated users suffer the same problem?

      • Does the public user suffer from the same problem?

    • When did the problem occur? Was it:

      • During the log in phase? Exactly how far did the user get in logging in? Did the user follow a login link or some other method?

      • When viewing a page? Describe the page structure. Do any of the portlets allow their titles to be personalized? Can the page be previewed using a standard desktop browser (that is, without OracleAS Wireless in the communication network)?

      • Viewing an individual portlet?

    • Does the problem occur on all mobile pages, or just one or some?

  • Is WebCache enabled for Oracle Portal and OracleAS Wireless access?

  • If possible, run the portal service through the OracleAS Wireless debug tool (this will require specific OracleAS Wireless access).

  • Is there any record of the problem in any of the following logs:

    • Oracle HTTP Server logs: ORACLE_INSTANCE/diagnostics/logs/OHS/ohs1/access_log

    • PPE Server logs: MW_HOME/user_projects/domains/<DomainName>/servers/WLS_PORTAL/logs/WLS_PORTAL-diagnostic.log