Microsoft KB Archive/316594

= ServerXMLHTTP Validation Failures When You Use Extended Characters in User Names =

Article ID: 316594

Article Last Modified on 11/15/2007

-

APPLIES TO


 * Microsoft XML Parser 3.0 Service Pack 2

-



This article was previously published under Q316594



SYMPTOMS
Authentication fails when you use the MSXML2.ServerXMLHTTP class to open a URL with a user name that contains an extended character such as the following: Läder Similar code that uses the Microsoft.XMLHTTP class with the same user name works correctly.



RESOLUTION
A supported hotfix is now available from Microsoft. However, this hotfix is intended to correct only the problem that is described in this article. Apply this hotfix only to systems that are experiencing this specific problem. This hotfix might receive additional testing. Therefore, if you are not severely affected by this problem, we recommend that you wait for the next service pack that contains this hotfix.

To resolve this problem, submit a request to Microsoft Online Customer Services to obtain the hotfix. To submit an online request to obtain the hotfix, visit the following Microsoft Web site:

http://go.microsoft.com/?linkid=6294451

Note If additional issues occur or any troubleshooting is required, you might have to create a separate service request. The usual support costs will apply to additional support questions and issues that do not qualify for this specific hotfix. To create a separate service request, visit the following Microsoft Web site:

http://support.microsoft.com/contactus/?ws=support

The English version of this fix should have the following file attributes or later:

 Date       Version       Size     File name     Platform --- 01/18/2002 8.20.9318.0    1,105,920 msxml3.dll       x86 01/18/2002 8.20.9318.0       24,576 msxml3a.dll      x86 01/18/2002 8.20.9318.0       44,032 msxml3r.dll      x86 01/18/2002 6.00.2462.0       28,672 xmlinst.exe      x86



WORKAROUND
Use the Microsoft.XMLHTTP class, or apply this hotfix.



STATUS
Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article.

Steps to Reproduce the Behavior
 On your IIS Web server computer, create a folder that is named TestAccess. Right-click the folder, and then click Properties. On the Directory Security tab, edit the Authentication and Access Control section, and make sure that only Integrated Windows Security is selected.  On your Web server computer, create a local NT user name that is named as follows: Läder   Grant the correct NT permissions for the local NT user that is named: <pre class="fixed_text">Läder to read a file from the folder on the Web server. </li> Copy a test XML file that is named test.xml to the TestAccess folder.</li>  Create a Visual Basic 6.0 standard form based project, and then add the following code to the project: Private Sub Command1_Click Dim objXMLHTTP As Object Dim strURL As String Dim strUser As String Dim strPwd As String Dim strWebServer As String

' Replace MyWebServer below with the name of your Web server. strWebServer = &quot;MyWebServer&quot; strURL = &quot;http://&quot; & strWebServer & &quot;/testaccess/test.xml&quot; strUser = strWebServer & &quot;\L&quot; & Chr(228) & &quot;der&quot; strPwd = &quot;Password1&quot; ' Adjust password here as needed. fUseWorkAround = False if (fUseWorkAround) Then Set objXMLHTTP = CreateObject(&quot;Microsoft.XMLHTTP&quot;) Else Set objXMLHTTP = CreateObject(&quot;MSXML2.ServerXMLHTTP&quot;) End If

Debug.Print &quot;strURL = &quot; & strURL Debug.Print &quot;strUser = &quot; & strUser Debug.Print &quot;strPwd = &quot; & strPwd

objXMLHTTP.open &quot;GET&quot;, strURL, False, strUser, strPwd

' Set request headers. objXMLHTTP.setRequestHeader &quot;Content-Type&quot;, &quot;text/xml&quot;

' Send query. objXMLHTTP.send

'Display the results. If (objXMLHTTP.Status >= 200 And objXMLHTTP.Status < 300) Then Debug.Print &quot;Success!&quot; Debug.Print &quot;Status      = &quot; & objXMLHTTP.Status Debug.Print &quot;StatusText  = &quot; & objXMLHTTP.statusText Else Debug.Print &quot;Failure!&quot; Debug.Print &quot;Status      = &quot; & objXMLHTTP.Status Debug.Print &quot;StatusText  = &quot; & objXMLHTTP.statusText End If

Set objXMLHTTP = Nothing

End Sub </li>  Run the code. Without the hotfix applied, you see the following: Failure!

Status = 401

StatusText = Access Denied </li>  If you set fUseWorkAround as follows: fUseWorkAround = True in the code, you see the following: Success!

Status = 200

StatusText = OK </li></ol>

Keywords: kbqfe kbhotfixserver kbbug kbfix KB316594

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.