Latest News: (loading..)
greasemonkey

FedEx - Web Services v9

651 posts in this topic

How can this be happening? And, more importantly, can anyone suggest a fix? I would encourage everyone to try a similar test to make certain that the prices you are displaying have some basis in reality. Thanks.

 

Start with a call to Fedex Webservices support. It could just be the way your account is setup at their end.

 

Anyone else with this issue?

Share this post


Link to post
Share on other sites

Many thanks JOELphp, I don't have a file called purchase_ship_fedex.php... This doesn't seem to be part of the orginal mod.

 

 

 

Any thoughts?

 

Scrub your entire site for any MODULE_SHIPPING_FEDEX1_ references

any files with the old references should be updated... then apply the fixes PHPjoel suggests and test

 

 

let us know

Share this post


Link to post
Share on other sites

Does anyone have a possible solution to Fatal error: Cannot instantiate non-existent class: soapclient in /"myhost"/html/store/includes/modules/shipping/fedexwebservices.php on line 74

Share this post


Link to post
Share on other sites

Seems like the only option to get this module working in Godaddy is to get a dedicated or managed server that can cost up to $270 per month. This is because they do not allow shared servers to enable the SOAP extension.

 

Any suggestions? Is there another module?

 

Erik

Share this post


Link to post
Share on other sites

Something weird happened after almost giving up on this module and SOAP extension not supported by Godaddy. I finally decided to disable it and enable the old Fedex Module I had and surprise! everything works perfectly with the Old extension using the new information I got from Fedex.

 

(w00t) :sweating: :blink:

Share this post


Link to post
Share on other sites

http://forums.oscommerce.com/topic/375063-fedex-web-services-v9/page__view__findpost__p__1638528

 

Hi All,

 

Regarding Automated FedEX labels:

 

1. I Installed FedEx - Web Services v9 for real time quotes. Now I'm back with quotes. So far so good.

 

2. Change production server reference in fedexdc.php, and the above replacement suggestions by Joel.

 

But all I get is a broken "Astra Barcode."

 

Hope this motivates someone.

Share this post


Link to post
Share on other sites

Anyone familiar with this error and can point me toward solution:

 

</pre> --><!-- <pre>stdClass Object

(

[HighestSeverity] => ERROR

[Notifications] => stdClass Object

(

[severity] => ERROR

[source] => crs

 => 517

[Message] => A rate request requires at least one requested package line item or one freight shipment line item.

[LocalizedMessage] => A rate request requires at least one requested package line item or one freight shipment line item.

)

 

[TransactionDetail] => stdClass Object

(

[CustomerTransactionId] => *** Rate Request v9 using PHP ***

)

 

[Version] => stdClass Object

(

[serviceId] => crs

[Major] => 9

[intermediate] => 0

[Minor] => 0

)

 

)

</pre> --

Share this post


Link to post
Share on other sites

Bryant, it seems like you're missing a <ns1:RequestedPackageLineItems> section in your request.

 

Posting below is a PHP CURL implementation of a getRates request. Just replace along the tags with your corresponding info.

 

$rq = '<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://fedex.com/ws/rate/v9"><SOAP-ENV:Body>';

$rq .= '<ns1:RateRequest>';
$rq .= '<ns1:WebAuthenticationDetail>';
$rq .= '<ns1:UserCredential>';
$rq .= '<ns1:Key>'.$this->fedex_key.'</ns1:Key>';
$rq .= '<ns1:Password>'.$this->fedex_pwd.'</ns1:Password>';
$rq .= '</ns1:UserCredential>';
$rq .= '</ns1:WebAuthenticationDetail>';
$rq .= '<ns1:ClientDetail>';
$rq .= '<ns1:AccountNumber>'.$this->fedex_act_num.'</ns1:AccountNumber>';
$rq .= '<ns1:MeterNumber>'.$this->fedex_meter_num.'</ns1:MeterNumber>';
$rq .= '</ns1:ClientDetail>';
$rq .= '<ns1:TransactionDetail>';
$rq .= '<ns1:CustomerTransactionId> *** Rate Request v9 using PHP ***</ns1:CustomerTransactionId>';
$rq .= '</ns1:TransactionDetail>';
$rq .= '<ns1:Version>';
$rq .= '<ns1:ServiceId>crs</ns1:ServiceId>';
$rq .= '<ns1:Major>9</ns1:Major>';
$rq .= '<ns1:Intermediate>0</ns1:Intermediate>';
$rq .= '<ns1:Minor>0</ns1:Minor>';
$rq .= '</ns1:Version>';
$rq .= '<ns1:ReturnTransitAndCommit>true</ns1:ReturnTransitAndCommit>';
$rq .= '<ns1:RequestedShipment>';
$rq .= '<ns1:ShipTimestamp>'.date('Y-m-d\TH:i:s'.substr(date('O'), 0, 3).':'.substr(date('O'), 3)).'</ns1:ShipTimestamp>';
$rq .= '<ns1:DropoffType>'.$this->_setDropOff().'</ns1:DropoffType>';
$rq .= '<ns1:PackagingType>YOUR_PACKAGING</ns1:PackagingType>';
$rq .= '<ns1:TotalInsuredValue>';
$rq .= '<ns1:Currency>USD</ns1:Currency>';
$rq .= '</ns1:TotalInsuredValue>';
$rq .= '<ns1:Shipper>';
$rq .= '<ns1:Address>';
$rq .= '<ns1:StreetLines>'.MODULE_SHIPPING_FEDEX_WEB_SERVICES_ADDRESS_1.'</ns1:StreetLines>';
$rq .= '<ns1:StreetLines>'.MODULE_SHIPPING_FEDEX_WEB_SERVICES_ADDRESS_2.'</ns1:StreetLines>';
$rq .= '<ns1:City>'.MODULE_SHIPPING_FEDEX_WEB_SERVICES_CITY.'</ns1:City>';
$rq .= '<ns1:StateOrProvinceCode>'.MODULE_SHIPPING_FEDEX_WEB_SERVICES_STATE.'</ns1:StateOrProvinceCode>';
$rq .= '<ns1:PostalCode>'.MODULE_SHIPPING_FEDEX_WEB_SERVICES_POSTAL.'</ns1:PostalCode>';
$rq .= '<ns1:CountryCode>'.$this->country.'</ns1:CountryCode>';
$rq .= '</ns1:Address>';
$rq .= '</ns1:Shipper>';
$rq .= '<ns1:Recipient>';
$rq .= '<ns1:Address>';
$rq .= '<ns1:StreetLines/>';
$rq .= '<ns1:StreetLines/>';
$rq .= '<ns1:PostalCode>'.$pc.'</ns1:PostalCode>';
$rq .= '<ns1:CountryCode>US</ns1:CountryCode>';
$rq .= '<ns1:Residential>true</ns1:Residential>';
$rq .= '</ns1:Address>';
$rq .= '</ns1:Recipient>';
$rq .= '<ns1:ShippingChargesPayment>';
$rq .= '<ns1:PaymentType>SENDER</ns1:PaymentType>';
$rq .= '<ns1:Payor>';
$rq .= '<ns1:AccountNumber>'.$this->fedex_act_num.'</ns1:AccountNumber>';
$rq .= '<ns1:CountryCode>'.$this->country.'</ns1:CountryCode>';
$rq .= '</ns1:Payor>';
$rq .= '</ns1:ShippingChargesPayment>';
$rq .= '<ns1:RateRequestTypes>LIST</ns1:RateRequestTypes>';
$rq .= '<ns1:PackageCount>'.$shipping_num_boxes.'</ns1:PackageCount>';
$rq .= '<ns1:PackageDetail>INDIVIDUAL_PACKAGES</ns1:PackageDetail>';
for ($i=0; $i<$shipping_num_boxes; $i++) {
$rq .= '<ns1:RequestedPackageLineItems>';
$rq .= '<ns1:Weight>';
$rq .= '<ns1:Units>'.MODULE_SHIPPING_FEDEX_WEB_SERVICES_WEIGHT.'</ns1:Units>';
$rq .= '<ns1:Value>'.$shipping_weight.'</ns1:Value>';
$rq .= '</ns1:Weight>';
$rq .= '</ns1:RequestedPackageLineItems>';
}
$rq .= '</ns1:RequestedShipment>';
$rq .= '</ns1:RateRequest>';
$rq .= '</SOAP-ENV:Body></SOAP-ENV:Envelope>';

$curl = curl_init();
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_USERAGENT, "PHP-SOAP/5.3.9");
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Connection: Keep-Alive', 'Content-Type: text/xml; charset=utf-8', 'SOAPAction: "getRates"', 'Content-Length: '.strlen($rq) ));
curl_setopt($curl, CURLOPT_POSTFIELDS, $rq);
curl_setopt($curl, CURLOPT_URL, "https://gateway.fedex.com/web-services/");
$response = curl_exec($curl);
curl_close($curl);
$response = str_replace('<v9:', '<', $response);
$response = str_replace('</v9:', '</', $response);
$response = str_replace('<env:', '<', $response);
$response = str_replace('</env:', '</', $response);
$response = str_replace('<soapenv:', '<', $response);
$response = str_replace('</soapenv:', '</', $response);

$sxml = new simplexml;
$resp1 = $sxml->xml_load_string($response);
$response = $resp1->Body->RateReply;

 

 

As you've probably already noticed the lack of support for soap will pose a couple of problems - providing alternative request mechanism and a lack of soap response parser. My solution to the second problem is a couple of str_replace calls on the response and a simplexml implementation for php4 (which by default lacks an xml_load_string function which I added to have the class looking like so:

 

if(!class_exists('simplexml')) {
class simplexml {
 var $result = array();
 var $ignore_level = 0;
 var $skip_empty_values = false;
 var $php_errormsg;
 var $evalCode="";

 function curl_get_file_contents($URL)
 {
  if(ini_get('allow_url_fopen') != 1) {
   @ini_set('allow_url_fopen', '1');
  }
  if(ini_get('allow_url_fopen') != 1) {
   $c = curl_init();
   curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
   curl_setopt($c, CURLOPT_URL, $URL);
   $contents = curl_exec($c);
   curl_close($c);
  }else{
   $contents = file_get_contents($URL);
  }
  if ($contents) return $contents;
  else return FALSE;
 }


 /**
 * Adds Items to Array
 *
 * @[member='param'] int $level
 * @[member='param'] array $tags
 * @[member='param'] $value
 * @[member='param'] string $type
 */
 function array_insert($level, $tags, $value, $type)
 {
  $temp = '';
  for ($c = $this->ignore_level + 1; $c < $level + 1; $c++) {
   if (isset($tags[$c]) && (is_numeric(trim($tags[$c])) || trim($tags[$c]))) {
	if (is_numeric($tags[$c])) {
	 $temp .= '[' . $tags[$c] . ']';
	} else {
	 $temp .= '["' . $tags[$c] . '"]';
	}
   }
  }
  //Fix for getting PHP variable like string in XML node values (Contributor:Saulius Okunevicius)
  $this->evalCode .= '$this->result' . $temp . "= '" . addslashes($value) . "';//(" . $type . ")\n";
  #echo $code. "\n";
 }

 /**
 * Define the repeated tags in XML file so we can set an index
 *
 * @[member='param'] array $array
 * @[member='Return'] array
 */
 function xml_tags($array)
 { $repeats_temp = array();
  $repeats_count = array();
  $repeats = array();

  if (is_array($array)) {
   $n = count($array) - 1;
   for ($i = 0; $i < $n; $i++) {
	$idn = $array[$i]['tag'].$array[$i]['level'];
	if(in_array($idn,$repeats_temp)){
	 $repeats_count[array_search($idn,$repeats_temp)]+=1;
	}else{
	 array_push($repeats_temp,$idn);
	 $repeats_count[array_search($idn,$repeats_temp)]=1;
	}
   }
  }
  $n = count($repeats_count);
  for($i=0;$i<$n;$i++){
   if($repeats_count[$i]>1){
	array_push($repeats,$repeats_temp[$i]);
   }
  }
  unset($repeats_temp);
  unset($repeats_count);
  return array_unique($repeats);
 }


 /**
 * Converts Array Variable to Object Variable
 *
 * @[member='param'] array $arg_array
 * @[member='Return'] $tmp
 */
 function array2object ($arg_array)
 {

  if (is_array($arg_array)) {
   $keys = array_keys($arg_array);
   if(!is_numeric($keys[0])) $tmp = new SimpleXMLObject;
   foreach ($keys as $key) {
	if (is_numeric($key)) $has_number = true;
	if (is_string($key)) $has_string = true;
   }
   if (isset($has_number) and !isset($has_string)) {
	foreach ($arg_array as $key => $value) {
	 $tmp[] = $this->array2object($value);
	}
   } elseif (isset($has_string)) {
	foreach ($arg_array as $key => $value) {
	 if (is_string($key))
	 $tmp->$key = $this->array2object($value);
	}
   }
  } elseif (is_object($arg_array)) {
   foreach ($arg_array as $key => $value) {
	if (is_array($value) or is_object($value))
	$tmp->$key = $this->array2object($value);
	else
	$tmp->$key = $value;
   }
  } else {
   $tmp = $arg_array;
  }
  return $tmp; //return the object
 }

 /**
 * Reindexes the whole array with ascending numbers
 *
 * @[member='param'] array $array
 * @[member='Return'] array
 */
 function array_reindex($array)
 {
  if (is_array($array)) {
   if(count($array) == 1 && array_key_exists(0, $array)){
	return $this->array_reindex($array[0]);
   }else{
	foreach($array as $keys => $items) {
	 if (is_array($items)) {
	  if (is_numeric($keys)) {
	   $array[$keys] = $this->array_reindex($items);
	  } else {
	   $array[$keys] = $this->array_reindex(array_merge(array(), $items));
	  }
	 }
	}
   }
  }

  return $array;
 }


 /**
 * Parse the XML generation to array object
 *
 * @[member='param'] array $array
 * @[member='Return'] array
 */
 function xml_reorganize($array)
 {
  $count = count($array);
  $repeat = $this->xml_tags($array);
  $repeatedone = false;
  $tags = array();
  $k = 0;
  for ($i = 0; $i < $count; $i++) {
   switch ($array[$i]['type']) {
   case 'open':
	array_push($tags, $array[$i]['tag']);
	if ($i > 0 && ($array[$i]['tag'] == $array[$i-1]['tag']) && ($array[$i-1]['type'] == 'close'))
	$k++;
	if (isset($array[$i]['value']) && ($array[$i]['value'] || !$this->skip_empty_values)) {
	 array_push($tags, '@content');
	 $this->array_insert(count($tags), $tags, $array[$i]['value'], "open");
	 array_pop($tags);
	}

	if (in_array($array[$i]['tag'] . $array[$i]['level'], $repeat)) {
	 if (($repeatedone == $array[$i]['tag'] . $array[$i]['level']) && ($repeatedone)) {
	  array_push($tags, strval($k++));
	 } else {
	  $repeatedone = $array[$i]['tag'] . $array[$i]['level'];
	  array_push($tags, strval($k));
	 }
	}

	if (isset($array[$i]['attributes']) && $array[$i]['attributes'] && $array[$i]['level'] != $this->ignore_level) {
	 array_push($tags, '@attributes');
	 foreach ($array[$i]['attributes'] as $attrkey => $attr) {
	  array_push($tags, $attrkey);
	  $this->array_insert(count($tags), $tags, $attr, "open");
	  array_pop($tags);
	 }
	 array_pop($tags);
	}
	break;

   case 'close':
	array_pop($tags);
	if (in_array($array[$i]['tag'] . $array[$i]['level'], $repeat)) {
	 if ($repeatedone == $array[$i]['tag'] . $array[$i]['level']) {
	  array_pop($tags);
	 } else {
	  $repeatedone = $array[$i + 1]['tag'] . $array[$i + 1]['level'];
	  array_pop($tags);
	 }
	}
	break;

   case 'complete':
	array_push($tags, $array[$i]['tag']);
	if (in_array($array[$i]['tag'] . $array[$i]['level'], $repeat)) {
	 if ($repeatedone == $array[$i]['tag'] . $array[$i]['level'] && $repeatedone) {
	  array_push($tags, strval($k));
	 } else {
	  $repeatedone = $array[$i]['tag'] . $array[$i]['level'];
	  array_push($tags, strval($k));
	 }
	}

	if (isset($array[$i]['value']) && ($array[$i]['value'] || !$this->skip_empty_values)) {
	 if (isset($array[$i]['attributes']) && $array[$i]['attributes']) {
	  array_push($tags, '@content');
	  $this->array_insert(count($tags), $tags, $array[$i]['value'], "complete");
	  array_pop($tags);
	 } else {
	  $this->array_insert(count($tags), $tags, $array[$i]['value'], "complete");
	 }
	}

	if (isset($array[$i]['attributes']) && $array[$i]['attributes']) {
	 array_push($tags, '@attributes');
	 foreach ($array[$i]['attributes'] as $attrkey => $attr) {
	  array_push($tags, $attrkey);
	  $this->array_insert(count($tags), $tags, $attr, "complete");
	  array_pop($tags);
	 }
	 array_pop($tags);
	}

	if (in_array($array[$i]['tag'] . $array[$i]['level'], $repeat)) {
	 array_pop($tags);
	 $k++;
	}

	array_pop($tags);
	break;
   }
  }
  eval($this->evalCode);
  $last = $this->array_reindex($this->result);
  return $last;
 }

 /**
 * Get the XML contents and parse like SimpleXML
 *
 * @[member='param'] string $file
 * @[member='param'] string $resulttype
 * @[member='param'] string $encoding
 * @[member='Return'] array/object
 */
 function xml_load_file($file, $resulttype = 'object', $encoding = 'UTF-8')
 {

  $php_errormsg="";
  $this->result="";
  $this->evalCode="";
  $values="";

  $data = $this->curl_get_file_contents($file);

  if (!$data){
   return 'Cannot open xml document: ' . (isset($php_errormsg) ? $php_errormsg : $file);
  }

  $parser = xml_parser_create($encoding);
  xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0);
  xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 1);
  $ok = xml_parse_into_struct($parser, $data, $values);
  if (!$ok) {
   $errmsg = sprintf("XML parse error %d '%s' at line %d, column %d (byte index %d)",
   xml_get_error_code($parser),
   xml_error_string(xml_get_error_code($parser)),
   xml_get_current_line_number($parser),
   xml_get_current_column_number($parser),
   xml_get_current_byte_index($parser));
  }
  xml_parser_free($parser);
  if (!$ok)
  return $errmsg;
  if ($resulttype == 'array')
  return $this->xml_reorganize($values);
  // default $resulttype is 'object'
  return $this->array2object($this->xml_reorganize($values));
 }

 function xml_load_string($string, $resulttype = 'object', $encoding = 'UTF-8')
 {

  $php_errormsg="";
  $this->result="";
  $this->evalCode="";
  $values="";

  $data = $string;

  if (!$data){
   return 'Cannot open xml document: ' . (isset($php_errormsg) ? $php_errormsg : $file);
  }

  $parser = xml_parser_create($encoding);
  xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0);
  xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 1);
  $ok = xml_parse_into_struct($parser, $data, $values);
  if (!$ok) {
   $errmsg = sprintf("XML parse error %d '%s' at line %d, column %d (byte index %d)",
   xml_get_error_code($parser),
   xml_error_string(xml_get_error_code($parser)),
   xml_get_current_line_number($parser),
   xml_get_current_column_number($parser),
   xml_get_current_byte_index($parser));
  }
  xml_parser_free($parser);
  if (!$ok)
  return $errmsg;
  if ($resulttype == 'array')
  return $this->xml_reorganize($values);
  // default $resulttype is 'object'
  return $this->array2object($this->xml_reorganize($values));
 }
}
}

Edited by TpEnEpETE

Share this post


Link to post
Share on other sites
Hi All,

 

Regarding Automated FedEX labels:

 

1. I Installed FedEx - Web Services v9 for real time quotes. Now I'm back with quotes. So far so good.

 

2. Change production server reference in fedexdc.php, and the above replacement suggestions by Joel.

 

But all I get is a broken "Astra Barcode."

 

Hope this motivates someone.

 

After chasing my tail all day Friday I left this over the weekend... and came back this morning to start fresh, reloaded my orginal back up's of fedexdc and ship_fedex... and guess what.... Its working??????????????? No changes from the orginal????

 

It would seem Fedex has put the old API back online. For now.... So I have the org realtime quotes installed, but deactivated, with the org meter number.

 

I'm sure this is temporary, so I'm going to still work towards a webservices solution.

Share this post


Link to post
Share on other sites

Upgraded from the API to the new Fedex webservices V9.4.2, last updated: 5/20/2012 - by Roaddoctor. Checked and double-checked everything over and over again. SOAP and openSSL both running just fine on my Apache. All files in their proper locations with proper access rights. Ensured that old module was disabled and gone. Test Vs. Production credentials.

 

Always getting the same error:

 

PHP Fatal error: Call to a member function MoveNext() on a non-object in {full path edited-out}/includes/modules/shipping/fedexwebservices.php on line 51, referer: /store/checkout_shipping_address.php

I was getting a blank screen on some browsers (i.e. Safari) and a server 500 on others (i.e. Chrome).

 

Clearly, script wasn't even going out to FedEx.

 

Then I compared the new /includes/modules/shipping/fedexwebservices.php with the previous version's /includes/modules/shipping/fedex1.php and quickly realized that the offending line 51, namely $check->MoveNext(); was missing from the fedexwebservices.php.

 

I commented out that line and peace is back into the jungle :)

 

Just curious at this point: Anyone knows what that line does and why it was added in this rendition? What possibly, do you think, force a crash on my server as a result of that line?

 

Thank you all for your contributions and great work!

Share this post


Link to post
Share on other sites

I have recoded fedex labels to work with the new system if anyone needs help you can PM me.

 

post to the contributions!, or if its simple mods, post it here. Thanks for the efforts!

Share this post


Link to post
Share on other sites

Upgraded from the API to the new Fedex webservices V9.4.2, last updated: 5/20/2012 - by Roaddoctor. Checked and double-checked everything over and over again. SOAP and openSSL both running just fine on my Apache. All files in their proper locations with proper access rights. Ensured that old module was disabled and gone. Test Vs. Production credentials.

 

Always getting the same error:

 

PHP Fatal error: Call to a member function MoveNext() on a non-object in {full path edited-out}/includes/modules/shipping/fedexwebservices.php on line 51, referer: /store/checkout_shipping_address.php

I was getting a blank screen on some browsers (i.e. Safari) and a server 500 on others (i.e. Chrome).

 

Clearly, script wasn't even going out to FedEx.

 

Then I compared the new /includes/modules/shipping/fedexwebservices.php with the previous version's /includes/modules/shipping/fedex1.php and quickly realized that the offending line 51, namely $check->MoveNext(); was missing from the fedexwebservices.php.

 

I commented out that line and peace is back into the jungle :)

 

Just curious at this point: Anyone knows what that line does and why it was added in this rendition? What possibly, do you think, force a crash on my server as a result of that line?

 

Thank you all for your contributions and great work!

 

 

It's a Zen Cart function. You can comment that line out. If it works without it, then you can leave as is.

In Zen, the $check->MoveNext(); function is something that will cause the while loop to move to the next iteration of the MYSQL object. I'm not sure how we do that with osCommerce, but I don't think that line is needed in oscommerce... someone smarter than me provided this answer. :) - Thanks jeff lew

Share this post


Link to post
Share on other sites

Can someone here please point me in the right direction to get this contribution working?

We fould out through a customer that our site was no longer working, and discovered that FedEx had cut off api support -shame on me for not keeping up to date.

So here I am trying to get my site up and running using this WebServices add on.

I am running this on php 5.2.17, have run the soap test with a positive result. I have uploaded all of the files, set up a new production key with FedEx, read this tread about 6 times, and eight hours later i am still getting an "error in processing transaction" message when trying to check out.

Any advice as to where to head from here?

Share this post


Link to post
Share on other sites

Does anyone dealing with this problem using ColdFusion? I am using ColdFusion MX7 which using legacy code with CF tags. I am new to using webservices with ColFusion. Any hints greatly appreciated. I really need to understand how I start this rebuilding process. Thanks!

Edited by rada

Share this post


Link to post
Share on other sites

Can someone here please point me in the right direction to get this contribution working?

We fould out through a customer that our site was no longer working, and discovered that FedEx had cut off api support -shame on me for not keeping up to date.

So here I am trying to get my site up and running using this WebServices add on.

I am running this on php 5.2.17, have run the soap test with a positive result. I have uploaded all of the files, set up a new production key with FedEx, read this tread about 6 times, and eight hours later i am still getting an "error in processing transaction" message when trying to check out.

Any advice as to where to head from here?

 

assuming your installing 9.4.2, then you would only need to review this forum thread for posts Posted 20 May 2012, 12:54 or later. It's working well for most. Is your account with fedex enabled for online quotes? There is debug code within fedexwebservices.php that may help.... any errors?

What version of osCommerce?

Share this post


Link to post
Share on other sites

Does anyone dealing with this problem using ColdFusion? I am using ColdFusion MX7 which using legacy code with CF tags. I am new to using webservices with ColFusion. Any hints greatly appreciated. I really need to understand how I start this rebuilding process. Thanks!

- I think I am in the wrong forum...

Share this post


Link to post
Share on other sites

Thanks for replying, David.

I am running OsC 2.2 RC2 and trying to install ver. 9.4.2.

We have been working with FedEx for years and never had a problem with online quotes with FedEx1.

I have called fedEx and confirmed that everything is set up correctly on their end.

 

I do see that this is working well for many people, which if what is really frustrating. I just don't understand what I have done wrong. I have looked in the error log, but there do not seem to be any updated errors as I try to checkout.

Not sure about the debug code -can't seem to find that.

Thanks again for your help

Share this post


Link to post
Share on other sites

I did find the following errors listed in the error log. Am I missing something here? To me it seems that I am missing some files that were not included in the contribution download.

 

Thanks again. Ray

 

[Wed Jun 13 15:46:23 2012] [error] [client 71.181.127.154] FastCGI: server "/web/squaredealfarm.org/fcgi/php-fcgi" stderr: PHP Warning: include(includes/languages/english/modules/shipping/fedexwebservices.php) [<a href='function.include'>function.include</a>]: failed to open stream: No such file or directory in /web/squaredealfarm.org/www/osCommerce/catalog/includes/classes/shipping.php on line 36, referer: https://squaredealfarm.org/osCommerce/catalog/checkout_shipping.php?osCsid=omt3a25oger684tsnp1bqf3lb4

[Wed Jun 13 15:46:23 2012] [error] [client 71.181.127.154] FastCGI: server "/web/squaredealfarm.org/fcgi/php-fcgi" stderr: PHP Warning: include() [<a href='function.include'>function.include</a>]: Failed opening 'includes/languages/english/modules/shipping/fedexwebservices.php' for inclusion (include_path='.:/usr/local/share/pear') in /web/squaredealfarm.org/www/osCommerce/catalog/includes/classes/shipping.php on line 36, referer: https://squaredealfarm.org/osCommerce/catalog/checkout_shipping.php?osCsid=omt3a25oger684tsnp1bqf3lb4

[Wed Jun 13 15:46:23 2012] [error] [client 71.181.127.154] FastCGI: server "/web/squaredealfarm.org/fcgi/php-fcgi" stderr: PHP Warning: include(includes/modules/shipping/fedexwebservices.php) [<a href='function.include'>function.include</a>]: failed to open stream: No such file or directory in /web/squaredealfarm.org/www/osCommerce/catalog/includes/classes/shipping.php on line 37, referer: https://squaredealfarm.org/osCommerce/catalog/checkout_shipping.php?osCsid=omt3a25oger684tsnp1bqf3lb4

[Wed Jun 13 15:46:23 2012] [error] [client 71.181.127.154] FastCGI: server "/web/squaredealfarm.org/fcgi/php-fcgi" stderr: PHP Warning: include() [<a href='function.include'>function.include</a>]: Failed opening 'includes/modules/shipping/fedexwebservices.php' for inclusion (include_path='.:/usr/local/share/pear') in /web/squaredealfarm.org/www/osCommerce/catalog/includes/classes/shipping.php on line 37, referer: https://squaredealfarm.org/osCommerce/catalog/checkout_shipping.php?osCsid=omt3a25oger684tsnp1bqf3lb4

[Wed Jun 13 15:46:23 2012] [error] [client 71.181.127.154] FastCGI: server "/web/squaredealfarm.org/fcgi/php-fcgi" stderr: PHP Fatal error: Class 'fedexwebservices' not found in /web/squaredealfarm.org/www/osCommerce/catalog/includes/classes/shipping.php on line 39, referer: https://squaredealfarm.org/osCommerce/catalog/checkout_shipping.php?osCsid=omt3a25oger684tsnp1bqf3lb4

Share this post


Link to post
Share on other sites

post to the contributions!, or if its simple mods, post it here. Thanks for the efforts!

 

Yes, please post to the contribution: http://www.oscommerce.com/community/contributions,2244

 

You would be helping a lot of people. I'm surprised I haven;lt yet found a fix. It would save me some money, too, since I have it our for bid at: http://www.freelancer.com/projects/PHP-Javascript/Fedex-Automated-Label-for-oscommerce.1685280.html

 

I'd post it for free.

 

Thx.

 

Martin

Share this post


Link to post
Share on other sites

post to the contributions!, or if its simple mods, post it here. Thanks for the efforts!

 

Please. please can we get a post of an updated Automated FedEx Labels?

Share this post


Link to post
Share on other sites

Hi - I installed the latest version of the FedEx Web Services module today on my OSC 2.2 store and am getting a WSOD at the checkout_shipping.php page with the module enabled. Here is what the logs say:

 

[Thu Jun 14 08:24:03 2012] [error] [client 168.215.110.202] PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20060613/uploadprogress.so' - /usr/lib/php5/20060613/uploadprogress.so: cannot open shared object file: No such file or directory in Unknown on line 0, referer: https://mysite.com/checkout_shipping.php

 

It seems that the page is attempting to call to a PHP module that is not installed on the server, but why on earth is the FedEx module calling the uploadprogress module? We have APC installed for upload progress status.

 

Any ideas?

Share this post


Link to post
Share on other sites

Please. please can we get a post of an updated Automated FedEx Labels?

 

If you reinstall the FedEx module that was working, the labels print out just fine. Just set the 1st option to false and you're set.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now