是否有办法使用.NET将传真从一台RigthFax服务器转发到另一台RigthFax服务器
发布于 2011-11-18 03:10:20
我发现使用COM .NET API无法做到这一点。此应用程序接口只能在一个RightFax服务器中工作...
发布于 2015-03-03 23:12:07
如果您希望移动传真,您需要做的是在第二个服务器上创建一个传真(具有相同的属性),然后在第一个服务器上删除该传真。
这是一个手动的过程,在代码中一步一步地进行,但可以完成。
您将需要两个单独的faxserver对象(每个服务器一个)。
对于faxserver1 (传真源),创建一个fax对象: fax1,它包含传真(您可以通过传真的句柄获得它)。此外,您还需要下载传真图像(这将是本地驱动器上的TIF文件)。
对于目标传真服务器(目的地),您将需要创建另一个传真对象fax2 (但您不会在faxserver2中搜索传真)。
使用fax1中的所有属性值填充fax2 (例如,ToName、ToFaxNumber、ToCompany、BillingInfo1等)。另外,将属性hold for preview设置为true。不要忘记相应地设置OwnerId!为简单起见,将HasCoversheet设置为FALSE (实际的封面仍将被复制,只是在FaxUtil中不被识别为封面)。将TIF文件(来自源传真,这将包括封面,如果存在并且这是一个出站传真)添加到AddDoc集合中,然后调用Fax2.Send()。
在发送调用之后,调用: RFHandle2 = Fax2.Handle()
这将使您的新服务器创建出站传真,该传真应与原始传真相同。[等待30秒(在循环内)并调用
Fax2 = FaxServer2.Fax(RFHandle2)
检查Fax2.FaxStatus并查看它是否为HeldForPreview (您可能还需要检查错误代码,以防创建传真时出现任何问题)。
一旦将其设置为HeldForPreview,您现在就可以设置以下内容(如果适用)
Fax2.IsRecievedEx =Fax1.IsRecieveded(是的,您可以将出站传真更改为入站传真!)
Fax2.FaxStatusEx = Fax1.FaxStatus
Fax2.FaxErrorCodeEx = Fax1.FaxErrorCode
Fax2.UniqueID = Fax1.UniqueID (您可能希望这样做,也可能不希望这样做-而且这个值在服务器上实际上不必是唯一的)。
Fax2.Save( False ) -值为False,这样传真就不会被踢掉!
如果您没有收到任何异常,则可以删除原始传真
Fax1.Delete()
注:未复制传真历史记录。您只有传真记录及其图像的副本。
有一些技巧(假设您有必要的O/S权限)可以用来维护所使用的封面的概念(如果这最初是一份出站传真),但这里要解释的有点多。在我们的工作流产品中,我们有自动化这类东西的软件。
https://stackoverflow.com/questions/8017967
复制相似问题