B
Frequently Asked Questions
This document addresses the following frequently asked questions (FAQs) and includes the following sections:
B.1 Wireless Server -- General
This section includes the following:
B.1.1 How can I view sys_panama.log?
You can view sys_panama.log from the following two places:
- From the Webtool's Service Designer or Content Manager:
- Select a master service or a service.
- Click on Debug button. The Debug Service screen appears, displaying the sys_panama.log in the System Log text pane. You can specify the number of lines to be displayed from the end of the log, and then click Refresh Log button.
- From OEM:
- Drill down to the Wireless Server. In the Runtime section of the Wireless Server tab, click System Log File. The System Log Files screen appears.
- Locate the sys_panama.log, click on View Log File icon. The sys_panama.log displays in the text area. Select the line number option from the drop-down list, and click the View button.
B.1.2 How can I stop a process?
To stop a non-servlet process:
- Login into OEM and drill down to the Wireless Server.
- From the Wireless Server tab, click process type in the Processes section. The processes screen appears.
- Select the process row and click the Stop button.
To stop a servlet process:
- Login into OEM, drill down to OC4J page.
- Select the product group row and then click the Stop button.
B.1.3 I modified the Wireless Server configuration through OEM, why did it not take effect?
You must re-start the process for the new configuration values to take effect.
B.1.4 How do I change the context path for an OC4J application?
To change the context path, perform the following:
- Change the mounting point in $ORACLE_HOME/j2ee/Apache/Apache/conf/mod_oc4j.conf.
For example, change
Oc4jMount /customization OC4J_portal
Oc4jMount /customization/* OC4J_portal
to
Oc4jMount /personalization OC4J_portal
Oc4jMount /personalization/* OC4J_portal
- Change the SSO-protected URL in $ORACLE_HOME/j2ee/Apache/Apache/conf/wireless_sso.conf
For example, change
/customization/Login.jsp
to
/personalization/Login.jsp
- Change the application name in $ORACLE_HOME/j2ee/OC4J_portal/config/server.xml and default-web-site.xml.
For example, in server.xml, change
<application name="customization" path="$ORACLE_HOME/j2ee/OC4J_portal/applications/customization.ear" auto-start="true" />
to
<application name="personalization" path="$ORACLE_HOME/j2ee/OC4J_portal/applications/customization.ear" auto-start="true" />
- In default-web-site.xml, change
<web-app application="customization" name="portal-web" root="/customization" />
to
<web-app application="personalization" name="portal-web" root="/personalization" />
B.1.5 What are the differences between SimpleResult XML, Mobile XML, and Oracle9iAS Wireless XML?
They are synonymous and refer to the same XML content format used in the Wireless server
B.2 The Wireless Web Server (the Device-Based Customization Tool)
This section includes the following:
B.2.1 How do I add a hook class or a listener class?
Enter the full name of the hook class or listener class, including the package name. If the hook class or listener class is plugged into a servlet process, then add the classpath in the corresponding config.xml and application.xml with the <library>
tag. If the hook class or listener class is plugged into a non-servlet process, then add the classpath to $ORACLE_HOME/wireless/sample/set_classpath.sh(set_classpath.bat).
B.2.2 Can I specify a relative .jsp URL for an HttpAdapter service?
You can specify a relative .jsp URL. To do so, you must configure the site-level URL in OEM as follows:
- Log in to OEM and drill down to Wireless Server.
- Select the Site tab.
- In the Configuration section, click URL Configuration.
- Enter the HTTP Adapter URL Prefix field with the server name, port number and servlet path where your .jsp is located. The HttpAdapter concatenates this HTTP Adapter URL Prefix with the relative .jsp url, specified as the URL input parameter of the HttpAdapter Service. If an absolute URL is specified for the URL input parameter, (that is, the URL starts with `http://') then the HttpAdapter ignores the HTTP Adapter URL Prefix value.
B.3 The Webtool and Wireless Customization
This section includes the following:
- Section B.3.1, "Why are some images (such as buttons and tabs), not generated correctly on the UNIX platform?"
- Section B.3.2, "How can I See the Wireless XML result (or any device result) for a service?"
- Section B.3.3, "Why are the images broken when I test a master service or a service with the Web-based Wireless PDA simulator?"
- Section B.3.4, "Why am I unable to subscribe to an alert with a device that I created in Wireless Customization?"
- Section B.3.5, "How can I view an end-user's services or alerts for troubleshooting purposes?"
- Section B.3.6, "After the user locale is changed, some Images In the Webtool or Wireless Customization are not generated in the correct language and display as Squares. How do I fix this?"
- Section B.3.7, "My Netscape version is 4.7 or lower, when I tried to view Webtool or Wireless Customization with certain user-preferred locale, the labels display as squares. Should I change my browser setting?"
- Section B.3.8, "How do I ensure that the Wireless gateway URL registered with Portal is current if I load-balance multiple instances of wireless with a load-balancer in front of these instances?"
B.3.1 Why are some images (such as buttons and tabs), not generated correctly on the UNIX platform?
On the UNIX platform, the X server is used for the dynamically generated images. Therefore, you must set the DISPLAY environment variable before you start the wireless server processes.
If the X server is running on the same machine, then you need to log into the console of this UNIX machine and then enter `xhost + ` to allow the accesses to the X server. You next set the DISPLAY environment variable by either of the following methods:
- Modify $ORACLE_HOME/opmn/conf/opmn.xml. In the body of the
<OC4J>
element, add <prop home = "DISPLAY" value = "0.0"/>.
- Before starting the ompn process, enter setenv DISPLAY 0.0 in the same shell.
If the X server is running on a remote machine, you must log into the console to the remote machine. Enter `xhost + ` to allow the accesses to the X server. Then set the DISPLAY environment variable using either of the following methods:
- Modify $ORACLE_HOME/opmn/conf/opmn.xml. In the body of the
<OC4J>
element, add <prop home = "DISPLAY" value = "remotemachine:0.0"/>
.
- Before starting opmn processes, enter setenv DISPLAY remotemachine:0.0 in the same shell.
B.3.2 How can I See the Wireless XML result (or any device result) for a service?
You can view the Wireless XML result or a device result using the Debug function of the Webtool's Service Designer or Content Manager.
To view Wireless XML or device result:
- Select a master service in the browse screen the Service Designer or a service from the browse screen of the Content Manager.
- Click Debug. The Debug Service screen appears.
- In the Debug Service screen, select a Result Type, and then click Set Parameters. Click on Run Service button. The requested result displays in the Service Result pane.
B.3.3 Why are the images broken when I test a master service or a service with the Web-based Wireless PDA simulator?
Because the The image_src is a relative URL path under Wireless Web Server, the Wireless Web Server must be running in order to retrieve these device images. You can start the Wireless Web Server from the OC4J page of OEM.
B.3.4 Why am I unable to subscribe to an alert with a device that I created in Wireless Customization?
Be sure that you have validated the device; you cannot subscribe to an alert service until you have validated your device. After you create the device, the Wireless server sends a message to the device with a validation number.
To validate the device:
- In the Wireless Customization Devices screen, select the newly created device and click the Validate button. The Validate screen appears.
- Enter the validation number. When the device is validated, you can use it to subscribe alerts.
B.3.5 How can I view an end-user's services or alerts for troubleshooting purposes?
To view an end user's services or alerts:
- Log into Customization as a user with either the Administrator or Help Desk roles.
- Click the Switch User button.
- Enter the name of the user whose services or alerts you need to view.
- Click the Switch User button. The Service Subscription screen for the selected user appears.
B.3.6 After the user locale is changed, some Images In the Webtool or Wireless Customization are not generated in the correct language and display as Squares. How do I fix this?
Check your jdk/jre/lib/fonts/ directory to see whether the following five files exist.
- ALBANWTJ.TTF
- ALBANWTK.TTF
- ALBANWTS.TTF
- ALBANWTS.TTF
- ALBANWTT.TTF
- ALBANYWT.TTF.
The default jdk installed by IAS should include these files.
B.3.7 My Netscape version is 4.7 or lower, when I tried to view Webtool or Wireless Customization with certain user-preferred locale, the labels display as squares. Should I change my browser setting?
Yes. This problem only happens with Netscape 4.7 or lower version. Internet Explorer handles it gracefully.
- From the Netscape tool bar, select Edit.
- Select Preferences from the drop-down menu. The Preferences dialog appears.
- From the Category tree, select Fonts to display the Fonts dialog.
- In the Fonts dialog, select Unicode from the For the Encoding drop-down list.
- From the Variable Width Font and Fixed Width Font drop-down lists, select the font that supports the preferred language. For example, if the preferred locale is zh_CN, you may select MS Song for viewing the page in Chinese.
B.3.8 How do I ensure that the Wireless gateway URL registered with Portal is current if I load-balance multiple instances of wireless with a load-balancer in front of these instances?
Run the script $ORACLE_HOME/wireless/sample/portalRegistrar.sh (or portalRegistrar.bat) with the arguments <admin_user>
and <url_to_the_load_balancer>
to re-register the wireless gateway URL. <admin_user>
is the administrative user, usually orcladmin <url_to_load_balancer>
is of the form http://loadbalancer.mydomain.com:8000.
B.4 The Messaging Server
This section includes the following:
B.4.1 How do I configure a transport driver?
There are two major steps in configuring a transport driver:
- Configuring the Driver Metadata.
- Configuring the Driver Instance.
Step 1: Configuring the Driver Metadata
To configure the driver metadata:
- Using Webtool, select the Site tab of Wireless system management (accessed through the OEM console).
- Click Messaging Server. The detail screen for the site-level Messaging Server processes appears.
- In the Configuration section, click Messaging Server Drivers to invoke the Messaging Server Drivers screen.
- Click Add Driver.
- In the Add Driver screen, specify the following values:
- Driver Name
- Delivery Category
- Capability
- Driver Class
- Driver Class Parameters.
- Click Create.
Note:
The driver class must be in the classpath when you start the messaging server process. The Webtool does not check this at this point and only discovers an incorrect driver class at runtime. To find out which attributes the driver expects, you must consult with an administrator or driver developer. You must provide enough information so that the driver runs properly.
|
Step 2: Configuring a Driver Instance
You configure the driver instance after you configure the driver metadata.
To configure a driver instance:
- Select the Wireless Server tab.
- Click Messaging Server in the Processes section. The Messaging Server Processes screen appears.
- Click the messaging server process to which you want to add a driver instance.
- The detail screen for the selected messaging server process appears. In the Configuration section, click Driver Instance Configuration. The Driver Instances screen appears.
- Click Add Driver Instance to invoke the Add Driver Instance screen.
- Enter a driver instance name.
- Select the driver name you just created at the Site level from the drop-down list.
- Click Go. The attributes for the selected driver appear.
- Enter the appropriate values.
- Click OK to complete the new driver instance.
B.4.2 Why am I unable to send messages even through the Webtool says that the transport Is up?
There can be several reasons why you cannot send a message, even though the status of the transport appears to be up.
Make sure your transport server is really up. If you can not find a process such as "runpanamaserver MESSAGING_SERVER_INSTANCE", where MESSAGING_SERVER_INSTANCE is your instance name, then your server is not up. Bring the sever up by clicking Start.
If your server is up, check the sys_panama.log file for any fatal exception thrown by a related driver. If the sys_panama.log contains such a fatal exception, then a problem occurred that caused the driver to become disabled. Resolve that problem and then re-start your messaging server.
If the sys_panama.log file did not contain a fatal exception thrown by a related driver, then make sure that the driver is not a newly added driver. If it is a newly added driver, then re-start both the transport server and your client.
If you still can not send messages, then check with your service provider (for SMS, contact your SMSC). In addition, check your mail server and voice gateway to see if they are functioning properly. If the mail server and voice gateway are functioning properly, but you are still unable to send messages, contact Oracle9iAS Wireless support.
B.5 The Async Server
This section includes the following:
- Section B.5.1, "What is ASK (Async Server Kernel)?"
- Section B.5.2, "What is an ASK site-wide address and the service short name?"
- Section B.5.3, "What Is the ASK service-specific address?"
- Section B.5.4, "What are the preliminary requirements for the ASK?"
- Section B.5.5, "How do I add the ASK site-wide address?"
- Section B.5.6, "How do I create an ASK-enabled service?"
- Section B.5.7, "How do I invoke an ASK-enabled service through an asynchronous device?"
- Section B.5.8, "Does ASK support user sessions?"
- Section B.5.9, "Why do I get a username and password form challenge from the ASK?"
- Section B.5.10, "What do I check if no response was received after a request message was issued to the site-wide address of the Async Server?"
B.5.1 What is ASK (Async Server Kernel)?
The Async Server Kernel (ASK) enables customers to access wireless services using asynchronous messaging like SMS, Email or 2-way pagers. This means that your applications can be used by the vast majority of mobile devices that are capable to send SMS messages but are not internet-enabled. You ask for the service by sending a short message. You then receive a message in reply. You can now interactively run the same applications through asynchronous devices that you ran from synchronous devices (such as WAP phones, PDAs, or browsers).
B.5.2 What is an ASK site-wide address and the service short name?
The site-wide address is the entry point to the ASK. This address can be either an an e-mail address or a SMS phone number. The ASK receives and processes messages delivered to these addresses.
The service short name is a site-wide unique name that identifies an ASK service. End users send a message to the site-wide address with service short name in the message body to invoke the corresponding service.
Note:
The service short name is case-sensitive for this release; it will not be case-sensitive in subsequent releases.
|
B.5.3 What Is the ASK service-specific address?
For each ASK-enabled (Async-enabled) service, users can optionally define a service-specific address to identify a service. The service-specific address is another way to locate a service from the async server.
Note:
The service-specific address cannot be the same as the site-wide address and must be unique among services.
|
To invoke a service through the service-specific address, users send a message to the service-specific address. Users enter all of the parameter values for the service in the body of this message. For example, when users invoke a stock service, they send a message to a service-specific address, stock@oraclemobile.com, with a stock symbol (for example, ORCL), in the message body.
B.5.4 What are the preliminary requirements for the ASK?
The ASK does not deal directly with different communication networks. It instead relies upon the messaging server to handle the network protocol detail and perform both the message sending and receiving. Assigning the ASK site-wide and service-specific addresses registers the addresses to the messaging server so that the message will be routed to the ASK whenever the messaging server receives messages addressed to the ASK. Therefore, you must add ASK site-wide and service-specific addresses to the corresponding driver instance configuration of messaging server. For example, you add the email account addresses into the Email driver instance to enable the email driver to constantly poll the messages from the mail server. See Section 4.1.7.4 in Chapter 4, "Server Configuration" for information on configuring the messaging server drivers.
B.5.5 How do I add the ASK site-wide address?
You use the Wireless system management (accessed through the OEM console) to add the ASK site-wide address.
To add the ASK site-wide address:
- Select the Site tab. The Site screen appears.
- In the Processes section, click Async Server. The Async Server screen appears.
- Click the Async Server Configuration link in the Administration section.
- In the Site-Wide Addresses section of the Async Server Configuration screen, you assign the site-wide address to both the SMS and Email delivery networks. You must re-start the async server for the changes to take effect. See Section 4.2.3.2 in Chapter 4, "Server Configuration" for information on the Async Server Configuration screen.
B.5.6 How do I create an ASK-enabled service?
You use the Master Service Creation Wizard of the Service Designer and the Service Creation Wizard of the Content Manager to create an Ask-enabled service.
Using the Master Service Creation Wizard
When you reach Step 6 of the Master Service Creation Wizard, Creating an Async-Agent Service, check the Async-Agent Enabled check box. To ensure that the ASK can properly map the parameter names to their appropriate values, you must add the parameters which require user input in the same order that they appear on the command line.
Using the Service Creation Wizard
Using the Content Manager, you create a service based on the Async enabled master service by selecting an async-enabled master service in Step 2 of the Service Creation Wizard. When you reach Step 4, Assigning the Async Agent to the Service, you assign a site-wide unique short name to the service. This name enables end users to identify the ASK service. To invoke this service, end users send a message to the site-wide address to the service short name with the parameter values in the subject line or message body. For example, to access a stock service, an end user sends a message to the site-wide address, ask@oraclemobile.com, and includes the service short name, stk, and the parameter value, orcl, in either the subject line or the body of the message.
In addition, you can optionally assign a service-specific address to the service so that the user can invoke the service by sending a message to the service-specific address instead of site-wide address. Because the service-specific address identifies a service, users do not need to include the service short name in the message. For example, if you create a stock service that has a service-specific address, such as stock@oraclemobile.com, then users need only include a parameter (the ticker symbol ORCL, for example) in the subject line or body of their message.
B.5.7 How do I invoke an ASK-enabled service through an asynchronous device?
To invoke an ASK-enabled service through an asynchronous device, send a message to the ASK site-wide address with the subject line or message body containing the short name and the required parameter values. For example, to invoke a traffic service that provides traffic information about a particular segment of a highway, send a message with tr sfo 101n in either the subject line or message body. This service (tr) expects the first parameter to be the city (sfo) and the second parameter to be the highway (101n). Each of these parameters is separated by a blank space.
B.5.8 Does ASK support user sessions?
The ASK supports user sessions. The Ask creates a user session upon receipt of the first user request and binds the subsequent request from the same device to the same session unless the session expires. The session life time, which can be configured, has the default value of 600 seconds, the same as the default value for Wireless runtime session expiration.
The ASK also supports MobileXML tags. These tags, such as SimpleMenu
and SimpleForm,
enable complex applications which require conversational interaction, which the ASK enables by storing all of the menu and form states in the backend user session. Each menu message received by the user has a number prefix for each menu item. Users select these menu items by replying with the menu number in the message body.
The form message requests user-supplied input for each parameter. Users reply with a message containing the parameter values separated by delimiter, such as default delimiter, a blank space (" "). If a user decides to invoke another service rather than respond to the form message, then the user must issue an escape form command (default value is !e) before issuing any other commands. The escape form command prevents the ASK from interpreting the service short name as a parameter value for the form.
B.5.9 Why do I get a username and password form challenge from the ASK?
The Ask challenges the username and password for several reasons, including:
- A non-registered user is attempting to request a service which is not a public service and therefore cannot be accessed by the Guest group. Anonymous users can only access public services.
- A registered user who issues the request to a non-public service from a device which is not yet added to the user profile. The user an reply a message with the Wireless user name and password to access those authorized services.
- The application issues a form challenge. In this case, the user responds to the challenge by providing the username and password for that particular application.
Note:
Users must issue an escape from command (default value is !e) if they want to invoke another service rather than respond to the form challenge. Because the escape from command clears the form state, the ASK does not interpret user commands for another service as parameter values for the form.
|
B.5.10 What do I check if no response was received after a request message was issued to the site-wide address of the Async Server?
The async server and messaging server are the main Wireless components involved with message delivery and service invocation. Do the following if no response was ever received after a request message was issued to the site-wide address of the Async Server:
- Verify that the message destination address is the same as the Async site-wide address. You can find out the site-wide async server address by clicking the Async Server Configuration hyperlink in the Site screen.
- Verify that the Async site-wide address has been properly configured in the corresponding driver instance of the messaging server. Check the sys_panama.log to see if there is any exception thrown from the corresponding driver, either during the startup phase or during the sending and receiving phases. Often, when a message has not been delivered from the messaging server to the Async Server, the log line fail to enqueue a received message appears in sys_panama log. Typically, the failure to deliver a message from the messaging server to the async server is caused by one of the following:
- The async server has not been re-started after the site-wide address was added or modified.
- The async site-wide address given in the async server configuration is different from the one configured in the messaging server driver instance.
- The async server is not up.
- Check if there are any inactive messaging server driver instances configured for the network (Email or SMS) to which the message is sent. There could be more than one driver instance that supports the network type that you are currently testing. Having more than one driver instance supporting the same network type is for load balancing. The issue is introduced if the message is routed to an inactive driver instance. For example, the outgoing emails can be routed to either a PushDriver or an EmailDriver driver instance based on the criteria set in each driver. Even though the PushDriver and the EmailDriver support the Email network type, the PushDriver may not be configured to point to a valid URL, preventing the outgoing mails sent to that driver instance from being delivered.
To check this, do the following:
- From the Site tab, click Messaging Server.
- From the Messaging Server process table, click each process link to locate the driver instance supported by the messaging server process. Check if there are more than one driver which support the network type that you are currently testing. Make sure that all of the drivers are configured and started properly to deliver messages. Remove the unused drivers. To verify the driver configuration:
- From the Wireless Server tab, click Messaging Server in the Processes section.
- Click a message server process. The detail screen for that process appears.
- In the Configuration section of the screen, click Driver Configuration Instances.
B.6 Interaction with Other iAS Components
This section includes the following:
B.6.1 What should I configure if the hostname or port number of my Apache server has changed?
- Modify opmn.xml to point to the hostname and port number where the OC4J instance is running.
- Reconfigure WebCache Server. For more information, refer to the WebCache Server configuration documentation.
- Reconfigure Oracle Portal. For more information, refer to the Oracle Portal Server configuration documentation.
- Reconfigure OEM. For more information, refer to the OEM configuration document.
- Rerun the script $ORACLE_HOME/wireless/sample/portalRegistrar.sh (or portalRegistrar.bat) to re-register the Wireless Web Server URL.
- Register the Webtool provider and the Customization provider with Oracle Portal.
- Login into OEM, drill down to Wireless Server.
- Select the Site tab and then click the URL Configuration in the Configuration section.
- Enter the URL values for each filed and then click OK.
- Click Register Oracle Portal Provider for Wireless Webtool.
- Enter the appropriate values and click OK.
- Click Register Oracle Portal Provider for Wireless Customization.
- Enter the appropriate values and then click OK.
Note:
You should always install Apache with Oracle Universal Installer, so that both the OPMN and SSO are installed automatically.
|
B.6.2 How do I ensure that the Wireless gateway URL registered with Portal is current if I load-balance multiple instances of Wireless with a load-balancer in front of these instances?
Run the script $ORACLE_HOME/wireless/sample/portalRegistrar.sh (or portalRegistrar.bat) with the arguments <admin_user>
and <url_to_the_load_balancer>
to re-register the Wireless gateway URL. <admin_user>
is the administrative user; usually orcladmin <url_to_load_balancer>
is the form http://loadbalancer.mydomain.com:8000.
B.6.3 How do I ensure that the Wireless gateway URL registered with Portal is current if it has been re-assigned to a different machine or port?
Run the script $ORACLE_HOME/wireless/sample/portalRegistrar.sh (or portalRegistrar.bat) to re-register the Wireless gateway URL.