I'm trying to use Fedex's rating webservices (v5) with CF8. I've only used
webservices that I have created before, so this is a little new to me. I've
tried using cfinvoke and createObject("webservice"). I've sent across
structures and straight xml as well. None of those worked. I always get the
"Web service operation getRates with parameters { <lots of stuff> } cannot
be found." The only way I've been able to get something to work is using
cfhttp to POST the XML I've generated from Web Services Explorer in Eclipse.
I'm posting that data to the ServicePort address from the wsdl. I'm curious
to see if anyone else has dealt with Fedex's webservices before and what
solutions they came up with. I'm probably doing something wrong, here is the
way I thought it would work:

<cfset WebAuthenticationDetail = structnew()>
<cfset WebAuthenticationDetail.UserCredential.Key = "#my_key#">
<cfset WebAuthenticationDetail.UserCredential.Password = "#my_password#">

<cfset ClientDetail = structnew()>
<cfset ClientDetail.AccountNumber = "#my_accountnumber#">
<cfset ClientDetail.MeterNumber = "#my_meternumber#">

<cfset TransactionDetail = structnew()>
<cfset TransactionDetail.CustomerTransactionId = "My Test">

<cfset VersionId = structnew()>
<cfset VersionId.ServiceId = "crs">
<cfset VersionId.Major = 5>
<cfset VersionId.Intermediate = 0>
<cfset VersionId.Minor = 0>

<cfset RequestedShipment = structnew()>

<cfset RequestedShipment.Shipper.Address.StreetLines = "1915 Vaughn Rd">
<cfset RequestedShipment.Shipper.Address.City = "Kennesaw">
<cfset RequestedShipment.Shipper.Address.StateOrProvinceCode = "GA">
<cfset RequestedShipment.Shipper.Address.PostalCode = "30144">
<cfset RequestedShipment.Shipper.Address.CountryCode = "US">

<cfset RequestedShipment.Recipient.Address.StreetLines = "123 North St">
<cfset RequestedShipment.Recipient.Address.City = "Kennesaw">
<cfset RequestedShipment.Recipient.Address.StateOrProvinceCode = "GA">
<cfset RequestedShipment.Recipient.Address.PostalCode = "30144">
<cfset RequestedShipment.Recipient.Address.CountryCode = "US">

<cfset RequestedShipment.PackageDetail = "INDIVIDUAL_PACKAGES">

<cfset RequestedShipment.RequestedPackages.Weight.Value = 2>
<cfset RequestedShipment.RequestedPackages.Weight.Units = 'LB'>

<cfset RateRequest = structNew()>
<cfset RateRequest.WebAuthentcationDetail = #WebAuthenticationDetail#>
<cfset RateRequest.ClientDetail = #ClientDetail#>
<cfset RateRequest.Version = #VersionId#>
<cfset RateRequest.RequestedShipment = #RequestedShipment#>

<cfinvoke webservice="http://localhost:8500/fedex/RateService_v5.wsdl";
    method="getRates"
    returnvariable="theResults">
    <cfinvokeargument name="RateRequest" value="#RateRequest#" />
</cfinvoke>

That is the same info that is in the XML data I sent with the cfhttp POST.

Thanks,
Kevin



-------------------------------------------------------------
To unsubscribe from this list, manage your profile @ 
http://www.acfug.org?fa=login.edituserform

For more info, see http://www.acfug.org/mailinglists
Archive @ http://www.mail-archive.com/discussion%40acfug.org/
List hosted by http://www.fusionlink.com
-------------------------------------------------------------

Reply via email to