Перемещение факса между серверами Captaris RigthFax с помощью API

#captaris

#captaris

Вопрос:

Есть ли способ переслать факс с сервера RigthFax на другой сервер RigthFax с использованием .NET?

Ответ №1:

Я обнаружил, что нет способа сделать это с помощью COM API.NET. Этот API работает только внутри одного сервера RightFax…

Ответ №2:

Если вы хотите переместить факс, вам нужно будет создать факс (с идентичными свойствами) на втором сервере, а затем удалить факс на первом сервере.

Это ручной процесс, пошаговый в коде, но его можно выполнить.

Вам понадобятся два отдельных объекта faxserver (по одному для каждого сервера).

Для faxserver1 (источник факса) создайте объект fax: fax1, который содержит факс (вы можете получить его через дескриптор факса). Кроме того, вам также потребуется загрузить изображение факса (это будет файл TIF на вашем локальном диске).

Для целевого факс-сервера (назначения) вам нужно будет создать другой объект fax, fax2 (но вы не будете искать факс на faxserver2).

Заполните fax2 всеми значениями свойств из fax1 (например, ToName, ToFaxNumber, ToCompany, BillingInfo1 и т.д.). Также установите для свойства hold для предварительного просмотра значение true. Не забудьте соответствующим образом указать идентификатор владельца! Для простоты установите для HasCoversheet значение FALSE (фактическая обложка все равно будет скопирована, просто она не распознается как обложка в FaxUtil). Добавьте файл TIF (из исходного факса, он будет включать сопроводительную таблицу, если она присутствовала, и это был исходящий факс) в коллекцию AddDoc, затем вызовите Fax2.Send().

После вызова отправки вызовите: RFHandle2 = Fax2.Handle()

При этом ваш новый сервер создаст исходящий факс, который должен быть идентичен вашему исходному факсу. [ Подождите 30 секунд (внутри цикла) и вызовите

Fax2 = FaxServer2.Fax(RFHandle2)

Проверьте Fax2.FaxStatus и посмотрите, хранится ли он для предварительного просмотра (вам также может потребоваться проверить код ошибки, если возникнут какие-либо проблемы с созданием факса).

После установки значения HeldForPreview теперь вы можете установить следующее (если применимо)

Fax2.IsRecievedEx = Fax1.IsRecieved (да, вы можете изменить исходящий факс на входящий факс!)

Fax2.FaxStatusEx = Fax1.FaxStatus

Fax2.FaxErrorCodeEx = Fax1.FaxErrorCode

Fax2.UniqueID = Fax1.UniqueID (вы можете захотеть или не захотеть это сделать — и это значение на самом деле НЕ ОБЯЗАТЕЛЬНО ДОЛЖНО БЫТЬ УНИКАЛЬНЫМ на сервере).

Fax2.Save(False) — значение False означает, что факс не будет удален!

Если вы не получаете никаких исключений, вы можете удалить исходный факс

Fax1.Delete()

ПРИМЕЧАНИЕ: Журнал факсов НЕ копируется. У вас есть только копия записи факса и ее изображение.

Есть хитрости (при условии, что у вас есть необходимые разрешения O / S), которые вы могли бы сделать, чтобы сохранить концепцию использованного сопроводительного листа (если это изначально был исходящий факс), но это слишком много для объяснения здесь. У нас есть программное обеспечение, которое автоматизирует этот тип вещей в нашем продукте workflow.