Chapter 5: Troubleshooting

This section describes some common MapPoint Location Server troubleshooting scenarios and known issues.

On This Page

Known Issues Known Issues
Performance Counters Performance Counters
Troubleshooting the Demonstration Location Provider Troubleshooting the Demonstration Location Provider

Known Issues

MapPoint Location Server Database Setup does not recognize administrator and MapPoint Location Server Web Service names when the instance of SQL Server has a case-sensitive collation.

When you run the MapPoint Location Server database Setup program, if the instance of SQL Server on which you are installing MapPoint Location Server database has a default collation that is case sensitive (for example, SQL_Latin1_General_CP1_CS_AS), MapPoint Location Server Web Service and the administrator users and groups are not added if they are not in the correct case. In this event, you will receive the following message:

"The user <domain>\<username> was not found." 

To correct the problem, use the same case as the domain and account name, or use a collation that is not case-sensitive.

MapPoint Location Server Web Service Setup exits with the following error:

"An error occurred creating IIS virtual directory."

This error occurs when there is an existing instance of the MLSService virtual directory. To correct the problem, remove the existing MLSService virtual directory from IIS before running the MapPoint Location Server Web Service Setup program.

MapPoint Location Server Web Service Setup exits with the following error:

"The Web service could not make an SSL connection to the MapPoint Location Server database."

This error occurs under the following conditions:

  • The instance of SQL Server on which the MapPoint Location Server database is installed is not configured to support SSL connections.

  • The account of the user running Setup does not trust the root certificate authority for the SSL certificate of the instance of SQL Server.

To correct the conditions that cause this error:

  • Verify that the SQL Server is configured to support SSL connections.

For more information, see the Microsoft Knowledge Base Article, "Enable SSL Encryption for SQL Server 2000 with Microsoft Management Console" (support.microsoft.com/default.aspx?scid=kb;en-us;316898).

Important  This article contains incorrect instructions for specifying the friendly name of the SQL Server's SSL certificate (Step 2d in Steps to Use to Install a Certificate on a Server with Microsoft Management Console). The friendly name must be set to the name of the computer running SQL Server; you cannot provide an arbitrary name or leave the name blank.

In addition, do not select Force protocol encryption on either the computer running MapPoint Location Server Web Service or the computer running SQL Server because this option forces the use of SSL for all connections between the two computers. The Web service makes selective use of SSL for sensitive queries and updates. Therefore, the Web service cannot run properly if Force Protocol encryption is selected.

Verify that the root certificate authority for the SQL Server's SSL certificate is installed on the computer running MapPoint Location Server Web Service.

The Knowledge Base article contains step-by-step instructions for installing the root certificate authority in the section Steps to Enable Encryption for a Specific Client.

Verify that you can make an SSL connection to the MapPoint Location Server database.

The Knowledge Base article contains instructions for verifying the SSL connection by using the Query Analyzer tool. If you follow these instructions, remember to clear the Force protocol encryption option after you verify the connection.

You can also use the Microsoft Windows® ODBC Data Source Administrator to verify that you can make an SSL connection to the MapPoint Location Server database:

  1. Log on to the computer running the Web service using the account under which Setup is being run.

  2. Click Start, point to Programs, point to Administrative Tools, and then click Data Sources (ODBC).

  3. Click Add, and select the SQL Server driver, and then click Finish.

  4. Type a name and description for the new data source; for example, Test Connection, type the server name, and then click Next.

  5. On the Create a New Data Source to SQL Server page, do the following:

    • Select With Windows NT authentication using the Network login ID.

    • Select Connect to SQL Server to obtain the default settings for the additional configuration options.

    • Click Next. If this user account cannot successfully login to the computer running SQL Server, you will receive an error message. For more information see "Web Service setup fails to logon to SQL Server" earlier in this section.

  6. In the Change the default database to drop-down list, select the target MapPoint Location Server database, click Next, and then Finish.

  7. Click Test Data Source. When the test results dialog indicates that the connection is successful, click OK.

  8. Verify that the Web service can make an SSL connection to the computer running SQL Server by performing the following steps:

    • On the User DSN tab, double-click the data source you just created, and on the following pages, click Next to navigate to the Microsoft SQL Server DSN Configuration page.

    • Select Use strong encryption for data, click Finish, and then click Test Data Source to test the SSL connection.

  9. Click OK twice, and then click Cancel to exit the ODBC Data Source Administrator.

MapPoint Location Server requests fail because ASP.NET is using .NET Framework 1.0.

When you install MapPoint Location Server Web Service, Setup verifies that the .NET Framework 1.1 is installed on the server. It is possible, however, to have the .NET Framework 1.1 installed but still have ASP.NET using the .NET Framework 1.0 RTM. This causes an internal server error when the Machine.config file of the v1.0.3705 (RTM) .NET Framework is accessed, and MapPoint Location Server requests cannot be completed successfully.

When you install .NET Framework 1.1, you can use a command line switch to prevent ASP.NET from upgrading:

c:\dotnetfx.exe /c: "install /noaspupgrade"

If this switch was used, ASP.NET is not upgraded and the following error message is displayed:

Event Type:     Error

Event Source:   Microsoft MapPoint Location Server

Description:

An internal server error has occurred.

Message: System.Configuration.ConfigurationException: Error loading XML file c:\winnt\microsoft.net\framework\v1.0.3705\Config\machine.config Request for the permission of type System.Security.Permissions.StrongNameIdentityPermission, mscorlib, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 failed. (c:\winnt\microsoft.net\framework\v1.0.3705\Config\machine.config)

To correct the problem, reinstall the .NET Framework 1.1 on the Web server without using the /noaspupgrade switch.

The MapPoint Location Server Web Service Setup program cannot connect to SQL Server because of incorrect permissions.

MapPoint Location Server Web Service Setup fails to log on to the specified instance of SQL Server and logs the following error in the Event Log:

"Login failed for user '(null)'. Reason: Not associated with a trusted SQL Server connection."

This error occurs when the domain account under which you are logged on does not have permission to connect to the instance of SQL Server. Verify that the domain of your account is trusted by the domain of the SQL Server and that your domain account is a member of the MlsAdministrators domain group.

Users who have been provisioned for MapPoint Location Server cannot log on.

This occurs if you install MapPoint Location Server Web Service on a Windows 2000 Server domain controller. To correct this problem, you must give each provisioned user allow log on locally permissions on the domain controller.

MapPoint Location Server Web Service fails to start and logs the following error event in the application event log.

Event Source: Microsoft MapPoint Location Server

Event ID: 16

Description: The Web service cannot make an SSL connection to the MapPoint Location Server database.

This error can occur if SSL was disabled on the SQL Server after the Web Service was installed or the MlsWebService domain account doesn't trust the root certificate authority for the SQL Server's SSL certificate. This conditions that cause this error can be corrected by following the steps outlined in MapPoint Location Server Web Service setup exits with error: "The Web Service could not make an SSL connection to the Location Server database." Earlier in this section.

MapPoint Location Server Web Service fails to start and logs the following error event in the application event log.

Event Source: Microsoft MapPoint Location Server

Event ID: 5

Description: The Web service cannot connect to the configuration database as the specified user.

This error occurs if an incorrect password was provided for the MlsWebService account during setup, if the password was subsequently changed but the change was not applied to the Web.config file through the Set Password tool, or if the password has expired. You can correct this problem by using the Set Password tool to update the Web.config file with the correct password for the MlsWebService account.

The MapPoint Location Server management console displays the following error message when run on a computer that has a virtual private network (VPN) or remote access service (RAS) connection to the MapPoint Location Server database:

"The <Unknown Url>; cannot be resolved: The underlying connection was closed: The remote name could not be resolved. Ensure that your proxy-server settings allow access to all MapPoint Web Service sites."

This error is caused by an HTTP proxy configuration that prevents the MapPoint Location Server management console from accessing MapPoint Web Service.

To fix this problem, create a text file named Mmc.exe.config and insert the following text, replacing YourProxyUrl with the URL of your HTTP proxy:

<configuration>
         <system.net>
         <defaultProxy>
                 <proxy bypassonlocal="true" proxyaddress="https://YourProxyUrl" />
          </defaultProxy>
          </system.net>
</configuration>

Save the file in the folder that contains Mmc.exe, the executable for Microsoft Management Console. Typically, Mmc.exe is located in the WINDOWS\system32 folder or the WINNT\system32 folder.

The following message appears in the event log:

"Microsoft.MapPoint.LocationServer.Providers.LocationServicesInformation

RequestAborted (3)"

This message appears in the event log when a location request was aborted. Requests can be aborted for any of the following reasons:

  • A user submitted more than one location request simultaneously.

  • A request has timed out

  • An internal server error has occurred

  • The operating system has aborted the request before it could be processed.

Performance Counters

MapPoint Location Server provides several performance counters that you can use to monitor the state of the server and for troubleshooting. Two types of performance counters are available:

  1. MMLS—Performance counters for MapPoint Location Server.

  2. MMLS Location Providers—Performance counters for MapPoint Location Server location providers.

MMLS

The two counters in MapPoint Location Server category track the number of successful and failed calls made by MapPoint Location Server to MapPoint Web Service:

  • MapPoint Web Service failures—The number of failed calls. These include failures caused by an incorrect MapPoint Web Service account ID or password, network failures, and SOAP exceptions thrown by MapPoint Web Service.

  • MapPoint Web Service successes—The number of successful calls.

MMLS Location Providers

The MMLS Location Providers category has several counters that monitor the state of a location provider. Distinct instances of the following counters are supported for each location provider that is installed:

  • Average request processing time—The average time (in milliseconds) that it takes the provider to process a request.

  • Average request queued time—The average time (in milliseconds) that a request waits in the provider's queue.

  • Devices currently processing—The number of devices that the provider is attempting to locate.

  • Devices currently queued—The number of devices that are currently waiting in the provider's queue.

  • Total devices—The total number of location requests that are sent to a provider. Note that this does not include location attempts made by a blocked contact or attempts to locate an offline user.

  • Total devices not located—The total number of devices that were not located by the provider because of a non-fatal or transient problem; for example, a device was switched off, a device was out of range, a phone number was not valid, the provider timed-out while waiting for a response from the mobile operator, and so on.

  • Total devices not queued—The total number of requests that were sent to the provider but failed immediately because the provider was too busy with other requests. A request fails immediately if the provider's queue is full.

  • Total devices returning an error—The total number of devices that were not located by the provider because of a fatal error, such as fatal failures in the security protocol used to connect to the mobile operator.

  • Total devices successfully located—The total number of devices that were successfully located by the provider.

Adding Performance Counters

You can access these counters through the Performance administrative utility in Windows.

To add performance counters

  1. Launch the Performance utility:

    • Click Start, point to Administrative Tools, and then click Performance

      -or-

    • Click Start, click Run, and then in Open, type perfmon, and then click OK.

  2. On the toolbar above the right pane, click the add icon (+).

  3. In the Performance objects drop-down list, select either MMLS or MMLS Location Providers.

  4. Select the counters you want to use: Select the All counters radio button to select all available counters, or select the Select counters from list radio button, and then highlight the counters that you want to add by pressing CTRL and clicking each counter.

    For MLS Location Providers, select the provider or providers that you want the counters to apply to. Select the All instances radio button to select all available providers, or select the Select instances from list radio button, and then highlight the providers that you want to add by pressing CTRL and clicking each provider.

  5. When you are finished adding counters (and providers), click Add, and then click Close to close the Add Counters dialog box.

Troubleshooting the Demonstration Location Provider

The demo provider is useful for troubleshooting MapPoint Location Server problems because it removes dependencies on a mobile operator's network, the network connectivity between MapPoint Location Server and the mobile operator's network, the authentication scheme required by the mobile operator for accepting location requests, and so on. However, the demo provider can also encounter error conditions; for example, if the Testlocations.txt file is missing or locked, the line for a phone number is formatted incorrectly, and so on. In such cases, the demo provider writes an error event to the application event log. All error events from the demo provider contain the following information:

  • Event Source: Microsoft MapPoint Location Server

  • Event ID:13

  • Provider: MS.LocationServer.DemoLocationProvider (in the Description field on the Event tab)

    Look at the error message to determine the cause of the error. Following are some of the error messages written by the demo provider:

  • InvalidInput: "The location file <file name> is unavailable."

    The demo provider was unable to load the file <file name>. Make sure the file exists and is not locked for exclusive access by another process; for example, by a text editor.

  • DeviceUnknown: "The phone number cannot be found."

    The user's phone number was not found in the input file. Ensure that the phone number in the text file consists of the concatenation of country code, area code, and phone number.

  • InvalidInput: "Success or Failure is missing."

    The phone number was located in the text file, but no further tokens were found on the same line.

  • InvalidInput: "Unknown token: Success or Failure is expected."

    The phone number was located in the text file, but the second token was not recognized. It must be either 'Success' or 'Failure' (case-insensitive).

  • InvalidInput: "= The latitude and longitude is missing."

    The phone number was located in the text file followed by the token 'Success', but the latitude, longitude, or both were missing or were not readable as a floating point number.

  • InvalidInput: "The error code is missing."

    The phone number was located in the text file, and the token 'Failure', but no failure code was specified. See the comments at the beginning of the sample text file.

  • InvalidInput: "The failure code is unknown."

    The phone number and the token 'Failure' were located in the text file, but the failure code was not recognized. See the comments at the beginning of the sample text file for valid failure types.