【问题标题】:FAXCOMEXLib Fatal Error when sending faxFAXCOMEXLib 发送传真时出现致命错误
【发布时间】:2014-01-10 21:53:30
【问题描述】:

我编写了一个使用 FAXCOMEXLib 的 C# 控制台应用程序。

应用程序读入一个文本文件并将其提交到传真队列。

(1) 传真队列在 Windows 2003 SBS 上运行(并且工作正常)

(2) 我使用 Visual Studio 2013 Express C# 控制台应用程序开发了我的应用程序。

(3) 在我的Windows 8 Ent开发机上运行console app运行正常,提交文档并发送成功

(4) 如果我将控制台应用程序部署到 Windows 2008 服务器,则会发生以下情况;

  • 我必须在本地机器上安装传真服务,即使传真是通过另一个传真服务器发送的,否则我会收到错误Retrieving the COM class factory for component with CLSID {CDA8ACB0-8CF5-4F6C-9BA2-5931D40C8CAE} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).
  • 安装传真服务后,应用程序运行良好
  • 传真提交到传真队列成功
  • 我可以看到队列中的传真状态为待处理,然后是正在拨号,然后是正在发送。
  • 但是过了一会儿,我收到一个错误致命错误,并且传真无法发送。

所以问题不在于调制解调器。 Windows 服务器上的日志条目是;

事件日志条目是

事件类型:警告
事件来源:微软传真
活动类别:出境
事件 ID:32028
日期:14/01/2014
时间:15:43:42
用户:不适用
计算机:传真服务器
说明:
发送传真时遇到错误。该服务将尝试 重新发送传真。如果进一步传输失败,请确认 电话线、传真发送设备和传真接收设备是 好好工作。发件人:。计费代码: 。发件人公司:.发件人 部门:。设备名称:U.S. Robotics 56K FAX EXT。职位编号: 0x0201cf113f2ab5e7。用户名:FAXSERVER\Administrator。

请查看活动日志以获取有关此事件的更多详细信息。

所以基本上传真从 C# 应用程序离开 Windows 2008 服务器。并出现在 Windows 2003 SBS 传真服务器的队列中,但没有被发送。

传真号码没问题,可以使用传统的文件打印方式发送传真(以记事本发送到传真方式为例,在Windows 2008服务器上),也可以接收传真。

我该如何解决这个问题?

【问题讨论】:

  • 因为你没有包括最重要的东西:什么是“FatalError's”消息、错误代码、堆栈跟踪等,或者至少,你从哪里得到它,你是如何观察它的?有日志吗?您是否检查过 Windows 的 App 和 Sys Events,它们是否包含任何相关内容?另外,您是否检查过文档(如果有) - 在什么情况下可以报告“FatalError”?也许这只是机器之间 TxRx 期间的故障,即使它正在“传输”某些东西也可能出错。如果以上所有方法都不可行,您是否尝试过与“FaxComex”技术支持人员交谈?
  • 我已更新问题以包含日志条目。
  • 好的,现在我们看到一件重要的事情:“发送时出错”+“自动重试”。此消息带有“警告”类。它是日志中唯一的消息吗?该服务真的会再试一次吗?它是否不断尝试并失败,是否不断重复此消息?如果是这样,则消息本身可能有问题(没有“标题”,没有“错误的收件人号码格式”等)。如果它在几次重试后尝试并成功,也许一切都很好,你只是电话线坏了或调制解调器有故障?如果它不重试 - 检查服务配置,是否有尝试限制?或者它已经关闭了?
  • 微软提供的传真​​服务尝试重新发送传真,但又失败了。
  • 这里有一个错误代码相同的人找到了解决方案:social.msdn.microsoft.com/Forums/vstudio/en-US/… 也许它可以引导正确的搜索方向。

标签: c# fax


【解决方案1】:

您作为内容附加的文件可能有问题。我会尝试添加一个您在控制台应用程序之外手动创建的文件,看看是否发送没有问题。如果这可行,那么您至少可以大大缩小问题范围,并且可以专注于如何创建文件。

【讨论】:

  • 谢谢。我追查到与正在写入 txt 文件的文本有关的问题。使用 encoding.UTF8 转换字节数组似乎存在一些问题。
  • @Tommo1977 我面临着类似的问题。您能否发布您如何确定问题出在字节数组以及如何解决的?谢谢
  • 您在客户端和服务器的操作系统方面的设置是什么?
  • 传真服务在 Windows Server 2003 上运行。客户端是一个发送传真的 JNI Java 应用程序,运行在同一台机器上。我们在 2003 服务器和 Win 8.1 操作系统上看到此错误:ezjcom.JComException:发生异常。 (0x80020009) 信息 |虚拟机 1 | 2014/10/29 14:25:20 |在 FaxCom.IFaxDoc.Send(本机方法)/ngggg
  • 安装桌面体验后错误在 Win 2003 Server 上消失,然后又出现。我正在使用传真和扫描手动测试,每当我附加 JPEG 时,传真和扫描都会报告错误。我试图在注册表中为 JPEG 定义一个 PrintTo 函数,但它没有帮助。传真和扫描发送某些 TIF 附件没有问题,这是我现在正在调查的。附加 JPEG 时,事件查看器会报告上述错误。
【解决方案2】:

所以问题不在于调制解调器。

当您消除问题的一个源时,问题排查变得困难。当然这是调制解调器的问题,您已经验证了直到调制解调器的一切都正常工作。但是,是的,一旦它到达调制解调器就会变得很困难,好吧,传真协议没有很好的方法来提供诊断。像接收者认为您正在向其发送包含太多页面的垃圾邮件传真一样简单的事情无法被诊断出来。它毫不客气地挂断了电话,就这样结束了。

遵循Technet article 中的故障排除指南。尤其是采取下一步,即事件日志消息建议您采取但您似乎没有采取的步骤。我会从文章中引用它:

访问传真活动日志:

  • 要打开 Windows 资源管理器,请右键单击“开始”,然后单击“探索”。
  • 在左窗格中,单击包含操作系统的磁盘。
  • 在工具栏上,单击“组织”,单击“文件夹和搜索选项”,单击“查看”选项卡,然后单击“显示隐藏的文件和文件夹”。关闭对话框。
  • 在 Windows 资源管理器中,导航到 %systemdrive%\ProgramData\Microsoft\Windows NT\MSFax\ActivityLog。
  • 查看文件 InboxLog.txt。 InboxLog.txt 中的每一行都是一个传入传真作业。在给定失败的传入传真传输行中,查看“状态”和“扩展状态”字段以了解有关失败的信息。

如果仍有必要,请在StackExchange site for server admins 上询问更多有关此问题的问题,您可以在该站点找到以前处理过传真问题的人。

【讨论】:

  • 感谢 Hans,但不幸的是,在查看日志文件(设置为高日志记录)时,它没有为我提供有关致命错误的任何有用信息。
  • 您的意思是说它对没有用处,因此对任何人都不应该有用吗?当您在 serverfault.com 上询问此问题时,请不要保密。他们会坚持要求您准确地告诉他们它所说的内容。我愿意。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多