我正在使用DHL Intraship模块处理运输并创建运输标签。

大多数情况下,我可以打印标签而没有任何问题,但是有时我会收到以下错误消息:

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模块非常普遍,在德国广泛使用,我认为扩展名没有任何特定的错误。我还与开发人员联系,但我检查了他们可以想象的一切(请参见上述要点)。

是否有人知道还有什么可能导致错误?

谢谢!!

最佳答案

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

搜索扩展的代码后,我发现了创建错误的位置(第143行的app/code/community/Dhl/Intraship/Helper/Pdf.php):

} 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错误的信息。

10-06 13:45