0

我正在使用 DHL 内部运输模块来处理运输和创建运输标签。

大多数时候我可以毫无问题地打印标签,但有时我会收到以下错误消息:

pdf creation failed. service temporary not available. Unable to save PDF to [...] /var/intraship/documents/pdf--a/pdf--a2/pdf--a29/label-00340433836395078284.pdf.

不幸的是,我不知道是什么导致了错误。它与订购的物品、地址、数量、装运类型或付款方式或我能想象的任何其他变量无关。

问题是,它只发生在某些订单上——假设我可以连续打印 20 个标签,而接下来的 3 个标签不起作用。由于它与时间无关,我可以一次打印很多标签,然后只打印两个,我认为这与服务器工作内存的过载无关。

此外,我检查了 - 目录权限是否正确(777) - url_fopen 设置为 allwo - 没有同名的文件(标签):文件已创建,但有 0byte。

尽管如此,发货还是在 DHL 发起并被追究。

nr-apps 的 Intraship 模块在德国非常普遍和广泛使用,我认为扩展没有任何特定错误。我也与开发人员有过接触,但我检查了他们能想到的一切(见上面提到的几点)。

有谁知道还有什么可能导致错误?

谢谢!!

4

1 回答 1

0

我有完全相同的问题。0字节PDF,订单注释中的错误消息和神秘的错误文本“FPDF错误:无法找到指向外部参照表的指针”。

在搜索扩展的代码后,我找到了创建错误的地方(app/code/community/Dhl/Intraship/Helper/Pdf.php第 143 行):

} catch (Exception $e) {
    Mage::log($e->getMessage());
    throw new Dhl_Intraship_Helper_Pdf_Exception(
        'pdf creation failed. service temporary not available. ' . $e->getMessage(),
        $e->getCode()
    );
}

由于记录了错误,我在错误日志中搜索var/log/system.log并找到了相关的异常消息:

2015-04-16T17:52:27+00:00 DEBUG (7): Unable to save PDF to /path-to-your-app/var/intraship/documents/pdf--X/pdf--XX/pdf--XXX/label-<code>.pdf.
2015-04-16T17:52:27+00:00 ERR (3): Warning: file_get_contents(http://www.intraship.de:80/cartridge/WSPrint?code=<long code>): failed to open stream: HTTP request failed! HTTP/1.1 500 Internal Server Error
    in /path-to-your-app/app/code/community/Dhl/Intraship/Helper/Pdf.php on line 143

所以对我来说,错误是(最近非常不稳定)DHL Intraship API。这并不意味着您收到相同的错误或错误原因相同,但至少您有一个指示符,可以在哪里查找可能有助于您解决问题的错误消息。

对我来说,唯一剩下的选择是联系 DHL Intraship 支持以了解 HTTP 500 错误。

于 2015-04-16T18:18:40.837 回答