First let me say...you can _not_ use cfhttp with UPS. I have some CF code that uses MSXML to access their XML tracking API. The freight calculation is similar. You just need to send different XML, and use a different URL.
I haven't tested this in a little while, but it used to work fine. If it doesn't...I don't know why anymore either :) <cfsetting enablecfoutputonly="no"> <cfscript> request.lookup = structNew(); statusType = structNew(); statusType['I'] = 'In Transit'; statusType['D'] = 'Delivered'; statusType['X'] = 'Exception'; statusType['P'] = 'Pickup'; statusType['M'] = 'Manifest Pickup'; request.lookup['statusType'] = statusType; </cfscript> <cfset xmlDoc = '<TrackRequest xml:lang="en-US"> <Request> <TransactionReference> <CustomerContext>Jon</CustomerContext> <XpciVersion>1.0001</XpciVersion> </TransactionReference> <RequestAction>Track</RequestAction> <RequestOption>activity</RequestOption> </Request> <TrackingNumber>1Z6119360141730963</TrackingNumber> </TrackRequest>'> <cfset xslDoc = '<?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <TrackResponse> <xsl:for-each select="/TrackResponse/Shipment/Package/Activity"> <xsl:sort select="Date" data-type="number" order="ascending"/> <xsl:sort select="Time" data-type="number" order="ascending"/> <xsl:copy-of select="."/> </xsl:for-each> </TrackResponse> </xsl:template> </xsl:stylesheet>'> <cfscript> objXMLHTTP = CreateObject("COM", "MSXML2.ServerXMLHTTP.4.0"); //Send request to UPS objXMLHTTP.open("POST","https://www.ups.com/ups.app/xml/Track",false); objXMLHTTP.setRequestHeader("Method", "POST"); objXMLHTTP.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); objXMLHTTP.send(xmlDoc); xml = objXMLHTTP.responseXML; objXMLDOM = CreateObject("COM", "msxml2.DOMDocument.4.0"); objXMLDOM.async = false; XMLloadSuccess = objXMLDOM.load(xml); objXSLDOM = CreateObject("COM", "msxml2.DOMDocument.4.0"); objXSLDOM.async = false; XSLloadSuccess = objXSLDOM.load(xslDoc); transformedXML = objXMLDOM.transformNode(objXSLDOM); transDOM = CreateObject("COM", "msxml2.DOMDocument.4.0"); transDOM.async = false; rs = transDOM.loadXML(transformedXML); //transDOM.save("c:\websites\ups\track\sorted.xml"); </cfscript> <table bgcolor="#c0c0c0" cellspacing="1" cellpadding="3"> <cfset trackArr = arrayNew(2)> <cfset lCount = 0> <cfloop collection="#transDOM.selectNodes("/TrackResponse/Activity")#" item="i"> <cfscript> lCount = lCount + 1; upsActivity = structNew(); status = i.selectSingleNode('Status/StatusType/Code'); statusDesc = i.selectSingleNode('Status/StatusType/Description'); city = i.selectSingleNode('ActivityLocation/Address/City'); state = i.selectSingleNode('ActivityLocation/Address/StateProvinceCode'); //postalCode = i.selectSingleNode('ActivityLocation/Address/PostalCode'); countryCode = i.selectSingleNode('ActivityLocation/Address/CountryCode'); date = i.selectSingleNode('Date'); year = left(date.text,4); month = mid(date.text,5,2); day = mid(date.text,7,2); date = createDate(year,month,day); time = i.selectSingleNode('Time'); hour = left(time.text,2); minute = mid(time.text,3,2); second = mid(time.text,5,2); time = createTime(hour,minute,second); </cfscript> <cfoutput> <cfif status.text EQ 'M' OR status.text EQ 'P'> <cfscript> upsActivity.status = status.text; upsActivity.statusDesc = statusDesc.text; upsActivity.date = date; upsActivity.time = time; upsActivity.city = ''; upsActivity.state = ''; upsActivity.countryCode = ''; trackArr[lCount][1] = upsActivity; </cfscript> <tr bgcolor="ffffff" style="font-family:Arial; font-size:13px;"> <td>#dateFormat(date, 'DDDD MM/DD/YYYY')#</td> <td align="right">#timeFormat(time, 'h:MM TT')#</td> <td>#statusDesc.text#</td> <td>#request.lookup['statusType'][status.text]#</td> </tr> </cfif> <cfif status.text EQ 'I' OR status.text EQ 'D' OR status.text EQ 'X'> <cfscript> upsActivity.status = status.text; upsActivity.statusDesc = statusDesc.text; upsActivity.date = date; upsActivity.time = time; upsActivity.city = city.text; upsActivity.state = state.text; upsActivity.countryCode = countryCode.text; trackArr[lCount][1] = upsActivity; </cfscript> <tr bgcolor="ffffff" style="font-family:Arial; font-size:13px;"> <td>#dateFormat(date, 'DDDD MM/DD/YYYY')#</td> <td align="right">#timeFormat(time, 'h:MM TT')#</td> <td>#statusDesc.text#</td> <td>#city.text#</td> <td>#state.text#</td> <td>#countryCode.text#</td> <td>#request.lookup['statusType'][status.text]#</td> </tr> </cfif> </cfoutput> </cfloop> </table> <cfdump var="#trackArr#"> </body> </html> -- jon mailto:[EMAIL PROTECTED] Friday, September 20, 2002, 3:44:41 PM, you wrote: EA> Anybody have any experience using UPS's freight calculator in versions other EA> than CFMX? (I know they have a web service, but CFMX is not an option for me EA> at the moment.) ______________________________________________________________________ Get the mailserver that powers this list at http://www.coolfusion.com FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Archives: http://www.mail-archive.com/[email protected]/ Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists

