> Can you show the recording and your code? Did you record your attempts 
> 
> to run it from CF with a packetsniffer or proxy?
> 
> Jochem

I did not yet try the packetsniffer/proxy monitoring to see exactly what the CF 
Server is sending. 

Recording of successful FireFox session (credentials obfuscated):

----------------------------------------------------------
http://rets15.raprets.com:6103/Itech/ITEC/Login.aspx

GET /Itech/ITEC/Login.aspx HTTP/1.1
Host: rets15.raprets.com:6103
User-Agent: XXXXXXXXXX
Accept: 
text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
RETS-Version: RETS/1.5

HTTP/1.x 401 Unauthorized. Not Authenticated....
Date: Tue, 17 Apr 2007 15:32:03 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET (05)
X-AspNet-Version: 1.1.4322
WWW-Authenticate: Digest realm="ITEC", 
nonce="3b856a69cb9ecaeac324f9d0f1be9fd3", 
opaque="ea3056551e956d2f363f9e8f520a1755", qop="auth"
RETS-Version: RETS/1.5
Transfer-Encoding: chunked
Cache-Control: private
Content-Type: text/xml
----------------------------------------------------------

http://rets15.raprets.com:6103/Itech/ITEC/Login.aspx

GET /Itech/ITEC/Login.aspx HTTP/1.1
Host: rets15.raprets.com:6103
User-Agent: XXXXXXXXXX
Accept: 
text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
RETS-Version: RETS/1.5
Authorization: Digest username="XXXXXXXX", realm="ITEC", 
nonce="3b856a69cb9ecaeac324f9d0f1be9fd3", uri="/Itech/ITEC/Login.aspx", 
response="c3b0d5f6d805da44dce16c5aa25bb09e", 
opaque="ea3056551e956d2f363f9e8f520a1755", qop=auth, nc=00000001, 
cnonce="15579d4174a47e3c"

HTTP/1.x 200 OK
Date: Tue, 17 Apr 2007 15:34:02 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET (05)
X-AspNet-Version: 1.1.4322
Set-Cookie: RETS-Session-ID=90ff78ab95444124bc43cf0eac9bfd72; path=/
RETS-Version: RETS/1.5
Transfer-Encoding: chunked
Cache-Control: private
Content-Type: text/xml; charset=utf-8
----------------------------------------------------------

ColdFusion Code Fragment:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
<html xmlns="http://www.w3.org/1999/xhtml";>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>RETS 1.5 Digest Auth Test</title>
</head>
<body>
<!--- Rapattoni Data --->
<cfset hostname     = "rets15.raprets.com">
<cfset hostport     = "6103">
<cfset UserName     = "xxxxxxxx">
<cfset Password     = "xxxxxxxx">
<cfset User_Agent   = "xxxxxxxx">
<cfset Login_Area   = "GET /Itech/ITEC/Login.aspx?BrokerCode%3d HTTP/1.1">
<cfset Login_uri    = "/Itech/ITEC/Login.aspx">
<cfset rets_version = "RETS/1.5">
<cfset qop          = "auth">
<cfset nc           = "00000001">
<cfset nonce        = "">
<cfset opaque       = "">
<cfset response     = "">
<cfset MLSID        = "ITEC">

<cfset A1               = Hash("#UserName#:#MLSID#:#Password#", "MD5")>
<cfset A2               = Hash("GET:#Login_uri#", "MD5")>
<cfset response         = lCase(Hash("#A1#:#nonce#:#A2#", "MD5"))>
<cfset TheAuthorization = 'Digest username="#Username#", realm="#MLSID#", 
nonce="#nonce#", opaque="#opaque#", uri="#Login_uri#", response="#response#"'>


<!--- First request to get Authenticate Information --->
<cfhttp url="http://rets15.raprets.com:6103/Itech/ITEC/Login.aspx"; method="get" 
>
 <cfhttpparam name="User-Agent"         type="header" value="#User_Agent#"> 
 <cfhttpparam name="Accept"             type="header" 
value="text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5">
 <cfhttpparam name="Accept-Language"    type="header" value="en-us,en;q=0.5">
 <cfhttpparam name="Accept-Encoding"    type="header" value="gzip,deflate">
 <cfhttpparam name="Accept-Charset"     type="header" 
value="ISO-8859-1,utf-8;q=0.7,*;q=0.7">
 <cfhttpparam name="Keep-Alive"         type="header" value="300">
 <cfhttpparam name="Connection"         type="header" value="keep-alive">
 <cfhttpparam name="RETS-Version"       type="header" value="#rets_version#">
</cfhttp>


<h3>Initial Request Response</h3>
<cfdump var="#cfhttp#" /><br><br>


<!--- Build Components from first response to create second request information 
--->
<cfset MyArrayList = ListToArray(cfhttp.responseHeader["WWW-Authenticate"])>
<cfset nonce    = ListGetAt(MyArrayList[2], 2, '"')>
<cfset opaque   = ListGetAt(MyArrayList[3], 2, '"')>

<cfset cnonce      = lcase(Hash("#user_agent#:::#nonce#", "MD5"))>
<cfset response    = lCase(Hash("#A1#:#nonce#:#nc#:#cnonce#:#qop#:#A2#", 
"MD5"))>

<cfset TheAuthorization = 'Digest username="#UserName#", realm="#MLSID#", 
nonce="#nonce#", uri="#Login_uri#", response="#response#", opaque="#opaque#", 
qop=#qop#, nc=#nc#, cnonce="#cnonce#"'>

<cfoutput>
<h3>Generated Authorization Header</h3>
<p>Authorization: #TheAuthorization#</p>
</cfoutput>

<!--- Second request to get Authenticated --->
<cfhttp url="http://rets15.raprets.com:6103/Itech/ITEC/Login.aspx"; 
method="POST">
 <cfhttpparam name="User-Agent"         type="header" value="#User_Agent#"> 
 <cfhttpparam name="Accept"             type="header" 
value="text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5">
 <cfhttpparam name="Accept-Language"    type="header" value="en-us,en;q=0.5">
 <cfhttpparam name="Accept-Encoding"    type="header" value="gzip,deflate">
 <cfhttpparam name="Accept-Charset"     type="header" 
value="ISO-8859-1,utf-8;q=0.7,*;q=0.7">
 <cfhttpparam name="Keep-Alive"         type="header" value="300">
 <cfhttpparam name="Connection"         type="header" value="keep-alive">
 <cfhttpparam name="RETS-Version"       type="header" value="#rets_version#">
 <cfhttpparam name="Authorization"      type="header" 
value="#TheAuthorization#">
</cfhttp>

<h3>Authorization Response</h3>
<cfdump var="#cfhttp#" />

</body>
</html>

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Upgrade to Adobe ColdFusion MX7
The most significant release in over 10 years. Upgrade & see new features.
http://www.adobe.com/products/coldfusion?sdid=RVJR

Archive: 
http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:277567
Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm
Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4

Reply via email to