AOFAX服务器数据库开发接口说明.docx

上传人:b****1 文档编号:10883238 上传时间:2023-05-28 格式:DOCX 页数:19 大小:34.91KB
下载 相关 举报
AOFAX服务器数据库开发接口说明.docx_第1页
第1页 / 共19页
AOFAX服务器数据库开发接口说明.docx_第2页
第2页 / 共19页
AOFAX服务器数据库开发接口说明.docx_第3页
第3页 / 共19页
AOFAX服务器数据库开发接口说明.docx_第4页
第4页 / 共19页
AOFAX服务器数据库开发接口说明.docx_第5页
第5页 / 共19页
AOFAX服务器数据库开发接口说明.docx_第6页
第6页 / 共19页
AOFAX服务器数据库开发接口说明.docx_第7页
第7页 / 共19页
AOFAX服务器数据库开发接口说明.docx_第8页
第8页 / 共19页
AOFAX服务器数据库开发接口说明.docx_第9页
第9页 / 共19页
AOFAX服务器数据库开发接口说明.docx_第10页
第10页 / 共19页
AOFAX服务器数据库开发接口说明.docx_第11页
第11页 / 共19页
AOFAX服务器数据库开发接口说明.docx_第12页
第12页 / 共19页
AOFAX服务器数据库开发接口说明.docx_第13页
第13页 / 共19页
AOFAX服务器数据库开发接口说明.docx_第14页
第14页 / 共19页
AOFAX服务器数据库开发接口说明.docx_第15页
第15页 / 共19页
AOFAX服务器数据库开发接口说明.docx_第16页
第16页 / 共19页
AOFAX服务器数据库开发接口说明.docx_第17页
第17页 / 共19页
AOFAX服务器数据库开发接口说明.docx_第18页
第18页 / 共19页
AOFAX服务器数据库开发接口说明.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

AOFAX服务器数据库开发接口说明.docx

《AOFAX服务器数据库开发接口说明.docx》由会员分享,可在线阅读,更多相关《AOFAX服务器数据库开发接口说明.docx(19页珍藏版)》请在冰点文库上搜索。

AOFAX服务器数据库开发接口说明.docx

AOFAX服务器数据库开发接口说明

AOFAX服务器数据库开发接口说明

一、接口概述

AOFAX数据库接口是为满足企业更多收发传真方式的一种扩展机制,实现了AOFAX传真系统与企业应用系统(如ERP、MIS、OA办公等)之间的交互和集成,从而达到扩展和自定义企业收发传真模式的目的。

AOFAX数据库接口系统由企业应用服务器、中间数据库以及AOFAX传真服务器组成,结构如下图所示:

接口实现了传真的收发功能,收发过程如下:

发送传真:

企业应用系统将待发送的传真任务信息写入中间数据库系统,AOFAX传真服务器从中间数据库读取发送任务,转换后提交发送,发送完成后将发送结果回写到中间数据库,企业应用系统从数据库中读取发送结果并进行后续处理。

接收传真:

AOFAX传真服务器收到新传真后,自动将传真信息写入到中间数据库系统,企业应用系统从中间数据库读取接收传真信息并进行后续处理。

二、系统部署

1、准备软硬件环境:

传真服务器:

AOFAX企业型、服务器型。

数据库系统:

MySQL、SQLServer、Oracle等数据库系统。

企业应用系统:

确保系统运作正常,并支持相应数据库系统的存取操作。

2、配置数据库:

在已正常运作的数据库系统中创建所需的接口数据库和接口表:

发送任务表(aofax_send_task)、接收任务表(aofax_recv_task)。

表结构和创建脚本参考后续说明。

3、创建ODBC数据源:

在AOFAX传真服务器上创建相应接口数据库的ODBC数据源DSN项,并确保连接测试成功。

4、配置AOFAX传真服务器:

启动AOFAX传真系统,在AOFAX管理器“工具”->“选项”菜单的“系统选项”对话框中的“扩展任务”属性页中,选择“启用扩展任务调度”和“启用数据库接口收发传真”,并输入正确的DSN、UID和PWD信息,确保连接测试成功。

三、开发说明

1、发送传真:

在AOFAX传真服务器上创建临时文件夹(如C:

\fSendFax),用以保存企业应用软件提交的待发送传真的文档(文档格式参考下面说明)。

企业用户在企业应用软件(如ERP、OA办公管理等)中发送传真时,发送界面中需要把要发送传真的相关信息体现出来,主要包括收发件人名、区号、传真号码、要发送的文档名等信息。

在提交发送时把这些信息保存到中间数据库的AOFAX发送任务表(aofax_send_task)中,同时把要发送传真的文档提交到AOFAX传真服务器上的临时文件夹中,即上述在AOFAX传真服务器上创建的临时文件夹(注意,在填写发送文档路径字段时,要填写绝对路径,例如:

AOFAX传真服务器上新建的临时文件夹为“C:

\fSendFax”,提交的待发送的文档名称为“abc.doc”,则在填写发送任务表的“sendfile”字段时,应填写“C:

\fSendFax\abc.doc”)。

文档提交以后,AOFAX传真服务器定时扫描发送任务表,如果有待发送的文档,将自动读出发送任务信息、转换并完成发送,同时把发送结果回写到发送任务表中。

如果企业用户要安装AOFAX传真客户端,请安装AOFAX企业型或服务器型中的客户端软件即可。

2、接收传真:

AOFAX传真服务器在接收到新传真后,自动把传真相关信息保存到中间数据库的接收任务表(aofax_recv_task)中,用户可以通过读取接收任务表中的内容来查看接收到的传真文件和传真信息。

传真文件默认以TIF格式保存在AOFAX传真服务器软件安装目录下的用户数据目录中。

3、文档格式:

所有通过数据库接口提交的待发送传真文档,都是在AOFAX传真服务器端转换成传真格式文件(.sfx)的,因此,如果要发送某种格式的文档时,这种格式的浏览器或编辑软件必须安装在AOFAX传真服务器上,比如常用的OFFICE软件等等。

能实现自动转换的常用格式有:

.doc、.xls、.txt、.pdf、.wri等。

另外有些软件不支持自动转换功能,如WPS等,即使安装了这种格式的软件,也不能实现自动发送。

同时建议提交的文档不要感染病毒,不要有密码等。

四、数据库表结构

发送传真任务表

表名:

aofax_send_task

字段名

类型

长度(字节)

说明

taskid

INTEGER

4

任务ID,主键,自增长

title

VARCHAR

200

传真主题

ic

INTEGER

4

国际区号(必填,如86,即时传真时填0)

ldc

INTEGER

4

长途区号(必填,如755,即时传真或没有长途区号时填0)

fax

VARCHAR

64

传真号码(发送有线传真时必填,如83235170)

account

VARCHAR

20

傲发帐号(发送即时传真时必填,如AF90000099)

sender1

VARCHAR

100

发件人1,标识传真发件人,如公司名

sender2

VARCHAR

30

发件人2,标识传真发件人,如人名等

receiver1

VARCHAR

100

收件人1,标识传真收件人,如公司名

receiver2

VARCHAR

30

收件人2,标识传真收件人,如人名等

sendfile

VARCHAR

500

待发送文件名(必填,绝对路径),多个文件之间用“|”相隔(例如:

“C:

\fax1.txt|D:

\fax2.txt”)

sendflag

INTEGER

4

发送标志(必填):

0:

普通发送

1:

优先发送(排到当前发送队列的首部)

line

INTEGER

4

选择线路(必填):

0:

自动调度(先尝试即时传真,失败后由电话线发送)

1:

仅电话线发送(fax不能为空)

2:

仅即时传真发送(account不能为空)

status

INTEGER

4

任务状态:

0:

提交(等待转换)

1:

发送(已转换并排队发送)

2:

成功(传真发送成功)

3:

失败(传真发送失败)

4:

取消(传真发送被取消)

添加新任务时固定填写为0,发送完成后状态由系统回写

extinfo

VARCHAR

200

扩展信息

retcode

INTEGER

4

结果码,发送完成后由系统回写:

0:

未知原因

1:

2:

无拨号音

3:

无应答

4:

文件格式错

5:

发送页前信号中断

6:

线路训练失败

7:

发送页后信号中断

8:

用户取消

9:

超时无应答

20:

待发送文件错误

21:

系统读写错误

22:

打印转换错误

sendtime

INTEGER

4

发送时间(标准Ctime_t格式,从1970年1月1日0时0分0秒开始计算的秒数),发送完成后由系统回写

faxfile

VARCHAR

260

转换后传真文件名(TIF格式,绝对路径),发送完成后由系统回写

reserve1

INTEGER

4

保留字段1,固定填0

reserve2

INTEGER

4

保留字段2,固定填0

ext1

INTEGER

4

扩展字段1,固定填0

ext2

INTEGER

4

扩展字段2,固定填0

memo

VARCHAR

200

备注

subtype

INTEGER

4

提交类型:

0:

接口提交

1:

客户端提交

接收传真任务表

表名:

aofax_recv_task

字段名

类型

长度(字节)

说明

taskid

INTEGER

4

任务ID,主键,自增长

title

VARCHAR

200

传真主题

ic

INTEGER

4

国际区号(发送方)

ldc

INTEGER

4

长途区号(发送方)

fax

VARCHAR

64

传真号码(发送方传真号码,即时传真时为“传真号码/傲发号”,如“83235170/AF90000099”)

sender1

VARCHAR

100

发件人1,标识传真发件人,如公司名

sender2

VARCHAR

30

发件人2,标识传真发件人,如人名等

receiver1

VARCHAR

100

收件人1,标识传真收件人,如公司名、部门等

receiver2

VARCHAR

30

收件人2,标识传真收件人,如人名、分机号等

faxfile

VARCHAR

260

传真文件名(绝对路径,TIF格式)

page

INTEGER

4

传真页数

recvtime

INTEGER

4

接收时间(标准Ctime_t格式,从1970年1月1日0时0分0秒开始计算的秒数)

recvflag

INTEGER

4

接收标志:

0:

电话线传输方式

1:

即时传真传输方式

deviceid

VARCHAR

16

传真机SN码,主要用在多路的情况下标识传真是从哪台3G-FAX接收

extinfo

VARCHAR

200

扩展信息

ext1

INTEGER

4

扩展字段1,固定为0

ext2

INTEGER

4

扩展字段2,固定为0

memo

VARCHAR

200

备注

readflag

INTEGER

4

已读标识:

0:

未读

1:

已读

五、SQL脚本参考

1、MySQL:

DROPTABLEIFEXISTSaofax_recv_task;

CREATETABLEaofax_recv_task(

taskidint(10)unsignedNOTNULLAUTO_INCREMENT,

titlevarchar(200)DEFAULTNULL,

icint(10)unsignedDEFAULTNULL,

ldcint(10)unsignedDEFAULTNULL,

faxvarchar(64)DEFAULTNULL,

sender1varchar(100)DEFAULTNULL,

sender2varchar(30)DEFAULTNULL,

receiver1varchar(100)DEFAULTNULL,

receiver2varchar(30)DEFAULTNULL,

faxfilevarchar(260)DEFAULTNULL,

pageint(10)unsignedDEFAULTNULL,

recvtimeint(10)unsignedDEFAULTNULL,

recvflagint(10)unsignedDEFAULTNULL,

deviceidvarchar(16)DEFAULTNULL,

extinfovarchar(200)DEFAULTNULL,

ext1int(10)unsignedDEFAULTNULL,

ext2int(10)unsignedDEFAULTNULL,

memovarchar(200)DEFAULTNULL,

PRIMARYKEY(taskid),

UNIQUEKEYtaskid(taskid)

)ENGINE=MyISAMAUTO_INCREMENT=200DEFAULTCHARSET=latin1;

DROPTABLEIFEXISTSaofax_send_task;

CREATETABLEaofax_send_task(

taskidint(10)unsignedNOTNULLAUTO_INCREMENT,

titlevarchar(200)DEFAULTNULL,

icint(10)unsignedDEFAULTNULL,

ldcint(10)unsignedDEFAULTNULL,

faxvarchar(64)DEFAULTNULL,

accountvarchar(20)DEFAULTNULL,

sender1varchar(100)DEFAULTNULL,

sender2varchar(30)DEFAULTNULL,

receiver1varchar(100)DEFAULTNULL,

receiver2varchar(30)DEFAULTNULL,

sendfilevarchar(500)DEFAULTNULL,

sendflagint(10)unsignedDEFAULTNULL,

lineint(10)unsignedDEFAULTNULL,

statusint(10)unsignedDEFAULTNULL,

extinfovarchar(200)DEFAULTNULL,

retcodeint(10)unsignedDEFAULTNULL,

sendtimeint(10)unsignedDEFAULTNULL,

faxfilevarchar(260)DEFAULTNULL,

reserve1int(10)unsignedDEFAULTNULL,

reserve2int(10)unsignedDEFAULTNULL,

ext1int(10)unsignedDEFAULTNULL,

ext2int(10)unsignedDEFAULTNULL,

memovarchar(200)DEFAULTNULL,

PRIMARYKEY(taskid),

UNIQUEKEYtaskid(taskid)

)ENGINE=MyISAMAUTO_INCREMENT=3DEFAULTCHARSET=latin1;

2、SQLServer:

ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[aofax_send_task]')andOBJECTPROPERTY(id,N'IsUserTable')=1)

droptable[aofax_send_task]

GO

ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[aofax_recv_task]')andOBJECTPROPERTY(id,N'IsUserTable')=1)

droptable[aofax_recv_task]

GO

CREATETABLE[aofax_send_task](

taskid[int]IDENTITY(1,1)PRIMARYKEYCLUSTEREDNOTNULL,

title[varchar](200)NOTNULLDEFAULT(0),

ic[int]NOTNULLDEFAULT(0),

ldc[int]NOTNULLDEFAULT(0),

fax[varchar](64)NOTNULLDEFAULT(0),

account[varchar](20)NOTNULLDEFAULT(0),

sender1[varchar](100)NOTNULLDEFAULT(0),

sender2[varchar](30)NOTNULLDEFAULT(0),

receiver1[varchar](100)NOTNULLDEFAULT(0),

receiver2[varchar](30)NOTNULLDEFAULT(0),

sendfile[varchar](500)NOTNULLDEFAULT(0),

sendflag[int]NOTNULLDEFAULT(0),

line[int]NOTNULLDEFAULT(0),

status[int]NOTNULLDEFAULT(0),

extinfo[varchar](200)NOTNULLDEFAULT(0),

retcode[int]NOTNULLDEFAULT(0),

sendtime[int]NOTNULLDEFAULT(0),

faxfile[varchar](260)NOTNULLDEFAULT(0),

reserve1[int]NOTNULLDEFAULT(0),

reserve2[int]NOTNULLDEFAULT(0),

ext1[int]NOTNULLDEFAULT(0),

ext2[int]NOTNULLDEFAULT(0),

memo[varchar](200)NOTNULLDEFAULT(0),

)ON[PRIMARY]

GO

CREATETABLE[aofax_recv_task](

taskid[int]IDENTITY(1,1)PRIMARYKEYCLUSTEREDNOTNULL,

title[varchar](200)NOTNULLDEFAULT(0),

ic[int]NOTNULLDEFAULT(0),

ldc[int]NOTNULLDEFAULT(0),

fax[varchar](64)NOTNULLDEFAULT(0),

sender1[varchar](100)NOTNULLDEFAULT(0),

sender2[varchar](30)NOTNULLDEFAULT(0),

receiver1[varchar](100)NOTNULLDEFAULT(0),

receiver2[varchar](30)NOTNULLDEFAULT(0),

faxfile[varchar](260)NOTNULLDEFAULT(0),

page[int]NOTNULLDEFAULT(0),

recvtime[int]NOTNULLDEFAULT(0),

recvflag[int]NOTNULLDEFAULT(0),

deviceid[varchar](16)NOTNULLDEFAULT(0),

extinfo[varchar](200)NOTNULLDEFAULT(0),

ext1[int]NOTNULLDEFAULT(0),

ext2[int]NOTNULLDEFAULT(0),

memo[varchar](200)NOTNULLDEFAULT(0),

)ON[PRIMARY]

GO

3、Oracle:

droptriggeraofax_send_task_trigger;

dropsequenceaofax_send_task_seq;

droptableaofax_send_task;

droptriggeraofax_recv_task_trigger;

dropsequenceaofax_recv_task_seq;

droptableaofax_recv_task;

CREATETABLEaofax_send_task(

taskidnumber(10),

titlevarchar2(200),

icnumber(10),

ldcnumber(10),

faxvarchar2(64),

accountvarchar2(20),

sender1varchar2(100),

sender2varchar2(30),

receiver1varchar2(100),

receiver2varchar2(30),

sendfilevarchar2(500),

sendflagnumber(10),

linenumber(10),

statusnumber(10),

extinfovarchar2(200),

retcodenumber(10),

sendtimenumber(10),

faxfilevarchar2(260),

reserve1number(10),

reserve2number(10),

ext1number(10),

ext2number(10),

memovarchar2(200),

subtypenumber(10),

PRIMARYKEY(taskid)

);

createsequenceaofax_send_task_seqstartwith1incrementby1cache5;

createtriggeraofax_send_task_trigger

beforeinsertonaofax_send_task

foreachrow

begin

selectaofax_send_task_seq.nextvalinto:

new.taskidfromdual;

end;

CREATETABLEaofax_recv_task(

taskidnumber(10),

titlevarchar2(200),

icnumber(10),

ldcnumber(10),

faxvarchar2(64),

sender1varchar2(100),

sender2varchar2(30),

receiver1varchar2(100),

receiver2varchar2(30),

faxfilevarchar2(260),

pagenumber(10),

recvtimenumber(10),

recvflagnumber(10),

deviceidvarchar2(16),

extinfovarchar2(200),

ext1number(10),

ext2number(10),

memovarchar2(200),

readflagnumber(10),

PRIMARYKEY(taskid)

);

createsequenceaofax_recv_task_seqstartwith1incrementby1cache5;

createtriggeraofax_recv_task_trigger

beforeinsertonaofax_recv_task

foreachrow

begin

selectaofax_recv_task_seq.nextvalinto:

new.taskidfromdual;

end;

commit;

六、注意事项

1、默认扫描数据库打印时间间隔为30000毫秒(30S)。

a.修改时间:

最少为15000毫秒(15S)

b.修改方法:

打开传真安装目录(D:

\ProgramFiles\AOFAX\AOFAXAdvan

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2