1

您可能知道,Magento 中有 FedEx Web Services API。但我仍然无法让它工作。在 Magento 的管理端输入所有(密码、帐户 ID、密钥等)。仍然得到

此送货方式目前不可用。如果您想使用这种运输方式发货,请联系我们。

试图捕捉在code/core/Mage/Usa/Model/Shipping/Carrier/Fedex.php中发生的事情 发送 SOAP 请求时,行 ~360

    $requestString = serialize($ratesRequest);
    $response = $this->_getCachedQuotes($requestString);

抓到$requestString$response$response始终为空(print_r 给出空字符串),还尝试在管理端设置是和否的“沙盒模式”。是$requestString

a:4:{s:23:"WebAuthenticationDetail";a:1:{s:14:"UserCredential";a:2:{s:3:"Key";s:16:" KEY ";s:8 :"Password";s:6:" PASSWD ";}}s:12:"ClientDetail";a:2:{s:13:"AccountNumber";s:9:" ACCNUMBER ";s:11:"MeterNumber ";s:9:"米数";}s:7:"版本";a:4:{s:9:"ServiceId";s:3:"crs";s:5:"主要";s:1:"9";s: 12:"中级";s:1:"0";s:5:"次要";s:1:"0";}s:17:"RequestedShipment";a:11:{s:11:"DropoffType ";s:14:"REGULAR_PICKUP";s:13:"ShipTimestamp";s:25:"2011-12-08T20:33:05+00:00";s:13:"PackagingType";s:14: "YOUR_PACKAGING";s:17:"TotalInsuredValue";a:2:{s:7:"Ammount";d:129.06999999999999317878973670303821563720703125;s:8:"货币";s:3:"USD";}s:7: "发货人";a:1:{s:7:"地址";a:2:{s:10:"邮政编码";s:5:"07094";s:11:"国家代码";s:2: "美国";}}s:9:"收件人";a:1:{s:7:"地址";a:3:{s:10:"邮政编码";s:5:"10033";s:11:"CountryCode";s:2:"US";s:11:"住宅";b:1;}}s:22:"ShippingChargesPayment";a:2:{s :11:"PaymentType";s:6:"SENDER";s:5:"Payor";a:2:{s:13:"AccountNumber";s:9:"368675440";s:11:"CountryCode ";s:2:"US";}}s:16:"RateRequestTypes";s:4:"LIST";s:12:"PackageCount";s:1:"1";s:13:"PackageDetail ";s:19:"INDIVIDUAL_PACKAGES";s:25:"RequestedPackageLineItems";a:1:{i:0;a:1:{s:6:"重量";a:2:{s:5:"值";d:145.3600000000000136424205265939235687255859375;s:5:"单位";s:2:"LB";}}}}}11:"PaymentType";s:6:"SENDER";s:5:"Payor";a:2:{s:13:"AccountNumber";s:9:"368675440";s:11:"CountryCode" ;s:2:"US";}}s:16:"RateRequestTypes";s:4:"LIST";s:12:"PackageCount";s:1:"1";s:13:"PackageDetail" ;s:19:"INDIVIDUAL_PACKAGES";s:25:"RequestedPackageLineItems";a:1:{i:0;a:1:{s:6:"重量";a:2:{s:5:"价值";d:145.3600000000000136424205265939235687255859375;s:5:"单位";s:2:"LB";}}}}}11:"PaymentType";s:6:"SENDER";s:5:"Payor";a:2:{s:13:"AccountNumber";s:9:"368675440";s:11:"CountryCode" ;s:2:"US";}}s:16:"RateRequestTypes";s:4:"LIST";s:12:"PackageCount";s:1:"1";s:13:"PackageDetail" ;s:19:"INDIVIDUAL_PACKAGES";s:25:"RequestedPackageLineItems";a:1:{i:0;a:1:{s:6:"重量";a:2:{s:5:"价值";d:145.3600000000000136424205265939235687255859375;s:5:"单位";s:2:"LB";}}}}}PackageDetail";s:19:"INDIVIDUAL_PACKAGES";s:25:"RequestedPackageLineItems";a:1:{i:0;a:1:{s:6:"Weight";a:2:{s:5: "值";d:145.3600000000000136424205265939235687255859375;s:5:"单位";s:2:"LB";}}}}}PackageDetail";s:19:"INDIVIDUAL_PACKAGES";s:25:"RequestedPackageLineItems";a:1:{i:0;a:1:{s:6:"Weight";a:2:{s:5: "值";d:145.3600000000000136424205265939235687255859375;s:5:"单位";s:2:"LB";}}}}}

(替换了实际密码、密钥等,不希望它们公开)。

各位,怎么回事?如何解决这个问题?我召唤 Magento 1.6 FedEx 专家!我想我不是唯一一个有这种问题的人!

4

1 回答 1

0

好的,实际上我得到了错误的响应(稍后在代码中,如果响应为空,Magento 会尝试向 FedEx 服务器发出 SOAP 请求)。然后它因 SOAP 错误而崩溃:它没有安装在服务器上。

要解决此问题,您应该将 SOAP 和 OpenSSL 安装到您的服务器。如果你使用 WHM 驱动的服务器(我的例子),你应该重新编译包(WHM -> Software -> Easy Apache)。之后,magento 1.6 为 FedEx 做好了准备。

另请注意,不支持新的 FedEx API(但支持已弃用的 API),因此如果您计划将 FedEx 与 Magento 一起使用,您必须将其更新到 1.6.x 或更高版本并安装 SOAP 和 SSL在你的服务器上..

于 2011-12-16T18:01:03.343 回答