Microsoft KB Archive/841106

= A BizTalk Server error message may not correctly display URL-encoded URLs =

PSS ID Number: 841106

Article Last Modified on 5/12/2004

-

The information in this article applies to:


 * Microsoft BizTalk Server 2004 Developer Edition
 * Microsoft BizTalk Server 2004 Enterprise Edition
 * Microsoft BizTalk Server 2004 Partner Edition
 * Microsoft BizTalk Server 2004 Standard Edition

-



SYMPTOMS
When BizTalk Server encounters an error, it outputs an error message in the event log. However, if the URL that is involved is URL-encoded, the error message does not display the URL correctly.

For example, when a HTTP request contains parameters, the user typically uses a name/value pair to specify the values for the parameters. The user may use the following URL:

http://localhost:80/Responder/Send.aspx?tpurl=http://cell//servlet/listenerServlet?userId=john

For transport, this URL may be URL-encoded so that unsafe characters are replaced with a percent sign (%) and with the hex number of the chracaters. The URL may be encoded as follows:

http://localhost:80/Responder/Send.aspxtpurl=http%3a%2f%2fcell%2fservlet%2flistenerServlet%3fuserId=%3john

However, the event log contains the following:

Event Type: Error

Event Source: BizTalk Server 2004

Event Category: BizTalk Server 2004

Event ID: 5720

Date: 3/31/2004

Time: 7:01:48 PM

User: N/A

Computer: Server1

Description: There was a failure executing the send pipeline:

&quot;Microsoft.Solutions.BTARN.SendPipelines.RNIFSend&quot; Source: &quot;MIME/SMIME encoder&quot; Send Port: &quot;http://localhost:80/responder/RNIFSend.aspx?

tpurl=httphttp://localhost:80/responder/Send.aspx?

tpurl=httphttp://localhost:80/responder/Send.aspx?

tpurl=httphttp://localhost:80/responder/Send.aspx?

tpurl=httphttp://localhost:80/responder/Send.aspx?

tpurl=httphttp://localhost:80/responder/Send.aspx?

tpurl=httphttp://localhost:80/responder/Send.aspx?

tpurl=httphttp://localhost:80/responder/Send.aspx?

tpurl=httphttp://localhost:80/responder/Send.aspx?

tpurl=httphttp://localhost:80/responder/Send.aspx?

tpurl=httphttp://localhost:80/responder/Send.aspx?

tpurl=httphttp://localhost:80/responder/Send.aspx?

tpurl=httphttp://localhost:80/responder/Send.aspx?

tpurl=httphttp://localhost:80/responder/Send.aspx?

tpurl=httphttp://localhost:80/responder/Send.aspx?

tpurl=httphttp://localhost:80/responder/Send.aspx?

tpurl=httphttp://localhost:80/responder/Send.aspx?

tpurl=httphttp://localhost:80/responder/Send.aspx?

tpurl=httphttp://localhost:80/responder/Send.aspx?

tpurl=httphttp://localhost:80/responder/Send.aspx?

Reason: %4

For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.



CAUSE
This problem occurs because the BizTalk error reporting function cannot output the correct URL string when a number follows the percent sign (%) in the URL-encoded URL.



STATUS
This behavior is by design.



WORKAROUND
To work around this behavior, use another encoding method so that a number does not follow the percent sign (%) in the encoded URL string. For example, use the following method:
 * 1) Pad the parameter values with spaces so that the length is divisible by 3.
 * 2) Encode the parameter value with base-64 encoding.
 * 3) Encode the URL with URL encoding. The encoded URL will not contain %n because all base 64 characters except the equal sign (=) are permitted in the URL, and the equal sign (=) is permitted in the URL by itself.

Keywords: kbprb KB841106

Technology: kbAudDeveloper kbBizTalkSearch kbBizTalkServ2004Dev kbBizTalkServ2004Ent kbBizTalkServ2004Prtnr kbBizTalkServ2004Search kbBizTalkServ2004Std kbBiztalkServSearch

-

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

© 2004 Microsoft Corporation. All rights reserved.