有没有办法使用.NET将传真从RightFax服务器转发到另一台RightFax服务器?
答案 0 :(得分:0)
答案 1 :(得分:0)
如果您想移动传真,您需要做的是在第二台服务器上创建传真(具有相同的属性),然后删除第一台服务器上的传真。
这是一个手动过程,一步一步代码,但可以完成。
您将需要两个单独的faxserver对象(每个服务器一个)。
对于faxserver1(传真来源),创建一个传真对象:fax1,其中包含传真(您可以通过传真的句柄获取此传真)。此外,您还需要下载传真图像(这将是本地驱动器上的TIF文件)。
对于目标传真服务器(目的地),您需要创建另一个传真对象fax2(但您不会在faxserver2中搜索传真)。
使用fax1的所有属性值填充fax2(例如ToName,ToFaxNumber,ToCompany,BillingInfo1等...)。此外,将属性(保留预览)设置为true。不要忘记相应地设置OwnerId!为简单起见,将HasCoversheet设置为FALSE(实际的封面仍然会被复制,而不会被识别为FaxUtil中的封面)。添加TIF文件(从源传真,这将包括封面,如果存在,这是一个出站传真)到AddDoc集合,然后调用Fax2.Send()。
发送呼叫后,请致电:RFHandle2 = Fax2.Handle()
这将使您的新服务器创建一个与原始传真相同的出站传真。 [ 等待30秒(在循环内)并调用
Fax2 = FaxServer2.Fax(RFHandle2)
检查Fax2.FaxStatus并查看它是否为HeldForPreview(如果创建传真有任何问题,您可能还需要检查错误代码)。
一旦设置为HeldForPreview,您现在可以设置以下(如果适用)
Fax2.IsRecievedEx = Fax1.IsRecieved(是的,您可以将出站传真更改为入站传真!)
Fax2.FaxStatusEx = Fax1.FaxStatus
Fax2.FaxErrorCodeEx = Fax1.FaxErrorCode
Fax2.UniqueID = Fax1.UniqueID(您可能希望也可能不希望这样做 - 这个值在服务器上实际上并不是唯一的。)
Fax2.Save(False) - False值是为了不踢传真!
如果没有任何例外,您可以删除原始传真
Fax1.Delete()
注意:不会复制传真历史记录。您只有传真记录及其图像的副本。
有一些技巧(假设你有必要的操作系统权限)可以用来维护封面的概念(如果这本来是一个出站传真),但这里有点解释。我们的软件可以在我们的工作流程产品中自动化这类内容。