I'd bet that it's same the problem I ran into when using MSXML via 
cfobject to grab the UPS XML, which is essentially what soxml does.
CFObject apparently doesn't understand the nulls that MSXML passes back 
when an XML element is empty, and bombs. If you are running an older 
version of msxml you may want to upgrade it as 4.0 is out, that may fix 
some problems, as 4.0 is the first solid release imo.

Have you tried the cf_usps tag? It handles pretty much everything for you.
http://devex.macromedia.com/developer/gallery/info.cfm?ID=9C9C2AB9-7F93-11D5-83F300508B94F85A&method=Full

If you want to do it via soxml here is a real simple custom tag sample 
that I did that just returns the country information that usps passes 
back. Expanding upon this to do full rates would be pretty easy, but 
that's what the above tag goes anyway...

<CFPARAM NAME="attributes.userid">
<CFPARAM NAME="attributes.password">
<CFPARAM NAME="attributes.server">

<CFSCRIPT>
        services = 'PACKAGE';
        APIstr = 'IntlRate';
        XMLstr = '<IntlRateRequest USERID="#attributes.userid#" 
PASSWORD="#attributes.password#">';
        
        XMLstr = XMLstr & '<Package ID="1">
                <Pounds>0</Pounds>
                <Ounces>1</Ounces>
                <MailType>Package</MailType>
                <Country>#Attributes.country#</Country>
        </Package>';
        XMLstr = XMLstr & '</IntlRateRequest>';
</CFSCRIPT>


<CFHTTP 
URL="#attributes.server#?API=#APIstr#&XML=#urlencodedformat(XMLstr)#" 
method="GET" resolveurl="false" timeout="45">
<CFSET XMLResp = CFHTTP.FileContent>

<cf_SOXML
   action="XML2CF"
   input="#xmlResp#"
   output="countryData"
   type="Variables"
 >
<cfset caller.countryData = countryData.intlRateResponse.package>


jon

ps For anyone who cares, FEDEX is finally planning on releasing an XML 
API withing the next two months. It's already been delayed once from Q4 
2001 though, so I'm not getting my hopes up though.

Andres wrote:
> This a rather long email... 
> 
> i am trying to query the USPS international rate calculator via their 
> API. Their response is an XML document which i am parsing via SOXML. 
> This is a great tool!
> 
<snip>
> 
> CF throws an error saying that it cannot resolve the parameter 
> outhere.IntlRateResponse.Service. Even though this does exist and indeed 
> is to be an array since there are two of them.
> 
> Any help would be much appreciated!
> 
> Thank you
> 


______________________________________________________________________
Dedicated Windows 2000 Server
  PIII 800 / 256 MB RAM / 40 GB HD / 20 GB MO/XFER
  Instant Activation � $99/Month � Free Setup
  http://www.pennyhost.com/redirect.cfm?adcode=coldfusiona
FAQ: http://www.thenetprofits.co.uk/coldfusion/faq
Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/
Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists

Reply via email to