PRB: Common Proxy Server and Firewall Issues with MapPoint Web Services

Article translations Article translations
Article ID: 330221 - View products that this article applies to.
This article was previously published under Q330221
Expand all | Collapse all

SYMPTOMS

MapPoint .NET is a HTTP-based Web service that is delivered over TCP/IP. The operation, connectivity, and performance of MapPoint .NET can be impacted by the proxy server and firewall environment. Client applications access the service through this environment. The following errors are related to the proxy server and firewall issues. This article describes potential solutions for these errors.

You may receive one of the following errors from a client application that is accessing the MapPoint .NET Web service.

Error 1
"The underlying connection was closed: The remote name could not be resolved."
Error 2
"The request failed with HTTP status 502: Proxy Error"
Error 3
"The request failed with the error message: -- Server Error in '/Find-20' Application.
--------------------------------------------------------------------------------
Request format is unrecognized.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.InvalidOperationException: Request format is unrecognized."
Error 4
"The request failed with HTTP status 407: Proxy authentication required. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Net.WebException: The request failed with HTTP status 407: Proxy authentication required."

CAUSE

Error 1
"The underlying connection was closed: The remote name could not be resolved."
This error typically occurs if the network environment routes traffic through an HTTP proxy server, and the client application cannot read the proxy settings automatically from the registry. The problem is more likely to occur if the Web service client is an ASP.NET web application, because Web applications do not typically run on an interactive user account. Therefore, Web applications do not always have access to the browser proxy settings in the registry.

Error 2
"The request failed with HTTP status 502: Proxy Error"
This error may occur if MapPoint .NET is behind a proxy server or a firewall that enforces limits on SOAP packet size, or that has a timeout value that is less that the time it takes for a large request to return. For example, a call to MapPoint .NET to render a map with a large number of pushpins causes a large SOAP packet to be returned, and causes a request that takes longer to process than the timeout value allows. This may cause the request to fail, depending on the proxy and firewall configuration for the network.

Error 3
"The request failed with the error message: -- Server Error in '/Find-20' Application.
--------------------------------------------------------------------------------
Request format is unrecognized.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.InvalidOperationException: Request format is unrecognized."
This error may occur if a proxy or firewall is set to remove unknown headers.

Error 4
"The request failed with HTTP status 407: Proxy authentication required. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Net.WebException: The request failed with HTTP status 407: Proxy authentication required."
This error occurs if the proxy server requires authentication from a domain user account. This error typically occurs if the MapPoint .NET client is an ASP.NET application. ASP.NET applications typically run on the security context of a local user account that does not have permissions on the network and proxy server.

RESOLUTION

Error 1


To resolve this error, use one of the two following options:

  1. Configure the proxy server in Machine.config or in Web.config.
    1. For Machine.config, you must modify defaultProxy element as follows:
      <defaultProxy>
           <proxy
                usesystemdefault = "false"
                proxyaddress="http://proxyserver:port"
                bypassonlocal="true"
           />
      </defaultProxy>
      				
    2. For Web.config, add the defaultProxy element as a child of the System.net element.
  2. Configure the proxy server as in the following code.

    Microsoft Visual Basic .NET
    Dim myProxy As New WebProxy("http://proxyserver:port", True)
    Dim myFindService As New FindServiceSoap()
    myFindService.Proxy = myProxy
    				
    Microsoft C#
    WebProxy myProxy = new WebProxy("http://proxyserver:port",true);
    FindServiceSoap myFindService = new FindServiceSoap();
    myFindService.Proxy = myProxy;
    				
    Note You must set the proxy for each MapPoint .NET SOAP service that you call (Common, Find, Render, and Route). Also, you must use the IMPORTS statement for Visual Basic .NET or the Using directive for C# to reference the "System.Net" namespace to have access to the WebProxy class.
Error 2


To resolve this error, do the following:
  • Bypass the proxy server, and then configure the proxy server to accept large SOAP packets.
  • Increase the timeout value for requests.
  • Limit the data that you request.
Each solution may be different. The correct solution depends on the network environment that you use to call the Web service. Work with your network administrator to determine the specific settings that are required for the SOAP packets to be successfully sent to and received from the MapPoint .NET service.

Error 3


Work with your network administrator to correctly configure your firewall to accept the SOAP headers. In some cases, you can just select the Remove Unknown Headers box in the firewall configuration.

Error 4


Configure the proxy server as in the following code.

Visual Basic .NET
Dim myProxy As New WebProxy("http://proxyserver:port", True)
myProxy.Credentials = New NetworkCredential("username", "password", "domain")
Dim myFindService As New FindServiceSoap()
myFindService.Proxy = myProxy
				
C#
WebProxy myProxy = new WebProxy("http://proxyserver:port",true);
myProxy.Credentials = new NetworkCredential("username", "password", "domain");
FindServiceSoap myFindService = new FindServiceSoap();
myFindService.Proxy = myProxy;
				
Note You must set the proxy for each MapPoint .NET SOAP service that you call (Common, Find, Render, and Route). You must use the IMPORTS statement for Visual Basic .NET or the Using directive for C# to reference the "System.Net" namespace, and to have access to the WebProxy class and the NetworkCredential class.

Properties

Article ID: 330221 - Last Review: February 9, 2004 - Revision: 2.2
APPLIES TO
  • Microsoft MapPoint Web Service 3.0
Keywords: 
kbprb KB330221

Give Feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com