Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

New UPS XML Shipping Module available


Recommended Posts

Hi, I have checked the log, the price is show more than one,

but some of the price is no price. the ups xml show the no price here,

how can I fix it

How can we tell if we can't understand what the problem is. "Some of the price is no price"? What do you mean by that? Perhaps a screenshot could help with that, or posting the response of the UPS server with a text description of what exactly appears on the page?
Link to comment
Share on other sites

Hi there,

 

Hope someone can help with this. International shipping was working fine as of 6pm EST last night. Now I'm getting an error:

 

Fatal error: Cannot use string offset as an array

 

It's referring to line 346 in the upsxml.php

 

This only happens with international shipping. All US orders are fine. All zones are set to none.

 

I am using the most recent version 1.2.6

 

Any ideas, why it would all of a sudden stop working??

 

TIA,

 

Katrina

Link to comment
Share on other sites

Hope someone can help with this. International shipping was working fine as of 6pm EST last night. Now I'm getting an error:

 

Fatal error: Cannot use string offset as an array

 

It's referring to line 346 in the upsxml.php

 

This only happens with international shipping. All US orders are fine. All zones are set to none.

 

I am using the most recent version 1.2.6

 

Any ideas, why it would all of a sudden stop working??

I have no clue. Tried this myself, shipping from the US to the Netherlands and I get four shipping methods (using the test server): UPS Worldwide Express, Worldwide Express Plus, Worldwide Expedited and Saver. When I check the log that is written I notice that UPS gives the EDD for UPS Saver with the name UPS Worldwide Saver. This is not according to their documentation because indeed the Rates come back as service 65 with is UPS Saver. The trouble with that is that Time in Transit part does not recognize that UPS Saver == UPS Worldwide Saver so doesn't show the EDD. :angry:

 

The only option left I think is that you log what the UPS response is for Time in Transit (because there is where the error seems to be) when that error occurs.

Link to comment
Share on other sites

The trouble with that is that Time in Transit part does not recognize that UPS Saver == UPS Worldwide Saver so doesn't show the EDD.
A hack to get that recognized is to change the function _transitparseResult($xmlTransitResult).

 

Around line 1111 you should find: $serviceDesc = $serviceSummary[$s]->getValueByPath("Service/Description"); After that add:

// hack to get EDD for UPS Saver recognized (Time in Transit uses UPS Worldwide Saver
				// but the service in Rates and Services is called UPS Saver)
				if ($serviceDesc == "UPS Worldwide Saver") {
				  $serviceDesc = "UPS Saver";
				}

Link to comment
Share on other sites

Hello,

 

I am trying to get the UPS modual working. I have the XML Access Code from UPS. I am on a GoDaddy.com Linux paid hosting account. I have added the "fix" for Godaddy.com which stopped the Error [28] from coming up. I have also changed line 74 as suggested. But I am getting an Error [7], a TimeInTransit Error, and a Rates Error. They (the error e-mails) are listed below. Please help!

 

I get the following e-mail errors:

 

e-mail

Error from cURL: Error [7]: socket error: 110 experienced by customer with id 2 on 2007-02-13 19:50:50

 

e-mail

UPSXML TimeInTransit Error: : experienced by customer with id 2 on 2007-02-13 19:50:50

 

e-mail

Error from cURL: Error [7]: socket error: 110 experienced by customer with id 2 on 2007-02-13 19:53:59

 

e-mail #4

UPSXML Rates Error:

 

Rating and Service

1.0001

 

0

An unknown error occured while attempting to contact the UPS gateway

:

 

Rating and Service

1.0001

 

0

An unknown error occured while attempting to contact the UPS gateway

experienced by customer with id 2 on 2007-02-13 19:54:00

Link to comment
Share on other sites

A hack to get that recognized is to change the function _transitparseResult($xmlTransitResult).

 

Around line 1111 you should find: $serviceDesc = $serviceSummary[$s]->getValueByPath("Service/Description"); After that add:

// hack to get EDD for UPS Saver recognized (Time in Transit uses UPS Worldwide Saver
				// but the service in Rates and Services is called UPS Saver)
				if ($serviceDesc == "UPS Worldwide Saver") {
				  $serviceDesc = "UPS Saver";
				}

 

 

Hi Jan,

 

Thanks for your help and the quick reply. I tried your suggestion and it didn't work. I commented out the area of code between the

" // BOF Time In Transit: comment out this section if you don't want/need to have

// expected delivery dates"

and

" // EOF Time In Transit ".

 

With that commented out it works again.

 

I also turned on the error logging and this is what is written to the file:

 

2007-02-13 22:21:12 TimeInTransit 270013: Invalid Shipment Contents Value

 

So, it's definately a problem with the Time In Transit.

 

FYI - We are using dimensional support.

 

Any ideas??

 

Thanks again,

 

Katrina

Link to comment
Share on other sites

I tried your suggestion and it didn't work.
That piece of code was not meant to correct the error you experience.

 

From the error code it seems that either the currency is missing (unlikely) or the value of the (or one of the) package(s). Those two things seem to be able to trigger that error.

 

From the UPS docs this is for example a part of the XML message that is sent to UPS and contains those two things:

<InvoiceLineTotal> 
 <CurrencyCode>USD</CurrencyCode> 
 <MonetaryValue>250.00</MonetaryValue> 
 </InvoiceLineTotal>

You have to enable complete logging (see line 91 in upsxml.php, the shipping file) to see what is sent out in your case. The maximum value is 999999999.99 so that shouldn't be the problem.

Link to comment
Share on other sites

I am trying to get the UPS modual working. I have the XML Access Code from UPS. I am on a GoDaddy.com Linux paid hosting account. I have added the "fix" for Godaddy.com which stopped the Error [28] from coming up. I have also changed line 74 as suggested. But I am getting an Error [7], a TimeInTransit Error, and a Rates Error. They (the error e-mails) are listed below.
CURL error 7 is Failed to connect() to host or proxy. so it seems that your fix is not working or incomplete. Ask Godaddy if they have more info. You are surely not the first one to have this problem.
Link to comment
Share on other sites

Hi Jan,

 

Thanks again for your help.

After a bit of messing around with the path for the logging, I finally got it to write to the file.

 

That value is coming up as 0.

 

<InvoiceLineTotal>

<CurrencyCode>USD</CurrencyCode>

<MonetaryValue>0</MonetaryValue>

</InvoiceLineTotal>

 

Interesting thing is it's coming up 0 for both shipping within US and outside of US. But, when shipping within US the quote comes through and when shipping outside of US, it won't.

 

Any suggestions as to why it would come up 0?

 

BTW... I'm only adding 1 item to the cart while testing this.

 

Thanks again,

 

Katrina

Edited by kcornell
Link to comment
Share on other sites

Hello,

 

I am trying to install 2 copies of the UPSXML module.

 

I need an extra copy so that I can have different settings for different zones (if there is an easier way to do this, please come forward).

 

I changed the file names, renamed the classes and some functions that were causing errors.

 

Now when I go to admin, I have a shipping module with no name (just blank). I managed to install it and set it up. It looks good other than the blank name.

 

The problem is on the side store, it seems as if the module doesn't exist. It doesn't show during checkout.

 

Is there a way to install a seconde UPSXML? Can anyone help me with this? Has it been done before?

 

Thanks in advance!

Link to comment
Share on other sites

Hello All:

 

A bit of an urgent request:

 

I had this modle installed for a client WITHOUT dimensions support. he kept getting really bad quotes, then I decided to install the Dimensions Suport off the latest files (1.2.6). Everything seemed to go ok EXCEPT that the PACKAGING FORM under the TOOLS

does not work. When I clik on the "NEW PACKAGE" button, nothing happens. The url shows without sessions (good) and it seems the form itself just does not get loaded, just the same screen.

 

 

I have double checked avary file, every modification as indiacted in the Dimensions.txt support and no luck.

 

Any hits at why this may be happening?

 

Thanks

Link to comment
Share on other sites

Hello All:

 

A bit of an urgent request:

 

I had this modle installed for a client WITHOUT dimensions support. he kept getting really bad quotes, then I decided to install the Dimensions Suport off the latest files (1.2.6). Everything seemed to go ok EXCEPT that the PACKAGING FORM under the TOOLS

does not work. When I clik on the "NEW PACKAGE" button, nothing happens. The url shows without sessions (good) and it seems the form itself just does not get loaded, just the same screen.

I have double checked avary file, every modification as indiacted in the Dimensions.txt support and no luck.

 

Any hits at why this may be happening?

 

Thanks

 

I thought maybe this was as a result of having the REGISTER GLOBALS fix contribution, so I changed the $_POST and $_GET for $HTTP_POST_VARS, $HTTP_GET_VARS in the packaging.php file...

 

Same problem.

Edited by canary100
Link to comment
Share on other sites

When I clik on the "NEW PACKAGE" button, nothing happens. The url shows without sessions (good) and it seems the form itself just does not get loaded, just the same screen.

I have double checked avary file, every modification as indiacted in the Dimensions.txt support and no luck.

Never heard of this one before. The url should show up as: blabla/packaging.php?Action=shownewpackageform

 

The form shows up in the right column. On second thought it might be a register globals thing. The code says:

// ********* Display Packages
DisplayPackages($activeid, $error);
switch ($Action) {
case "shownewpackageform":
showNewPackageForm();
break;

But if register globals is off $Action is not a global but should be used with $_GET['Action']. Try that I would say.

Link to comment
Share on other sites

This seems like a great module though I have yet to make it appear in the store when checking out. I loaded all the files in the appropriate locations and updated the various files per the directions. I am also using godaddy so I updated the curl section as well. I have not set up the dimensions portion of the module. I don't believe I will be using that.

 

I do not receive an error. I just don't get any shipping options in the store when UPS XML is the only shipping option in the admin tool selection. If I choose an item like flat rate I do get that option to appear in the store. The admin tool appears to be operating properly. I updated it with he appropriate settings and with the xml access code and log in id and pwd.

 

Any idea on what I missed. My next step will be to start over and see if following the directions again yields a better result.

 

Thanks in advance!

Link to comment
Share on other sites

UPdate to my post above. I found another post in another topic that indicated I should set my Shipping Zone to --None---. I did this. When I went to test the checkout for the store, the page sat for a long time "thinking". After about a minute or so it loaded a blank page. I have turned on the logging feature but nothing has been written to the file.

 

I did get these errors from UPS. Guess I need to go look at the Curl Updates again.

 

1st Error---------

UPSXML Rates Error:

 

Rating and Service

1.0001

 

0

An unknown error occured while attempting to contact the UPS gateway

:

 

Rating and Service

1.0001

 

0

An unknown error occured while attempting to contact the UPS gateway

experienced by customer with id 3 on 2007-02-27 05:22:09

 

2nd Error----------

Error from cURL: Error [28]: connect() timed out! experienced by customer with id 3 on 2007-02-27 05:23:10

 

Thanks again for any help.

Link to comment
Share on other sites

Godaddy is rather special using cURL. In the previous page there was post that mentioned that an IP-address has changed. Could it be that?

 

Thanks for the link JanZ,

 

I'm having the same error (again). I have applied the fix and thought I had it solved, but went to place an order and received the error again. I will try changing the IP-address in upsxml.php; but can someone tell me where the user found this information? I'll post back with the results...

We see our customers as invited guests to a party, and we are the hosts. It's our job every day to make every important aspect of the customer experience a little bit better. - Jeff Bezos

Link to comment
Share on other sites

Thanks for the link JanZ,

 

I'm having the same error (again). I have applied the fix and thought I had it solved, but went to place an order and received the error again. I will try changing the IP-address in upsxml.php; but can someone tell me where the user found this information? I'll post back with the results...

 

 

That was it! I have tested and changing that cURL location seems to work (fingers crossed). Maybe this should be added in the UPS XML Rates Instructions or as an add-on? I will be happy to do that, is it okay to add some text directions and add to the UPS XML contrib page? Is that bad form?

We see our customers as invited guests to a party, and we are the hosts. It's our job every day to make every important aspect of the customer experience a little bit better. - Jeff Bezos

Link to comment
Share on other sites

That was it! I have tested and changing that cURL location seems to work (fingers crossed). Maybe this should be added in the UPS XML Rates Instructions or as an add-on? I will be happy to do that, is it okay to add some text directions and add to the UPS XML contrib page? Is that bad form?
If you do it correctly it is not bad form. Some people add changes to a contribution but don't update the list of changes or change the install instructions but not the "ready" page. That causes trouble.

 

When you are at it, please change in admin/packaging.php this part around line 100:

// ********* Display Packages
DisplayPackages($activeid, $error);
switch ($Action) {

to:

// ********* Display Packages
DisplayPackages($activeid, $error);
switch ($_GET['Action']) {

It is a minor error (causing major problems), but not everyone will find the cause when it happens to him/her.

Link to comment
Share on other sites

I installed this module a year or so ago but the store owner decided not to use it, so I used the remove button in the admin panel to take it out. I had tested the system and everything was working correctly. Now, the store owner wants to use it. When I click the install button in the admin panel, nothing happens. The page refreshes and the install button is still there. I do not think this is a problem with the module. I remember having problems saving data in the admin panel and having to enter the information into the database to make changes. Does anyone know what the cause of the problem may be? OR can someone point me in the direction of manually turning this module on.

Link to comment
Share on other sites

When I click the install button in the admin panel, nothing happens. The page refreshes and the install button is still there. I do not think this is a problem with the module. I remember having problems saving data in the admin panel and having to enter the information into the database to make changes. Does anyone know what the cause of the problem may be? OR can someone point me in the direction of manually turning this module on.
I guess it has been answered about a 100 times now but I'm not in the mood to look for it. I guess you are referring to the problem in admin/modules.php. From the top of my head the problem is with this piece of code:

  if (tep_not_null($action)) {
switch ($action) {
  case 'save':
	while (list($key, $value) = each($HTTP_POST_VARS['configuration'])) {

Changing the last line to this will probably fix it:

	  foreach($_POST['configuration'] as $key => $value) {

While you are at you should update UPS XML though (remove, upload the new shipping/upsxml.php file and do "install").

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...