close ad
Help us test the new Databridge BETA with MySQLi support
open ad
View Menu

Technical Support Forums

Free, outstanding support from WebAssist and your colleagues

rating

USPS shipping quote failure- Service

Thread began 10/27/2009 8:33 pm by kate387699 | Last modified 10/30/2009 7:40 pm by Eric Mittman | 2297 views | 8 replies |

kate387699

USPS shipping quote failure- Service

I am getting this message when trying to get a USPS quote.
Rate_Respond.;clsRateV3.UnpackRateNode;SOLServerRates.RateV3_Respond - Missing value for Service.
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
<link href="WA_eCart/CSS/eC_Simple_DesertSpice_Arial.css" rel="stylesheet" type="text/css" />
</head>

<body>
<div class="eC_Simple_DesertSpice_Arial" >
<h2>Shipping Quote Failed</h2>
<h3 class="eC_InfoHeader" >We're sorry</h3>
<div class="eC_InfoContainer" >
<p class="eC_OrderInfo">Rate_Respond.;clsRateV3.UnpackRateNode;SOLServerRates.RateV3_Respond - Missing value for Service. </p>
</div>
</div>

</body>
</html>

I have followed all the standard settings, using Priority mail. I have entered the weight as 1.4 (lbs. and oz.) I entered the initial value as the 1.4. I have no idea what this message means. I have gone in and it is properly connecting to the production server for USPS. I have also tried it with the secure server setting for USPS and I don't get that message, but it produces a DoAuth message. USPS is telling me it is on the software end and not on their end.

The ecart USPS php file is attached.

Please advise
Kate

Attached Files
USPSphp.txt
Sign in to reply to this post

Eric Mittman

The error appears to be saying that you have not provided the service code. What value have you specified for this in your USPS shipping quote server behavior? This should be the first value in the interface for the Service Type.

Also, on the page that you are getting this error on please expand the bindings for the USPS values and find the full request and full response bindings. Place these on the page then test it again. This way we can see what was sent to USPS and the result they returned. Please post back with this info so that we can help figure out what is going wrong.

Sign in to reply to this post

kate387699

Verification

Thank you for looking at this - I am sorry if these are going to be "stupid" questions but I just want to provide you with the correct information:
1- The service code - are you talking about what type of service am I choosing when I am using the checkout wizard? I chose USPS - and Priority Mail as the service type. Is there someplace else I am supposed to enter some type of code? I am merely using the wizard, and filling in the information. I have done this in service type First Class just to see if it was a priority only issue and it came up with the same message. No matter which option I choose for service it comes up with the same error message. When I look at the code in the USPS shipping .php file it shows it as the right code. (I attached it to my initial posting).

2- I am not exactly sure (again sorry) what this means that you asked me to do: "Also, on the page that you are getting this error on please expand the bindings for the USPS values and find the full request and full response bindings. Place these on the page then test it again." What bindings am I expanding? (are these an option on the screen when I use the wizard?) Where are the bindings?

Again - I apologize for my stupidity with this. If you could give me a few more instructions as to how to expand them and where to find that information I will gladly do that. I have never set up a USPS ship before with this software. I just purchased it about a month ago or less.

In the meantime I will play around to locate and identify what you are asking me for.

Sign in to reply to this post

kate387699

OK

Ok Eric:
I found the bindings you were referring to and here is what I am getting in response:
Error Message: The first is the description, the second is the request error and the third is the response error. Let me know if there are other bindings you want me to add.

Rate_Respond.;clsRateV3.UnpackRateNode;SOLServerRates.RateV3_Respond - Missing value for Service. API=RateV3&XML=132201315916REGULAR-2147219101Rate_Respond.;clsRateV3.UnpackRateNode;SOLServerRates.RateV3_RespondMissing value for Service.1000440

Here is the page source code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
<link href="WA_eCart/CSS/eC_Simple_DesertSpice_Arial.css" rel="stylesheet" type="text/css" />
</head>

<body>
<div class="eC_Simple_DesertSpice_Arial" >
<h2>Shipping Quote Failed</h2>
<h3 class="eC_InfoHeader" >We're sorry</h3>
<div class="eC_InfoContainer" >
<p class="eC_OrderInfo">Rate_Respond.;clsRateV3.UnpackRateNode;SOLServerRates.RateV3_Respond - Missing value for Service. API=RateV3&XML=<RateV3Request USERID="627CARDA3990"><Package ID="0"><Service></Service><ZipOrigination>13220</ZipOrigination><ZipDestination>13159</ZipDestination><Pounds>1</Pounds><Ounces>6</Ounces><Size>REGULAR</Size></Package></RateV3Request><?xml version="1.0"?>
<Error><Number>-2147219101</Number><Source>Rate_Respond.;clsRateV3.UnpackRateNode;SOLServerRates.RateV3_Respond</Source><Description>Missing value for Service.</Description><HelpFile></HelpFile><HelpContext>1000440</HelpContext></Error>
</p>
</div>
</div>

</body>
</html>

Again - I chose Priority as the type of service that I want (and I have tried First Class and that doesn't work either).

Any help will be appreciated.

Sign in to reply to this post

kate387699

Fixed!

Hello:
I went searching through code and located the area in the confirm.php page that was incorrect. For some reason the checkout wizard was not populating the service type. I found it and manually entered it into the confirm page and it now works.

A bug maybe? No matter what type of shipping I chose it never ever populated it. I tried it a bunch of ways and the drop down for service never populated it into the confirm page. (I am using the 4.5.2 ecart version).

Another something else that I have corrected manually is when you choose the payment gateway - and if you are choosing PayPal Payflow Link... the link to connect to that service that the wizard populates in the confirm.php page is also incorrect. It populates the payflow pro link - which is NOT the same as the regular payflow link. It also doesn't populate the right regions to submit to payflow link - it does the pro version. I manually change those as well.

Just a few things I have come across that have taken me forever to problem solve, but I know where to find the error now. Thought you might like to know. Overall though - I don't want it to sound like i am complaining - I really do like your product. It is VERY helpful for me.
Thanks
Kate

Sign in to reply to this post

Eric Mittman

Thanks for going through all of this and letting us know what you have discovered, this is very helpful. When it comes to the shipping type I was originally asking you to open the shipping quote server behavior on the confirm page, it is in this server behavior where the type is the first option. You can check it in this place if you need to update it again for some reason.

When it comes to the Payflow links please post back with what was present after you ran the wizard and what values you updated them to, I will use this info to ensure that this issue is properly logged and looked into. I will also do a test of the checkout wizard to see why it might be missing this value for the USPS quote. Thanks again for all of your effort.

Sign in to reply to this post

kate387699

Payflow Link info

Here is the section of the confirm.php code that deals with linking up to Payflow Link (NOT PRO).
<div class="eC_Simple_DesertSpice_Verdana">

<div class="eC_CheckoutFormWrapper">
<form name="checkout_PFP_LnkCmp_Hid" action="https://payflowpro.paypal.com/transaction" method="post">

<table class="eC_ButtonWrapper" border="0" cellpadding="0" cellspacing="0">
<tr>
<td>
<input type="hidden" name="LOGIN" id="LOGIN" value="cardassoc2" />
<input type="hidden" name="PARTNER" id="PARTNER" value="VeriSign" />
<input type="hidden" name="VENDOR" id="VENDOR" value="VeriSign" />
<input type="hidden" name="AMOUNT" id="AMOUNT" value="<?php echo $eCart1->GrandTotal() ?>" />
<input type="hidden" name="TYPE" id="TYPE" value="S" />
<input type="hidden" name="SHIPAMOUNT" id="SHIPAMOUNT" value="" />
<input type="hidden" name="TAX" id="TAX" value="" />
<input type="hidden" name="DESCRIPTION" id="DESCRIPTION" value="<?php echo $eCart1->TotalColumn("FullDetails") ?>" />
<input type="hidden" name="NAME" id="NAME" value="<?php echo((isset($_POST["firstname"]))?$_POST["firstname"]:"") ?> <?php echo((isset($_POST["lastname"]))?$_POST["lastname"]:"") ?>" />
<input type="hidden" name="ADDRESS" id="ADDRESS" value="<?php echo((isset($_POST["street1"]))?$_POST["street1"]:"") ?>" />
<input type="hidden" name="CITY" id="CITY" value="<?php echo((isset($_POST["city"]))?$_POST["city"]:"") ?>" />
<input type="hidden" name="STATE" id="STATE" value="<?php echo((isset($_POST["state_province"]))?$_POST["state_province"]:"") ?>" />
<input type="hidden" name="ZIP" id="ZIP" value="<?php echo((isset($_POST["postcode"]))?$_POST["postcode"]:"") ?>" />
<input type="hidden" name="PHONE" id="PHONE" value="<?php echo((isset($_POST["phone"]))?$_POST["phone"]:"") ?>" />
<input type="hidden" name="FAX" id="FAX" value="<?php echo((isset($_POST["fax"]))?$_POST["fax"]:"") ?>" />
<input type="hidden" name="EMAIL" id="EMAIL" value="<?php echo((isset($_POST["email"]))?$_POST["email"]:"") ?>" />
<input type="hidden" name="NAMETOSHIP" id="NAMETOSHIP" value="<?php echo((isset($_POST["shipping_firstname"]))?$_POST["shipping_firstname"]:"") ?> <?php echo((isset($_POST["shipping_lastname"]))?$_POST["shipping_lastname"]:"") ?>" />
<input type="hidden" name="ADDRESSTOSHIP" id="ADDRESSTOSHIP" value="<?php echo((isset($_POST["shipping_street1"]))?$_POST["shipping_street1"]:"") ?>" />
<input type="hidden" name="CITYTOSHIP" id="CITYTOSHIP" value="<?php echo((isset($_POST["shipping_city"]))?$_POST["shipping_city"]:"") ?>" />
<input type="hidden" name="STATETOSHIP" id="STATETOSHIP" value="<?php echo((isset($_POST["shipping_state_province"]))?$_POST["shipping_state_province"]:"") ?>" />
<input type="hidden" name="ZIPTOSHIP" id="ZIPTOSHIP" value="<?php echo((isset($_POST["shipping_postcode"]))?$_POST["shipping_postcode"]:"") ?>" />
<input type="hidden" name="COUNTRYTOSHIP" id="COUNTRYTOSHIP" value="<?php echo((isset($_POST["shipping_country"]))?$_POST["shipping_country"]:"") ?>" />
<input type="hidden" name="PHONETOSHIP" id="PHONETOSHIP" value="<?php echo((isset($_POST["shipping_phone"]))?$_POST["shipping_phone"]:"") ?>" />
<input type="hidden" name="FAXTOSHIP" id="FAXTOSHIP" value="<?php echo((isset($_POST["shipping_fax"]))?$_POST["shipping_fax"]:"") ?>" />
<input type="hidden" name="EMAILTOSHIP" id="EMAILTOSHIP" value="<?php echo((isset($_POST["shipping_email"]))?$_POST["shipping_email"]:"") ?>" />
<input type="hidden" name="COUNTRY" id="COUNTRY" value="" />
<input type="hidden" name="COMMENT1" id="COMMENT1" value="" />
<input type="hidden" name="COMMENT2" id="COMMENT2" value="" />
<input type="hidden" name="CUSTID" id="CUSTID" value="" />
<input type="hidden" name="DLNUM" id="DLNUM" value="" />
<input type="hidden" name="INVOICE" id="INVOICE" value="" />
<input type="hidden" name="PONUM" id="PONUM" value="" />
<input type="hidden" name="USER1" id="USER1" value="" />
<input type="hidden" name="USER2" id="USER2" value="" />
<input type="hidden" name="USER3" id="USER3" value="" />
<input type="hidden" name="USER4" id="USER4" value="" />
<input type="hidden" name="USER5" id="USER5" value="" />
<input type="hidden" name="USER6" id="USER6" value="" />
<input type="hidden" name="USER7" id="USER7" value="" />
<input type="hidden" name="USER8" id="USER8" value="" />
<input type="hidden" name="USER9" id="USER9" value="" />
<input type="hidden" name="USER10" id="USER10" value="" />
<input type="image" alt="Modify information" value="Modify information" src="WA_eCart/Images/Desert Spice/Btn5_EN_modifyinformation.gif" onclick="history.back();return false;"/><input type="image" name="Submit_order" id="Submit_order" value="Checkout" alt="Submit order" src="WA_eCart/Images/Desert Spice/Btn5_EN_submitorder.gif" />
</td>
</tr>
</table>
</form>
</div>
</div>

This code:
action="https://payflowpro.paypal.com/transaction" method="post">
the site should be: payflowlink.paypal.com

Then the next error is in how the fields populate to enter the username and other necessary information to access the site.
This code:
<input type="hidden" name="PARTNER" id="PARTNER" value="VeriSign" />
<input type="hidden" name="VENDOR" id="VENDOR" value="VeriSign" />

Should be:
<input type="hidden" name="PARTNER" id="PARTNER" value="PayPal" />
NO VENDOR REQUIRED. (second line needs to be deleted).

If you don't make these corrections it WILL NOT connect to Payflow link.

hope that helps.
I will do a separate post for the usps shipping thing. since there's a limit.

Sign in to reply to this post

kate387699

USPS issue

Eric:
You are right - when you open the server behaviors in the confirm page you can go through the steps again and re-enter the information you already entered into the wizard and it DOES correct the code the same way I did it manually but through the wizard it produces this result: (error in the "CarrierCode" being left "". It should be "PRIORITY" according to what i picked in wizard but isn't. It only adjust manually or through the server behavior panel. (which I had no idea until you said that but I manually found it first).

Hope this all helps in one way or the other.
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
//WA eCart (Copyright 2007, WebAssist)
//WA eCart USPS Shipping - USPS
$Shipping_SuccessURL = "";
$Shipping_FailureURL = "shipping_failure.php";
$Shipping_Packaging = 1;
$Shipping_PackageArray = array();
$Shipping_PackageIndex = 0;
$Shipping_Counter = 0;
$Shipping_Parameters = array();
$Shipping_Parameters["ShiptoZip"] = "".((isset($_POST["shipping_postcode"]))?$_POST["shipping_postcode"]:"") ."";
$Shipping_Parameters["ShiptoCountry"] = "".((isset($_POST["shipping_country"]))?$_POST["shipping_country"]:"") ."";
$Shipping_Parameters["UserID"] = "627CARDA3990";
$Shipping_Parameters["USPSServer"] = "http://production.shippingapis.com/shippingapi.dll";
$Shipping_Parameters["CarrierCode"] = "";
$Shipping_Parameters["DefaultIntl"] = "none";
$Shipping_Parameters["ShipperZip"] = "13220";
while (($Shipping_Packaging == 1 && !$eCart1->EOF()) || ($Shipping_Packaging == 0 && $Shipping_Counter == 0)) {
if (WA_eCart_USPS_IsTrueValue("true")) {
$Shipping_PackageArray[] = array();
$Shipping_PackageIndex = sizeof($Shipping_PackageArray)-1;
$Shipping_PackageArray[$Shipping_PackageIndex]["eCart_Quantity"] = (($Shipping_Packaging == 1)?$eCart1->DisplayInfo("Quantity"):1);
$Shipping_PackageArray[$Shipping_PackageIndex]["IsPackage"] = "true";
$Shipping_PackageArray[$Shipping_PackageIndex]["Quantity"] = "1";
$Shipping_PackageArray[$Shipping_PackageIndex]["WeightUnits"] = "";
$Shipping_PackageArray[$Shipping_PackageIndex]["PackageWeight"] = "".WA_eCart_FormatNumber($eCart1->DisplayInfo('Weight'), true, 1) ."";
$Shipping_PackageArray[$Shipping_PackageIndex]["PackageType"] = "YOURPACKAGING";
$Shipping_PackageArray[$Shipping_PackageIndex]["PackageSize"] = "REGULAR";
$Shipping_PackageArray[$Shipping_PackageIndex]["PackageMachinable"] = "true";
$Shipping_PackageArray[$Shipping_PackageIndex]["IPackageType"] = "Package";
//Special Services
}

Sign in to reply to this post

Eric Mittman

Thank you very much for the detailed info on this. I have been doing some testing to see what is going on and confirm your results so that I can get proper bugs logged for these issues. I'm having a problem with the USPS shipping server issue. When I run the checkout wizard the code that it outputs has this service or carrier code present and set to the value that I selected in the wizard. I tested this out with eCart 4.5.2 in CS4. I just ran the checkout wizard and selected Payflow link as the checkout type then filled in the values that I was prompted for along the way. I noticed on the page where I was selecting the value for this service type I have to select the lightning bolt icon next to it after the fact or my changes did not seem to be taking. If you can please perform one more test on this and try setting the focus to another control on that step of the wizard after you set the type. Let us know if the issue persists for you like this and I can get a ticket opened so we can investigate further.

Sign in to reply to this post

Build websites with a little help from your friends

Your friends over here at WebAssist! These Dreamweaver extensions will assist you in building unlimited, custom websites.

Build websites from already-built web applications

These out-of-the-box solutions provide you proven, tested applications that can be up and running now.  Build a store, a gallery, or a web-based email solution.

Want your website pre-built and hosted?

Close Windowclose

Rate your experience or provide feedback on this page

Account or customer service questions?
Please user our contact form.

Need technical support?
Please visit support to ask a question

Content

rating

Layout

rating

Ease of use

rating

security code refresh image

We do not respond to comments submitted from this page directly, but we do read and analyze any feedback and will use it to help make your experience better in the future.

Close Windowclose

We were unable to retrieve the attached file

Close Windowclose

Attach and remove files

add attachmentAdd attachment
Close Windowclose

Enter the URL you would like to link to in your post

Close Windowclose

This is how you use right click RTF editing

Enable right click RTF editing option allows you to add html markup into your tutorial such as images, bulleted lists, files and more...

-- click to close --

Uploading file...