发送传真时FAXCOMEXLib致命错误

时间:2014-01-10 21:53:30

标签: c# fax

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

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

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

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

(3)在我的Windows 8 Ent开发机器上运行控制台应用程序正常,并提交文档并成功发送

(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)).
  • 安装传真服务后,应用程序运行良好
  • 传真已成功提交到传真队列
  • 我可以看到队列中的传真状态为Pending,然后是Dialing,然后是Transmitting。
  • 但过了一段时间,我收到错误致命错误,传真机没有。

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

事件日志条目是

  

事件类型:警告
  事件来源:Microsoft传真
  活动类别:出境
  事件ID:32028
  日期:2014年1月14日   时间:15:43:42
  用户:N / A
  电脑:FAXSERVER
  说明:
  发送传真时遇到错误。该服务将尝试   重新发送传真。如果进一步传输失败,请验证   电话线,传真发送设备和传真接收设备   好好工作。发件人:。结算代码:。发信人公司:。寄件人   部门:。设备名称:美国机器人56K FAX EXT。工作ID:   0x0201cf113f2ab5e7。用户名:FAXSERVER \ Administrator。

     

请查看活动日志,了解此活动的更多详情。

所以基本上传真离开了C#app的Windows 2008服务器。并显示在Windows 2003 SBS传真服务器的队列中,但未发送。

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

我怎么能解决这个问题?

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

  

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

当您消除问题的一个来源时,解决问题变得困难。当然这是一个调制解调器问题,你已经验证了所有东西,直到调制解调器,都能正常工作。但是,是的,一旦它到达调制解调器就变得很困难,传真协议就没有很好的方法来提供诊断。像收件人一样简单,认为你发送垃圾传真的方式太多,无法诊断。它毫不客气地挂断了电话,结束了。

遵循Technet article中的问题排查指南。特别是采取下一步,即事件日志消息建议您采取的步骤,但您似乎没有采取。我将从文章中引用它:

  

访问传真活动日志:

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

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