Good news for all EBS BI Publisher enthusiasts! Now you can deliver faxes directly from the BI Publisher Delivery
Manager to any fax destination through RightFax 9.3 or above. To learn more about RightFax you can visit their
website - http://www.captaris.com/rightfax.
Oracle Collections team has implemented BI Publisher - RightFax integration for Strategy Dunning Program. You can find the details of this implementation and patch download option in metalink (patch details at the end).
BI Publisher Delivery Manager can now make use of RightFax XML interface to submit a fax job and to query the
status of the job. These XML requests and responses are transmitted over HTTP/S. RightFax can convert the XML request into FCL (Facsimile Command Language) on the server side. So we do not have to worry about embedding FCL code on client (BI Publisher) side anymore. RightFax supports PDF, Postscript and PCL documents and may also support Microsoft Office documents depending on its Server configuration. The Delivery Manager supports a single fax destination per delivery request; therefore, to send fax to multiple destinations, you will have to submit multiple delivery jobs.
Here are the steps to set up the RightFax Delivery Channel in BI Publisher Delivery Manager
- Create a Delivery Manager instance
- Create a Delivery Request instance
- Add the request properties
- Set your document to the DeliveryRequest instance
- Submit the delivery request
And here is a sample code.....
// create delivery manager instance DeliveryManager dm = new DeliveryManager();
// create a delivery request DeliveryRequest req = dm.createRequest(DeliveryManager.TYPE_RIGHTFAX);
// required host information (hostname / IP address / reference name from config file) req.addProperty(DeliveryPropertyDefinitions.RIGHTFAX_HTTP_HOST,"myhost");// required sender information req.addProperty(DeliveryPropertyDefinitions.RIGHTFAX_SENDER_RFUSER,"Administrator");// Optional properties req.addProperty(DeliveryPropertyDefinitions.RIGHTFAX_SENDER_FROM_NAME,"Dave Taylor"); req.addProperty(DeliveryPropertyDefinitions.RIGHTFAX_SENDER_FROM_COMPANY,"ABC, Ltd.");// required destination req.addProperty(DeliveryPropertyDefinitions.RIGHTFAX_FAX_TO_NUMBER,"555-1111");// Optional properties req.addProperty(DeliveryPropertyDefinitions.RIGHTFAX_FAX_TO_NAME,"Fred Flintstone"); req.addProperty(DeliveryPropertyDefinitions.RIGHTFAX_FAX_TO_COMPANY,"Acme, Inc.");// set the document req.setDocument("/document/invoice.pdf");// submit the request req.submit();// close the request req.close();
Did you say what all RightFax Delivery Properties?
Ok, so here goes a long list of delivery properties supported for RightFax delivery channel. It shows the corresponding RightFax XML interface element for submitting a fax job. Here RIGHTFAX_HTTP_HOST, RIGHTFAX_SENDER_RFUSER, RIGHTFAX_FAX_TO_NUMBER are the only required properties, rest are optional.
Delivery Property |
Description |
Rightfax XML |
RIGHTFAX_HTTP_HOST |
Required. |
|
RIGHTFAX_HTTP_PORT |
Optional. |
|
RIGHTFAX_HTTP_REMOTE_DIRECTORY |
Optional. |
|
RIGHTFAX_HTTP_REMOTE_FILENAME |
Optional. |
|
RIGHTFAX_HTTP_AUTHTYPE |
Optional. |
|
RIGHTFAX_HTTP_USERNAME |
Optional. |
|
RIGHTFAX_HTTP_PASSWORD |
Optional. |
|
RIGHTFAX_HTTP_ENCTYPE |
Optional. |
|
RIGHTFAX_HTTP_USE_FULL_URL |
Optional. |
|
RIGHTFAX_HTTP_TIMEOUT |
Optional. |
|
RIGHTFAX_HTTP_PROXY_HOST |
Optional. |
|
RIGHTFAX_HTTP_PROXY_PORT |
Optional. |
|
RIGHTFAX_HTTP_PROXY_AUTHTYPE |
Optional. |
|
RIGHTFAX_HTTP_PROXY_USERNAME |
Optional. |
|
RIGHTFAX_HTTP_PROXY_PASSWORD |
Optional. |
|
RIGHTFAX_SENDER_FROM_NAME |
Optional. |
SENDER/FROM_NAME |
RIGHTFAX_SENDER_EMPID |
Optional. |
SENDER/EMP_ID |
RIGHTFAX_SENDER_FROM_COMPANY |
Optional. |
SENDER/FROM_COMPANY |
RIGHTFAX_SENDER_FROM_DEPARTMENT |
Optional. |
SENDER/FROM_DEPARTMENT |
RIGHTFAX_SENDER_FROM_PHONE |
Optional. |
SENDER/FROM_PHONE |
RIGHTFAX_SENDER_RETURN_EMAIL |
Optional. |
SENDER/RETURN_EMAIL |
RIGHTFAX_SENDER_BILLINFO1 |
Optional. |
SENDER/BILLINFO1 |
RIGHTFAX_SENDER_BILLINFO2 |
Optional. |
SENDER/BILLINFO2 |
RIGHTFAX_SENDER_RFUSER |
Required. |
SENDER/RF_USER |
RIGHTFAX_FAX_TO_NUMBER |
Required. |
DESTINATIONS/FAX/TO_FAXNUM |
RIGHTFAX_FAX_TO_NAME |
Optional. |
DESTINATIONS/FAX/TO_NAME |
RIGHTFAX_FAX_TO_COMPANY |
Optional. |
DESTINATIONS/FAX/TO_COMPANY |
RIGHTFAX_FAX_TO_ALTNUMBER |
Optional. |
DESTINATIONS/FAX/ALT_FAX_ |
RIGHTFAX_FAX_TO_CONTACTNUMBER |
Optional. |
DESTINATIONS/FAX/TO_ |
RIGHTFAX_FAX_COVERSHEET |
Optional. |
DESTINATIONS/FAX/COVERSHEET |
RIGHTFAX_COVERTEXT |
Optional. |
COVERTEXT |
RIGHTFAX_COVERTEXT_TYPE |
Optional. |
COVERTEXT/type |
RIGHTFAX_COVERTEXT_ENCODING |
Optional. |
COVERTEXT/encoding |
RIGHTFAX_CONTENT_TYPE |
Optional. |
Set to Content-Type field |
Note: In addition to the above listed RightFax specific properties, all delivery manager common properties, including BUFFERING_MODE (for document redelivery) and FILTER (for document conversion), are supported.
You want to set the RightFax Server in a configuration file?
I am sure you already know that BI Publisher supports a delivery configuration file to
manage delivery servers, delivery properties and custom delivery channels. Now RightFax
server has been added to this list with server type as 'rightfax'
<server name="myhost" type=”rightfax”>
This server type expects values for Host, port, uri, username, password, authType,
encType, proxyPort, proxyUsername, proxyPassword, proxyAuthType, filter and
filterOutputContentType.
Please check the BI Publisher ‘Administrator’s and Developer’s Guide’ to know more
about the delivery configuration file.
Sample Delivery Configuration file (xdodelivery.cfg) -
<?xml version='1.0' encoding='UTF-8'?>
<config xmlns="http://xmlns.oracle.com/oxp/delivery/config">
<!-- ======================================================== -->
<!-- servers section -->
<!-- List your pre-defined servers here. -->
<!-- ======================================================== -->
<servers>
<server name="myhost" type="rightfax" default="true" >
<host>myrightfax1.companyname.com</host>
<port>80</port>
<uri/>
<username/>
<password/>
<authType/>
<encType/>
<proxyHost/>
<proxyPort/>
<proxyUsername/>
<proxyAuthType/>
<filter/>
<filterOutputContentType/>
</server>
</servers>
<!-- ======================================================== -->
<!-- properties section -->
<!-- List the system properties here. -->
<!-- ======================================================== -->
<properties>
<property name="ds-temp-dir">/tmp</property>
<property name="ds-buffering">true</property>
</properties>
<!-- ======================================================== -->
<!-- channels section -->
<!-- List the custom delivery channels here. -->
<!-- ======================================================== -->
<channels/>
</config>
Can we monitor the Job Status?
When the BI Publisher Delivery Manager submits a job, it receives an XML response from
RightFax server. This response includes the unique id for the fax job, which can be used to
check status of the job by submitting a separate request to RightFax server. However, BI
Publisher Delivery Manager is not using this unique fax job id approach. Instead, we
recommend the standard approach used by all delivery channels to get the job status.
In this approach, after a job is submitted the client program can make ‘asynchronous’
call using delivery manager APIs. You can create your own callback logic by implementing
DeliveryResponseListener interface. You must implement the responseReceived() method.
This method should be called when the delivery request completes. You can pass this
callback when you invoke the submit() method of the DeliveryRequest. This will initiate
the delivery process in the background and the submit() method will immediately return
the control to DeliveryResponseListener to get the delivery status. Sample code follows:
static class MyListener implements DeliveryResponseListener{
public void responseReceived(DeliveryResponse pResponse){
System.out.println("Request done!");
int status = pResponse.getStatus();
System.out.println("Request status id : " + status);
String msg = pResponse.getStatusMessage();
System.out.println("Request status message : " + msg);
// Update the status in database here...
}
}
public static void main(String[] args){
try
{
DeliveryManager dm = new DeliveryManager();
DeliveryRequest req =
dm.createRequest(DeliveryManager.TYPE_RIGHTFAX);
req.setDocument("d:/tmp/test.ps");
req.submit(new MyListener());
}
catch (Exception e)
{
e.printStackTrace();
}
}
In asynchronous mode, server status is checked once per minute by default but you can control this interval by setting ASYNCH_CHECK_INTERVAL delivery property before submitting the request.
Check the status codes returned by the Delivery Manager and its corresponding status codes/error codes on the RightFax server.
Delivery Manager Status/Error Code |
RightFax Status/Error Code |
STATUS_CLIENT_IN_PROCESS |
|
STATUS_FAILED_BUSY |
|
STATUS_FAILED_CLIENT_ERROR |
-1 (failure to load XML DOM – possibly XML |
STATUS_FAILED_INVALID_RECIPIENT |
|
STATUS_FAILED_INVALID_REQUEST |
|
STATUS_FAILED_INVALID_USER |
|
STATUS_FAILED_IO_ERROR |
|
STATUS_FAILED_SERVER_ERROR |
-3 (failed to connect to RightFax Server) -2 (failed to load XSL into DOM) 0 (submit/query failure) 9 (Too many errors) 10 (Duplicate) 11 (Error) 12 (Needs attention) 13 (Needs attention) Any other status code |
STATUS_FAILED_TIMEOUT |
|
STATUS_NOT_DELIVERED |
So I believe you are all set to try the document delivery to a RightFax Server.. Happy faxing !! Please note down the patch numbers -
The patch number for EBS 11i (for XML Publisher 5.6.3) is -
7665602 - RIGHT FAX CHANNEL SUPPORT WITH PROVISION FOR DELIVERY STATUS AT LATER TIME
The patch number for EBS 11i (for Collections) is -
8435600 - UNABLE TO SEE FAILURE REASON IN THE CONCURRENT PROGRAM LOG FILE
Comments (14)
I recently came across your blog and have been reading along. I thought I would leave my first comment. I don't know what to say except that I have enjoyed reading. Nice blog. I will keep visiting this blog very often.
Susan
http://8080proxy.com
Posted by Susan | July 21, 2009 5:02 AM
Posted on July 21, 2009 05:02
Hi Tim,
Is it possible to use this functionality for Purchase Orders . there is a standard program in EBS called 'PO Output for Communication: FAX '.
Is it possible to integrate this program with Right Fax. ?if so can you please provide soem steps?
Can you please ellaborate this blog on Fax delivery of documents or provide with some notes or documents?
Thanks,
Nisha from the Sunshine City (St Pete, FL)
Posted by Nisha | August 10, 2009 7:20 AM
Posted on August 10, 2009 07:20
Hi,
Can we use the patch 7665602 - RIGHT FAX CHANNEL SUPPORT WITH PROVISION FOR DELIVERY STATUS AT LATER TIME to R12.1.1 version as well?
Thanks,
Sreeni
Posted by Sreeni | September 23, 2009 4:56 AM
Posted on September 23, 2009 04:56
If you have to do it, you might as well do it right.
Posted by Draylla | October 16, 2009 1:37 PM
Posted on October 16, 2009 13:37
I want to say - thank you for this!
Posted by Hebeth | October 16, 2009 6:05 PM
Posted on October 16, 2009 18:05
I want to say - thank you for this!
Posted by Lothoa | October 16, 2009 9:26 PM
Posted on October 16, 2009 21:26
If you have to do it, you might as well do it right.
Posted by Acerrac | October 16, 2009 11:21 PM
Posted on October 16, 2009 23:21
Great. Now i can say thank you!
Posted by Biarid | October 16, 2009 11:41 PM
Posted on October 16, 2009 23:41
I want to say - thank you for this!
Posted by Wicaomar | October 17, 2009 12:55 AM
Posted on October 17, 2009 00:55
If you have to do it, you might as well do it right.
Posted by Deagord | October 17, 2009 2:48 AM
Posted on October 17, 2009 02:48
I want to say - thank you for this!
Posted by Jayder | October 17, 2009 4:24 AM
Posted on October 17, 2009 04:24
Trip is injected with 40mg of mirazine by Phlox to cut the decompression time in half to three hours. ,
Posted by Bob65 | October 22, 2009 4:11 AM
Posted on October 22, 2009 04:11
Q4: What are the costs associated with each device? ,
Posted by Mark52 | October 23, 2009 3:22 AM
Posted on October 23, 2009 03:22
Спасибо за иформацию
Posted by порно | November 1, 2009 6:12 PM
Posted on November 1, 2009 18:12