:可访问Weaver Server API接口的机器IP【5】准备就绪
3、编写一个扩展程序
编写第一个扩展程序
--------------------------------------------------------------------------------
WeaverServer和SDK环境准备就绪后,我们可以开始第一个程序的编写。下面例子将演示,如何通过Weaver的API,扩展自己的应用。
【示例 】通过API,编写信息发送应用
处理程序如下: dim WeaverObj
dim WeaverParams
dim WeaverResult
Set WeaverObj = CreateObject(\"\")
Set WeaverParams = CreateObject(\"\")
= \"SMSOBJECT\"
\"SENDER\信息发送者
\"RECEIVER\信息接收者
\"SMS\测试\" '信息内容
\"CUT\ '1:自动切割信息 0:不切割
On error resume next
WeaverResult = (&H1001, WeaverParams) '“为发送 信息指令”PRO_SMS_SEND,
if( < 0 ) then WeaverResult =
msgbox WeaverResult
5. 点击 运行,发送信息;
【注】发送信息时,需确保WeaverServer的对外服务已启动。
三、工作流接口案例
1、 工作流对外接口使用说明
按照下面的步骤来安装并使用工作流接口:
1.1 、把接口包里解压缩后按照目录机构拷贝/覆盖到e-cology系统目录中
、 把自己开发的实现了RequestOutWork接口的类放到相应的包里,并把这个类的全路径注册到接口配置文件里(\\prop\\),格式如下
工作流id=处理类的全路径
例如:112= 、 在e-cology系统配置文件中加一个配置项如下:
hasOutWork = true
因为如果没有这条语句,或者其值为false,那么系统将不进行任何调用,即使在\\prop\\文件里注册也不起作用只有上面的语句在主配置文件里出现,系统工作流引擎才会去\\prop\\文件里查找工作流相关的处理类。
完成上面的步骤就可以正常使用了,另外有两个例子文件所名了怎样创建POST请求,以及怎样实现RequestOutWork接口,路径如下:
/src/weaver/workflow/request/
/src/weaver/workflow/request/
2、工作流接口技术说明
里描述的时客户开发需要用到的类,还有一些jsp文件和java类文件这里没有说明,因为这些文件时开发当中不需要关心也不需要修改的。
/src/weaver/workflow/request/
描述:如果需要在归档的时候执行自己定义的操作,那么必须实现这个类的execute方法,在这个方法里可以执行自己的操作,然后把这个类注册到接口的配置文件里面,这样工作流引擎就可以在归档的时候调用这个类的execute方法了。
方法:
booleanexecute(intrequestid)throwsRequestOutWorkException
功能:执行归档前自定义的操作
输入:工作流请求id
返回:是否成功
/src/weaver/workflow/request/
描述:这个类可以帮助开发者根据requestid方便的得到工作流的相关数据
方法:
RequestOutData(intrequestid)
功能:构建一个读取工作流数据的类,并且设置需要读取的工作流请求的id
输入:工作流请求id
方法:
StringgetData(StringfieldName)
功能:根据字段名称取得主表的数据
输入:字段名称
返回:字段的值
方法:
booleannext()
功能:由于明细数据时多行的数据结构,所以有这个函数来在多行之间移动。移动到明细数据的下一行,第一次移动到的一行,第二次到第二行……
输入:无
返回:如果已经到最后一行,或者根本没有明细数据,那么返回false否则返回true
方法:
StringgetDetailData(StringfieldName)
功能:当有next()移动到需要的明细数据行时,由这个函数得到明细表的数据,如果没有明细,那么返回null
输入:明细字段名称
返回:明细字段的值
方法:
booleanloadData()
功能:读取数据库中的数据
输入:无
返回:如果成功返回true否则返回false
对于创建HTTP POST请求的说明
如果要创建一个工作流请求,那么必须用程序创建一个HTTPPOST请求,创建POST请求的方法很多,只要创建的头格式符合下面的说明即可,下面用java语言进行说明
假设out为建立连接后得到的输出流,那么创建POST请求如下所述:
(\"POST\"+file+\"HTTP/\\r\\n\");
(\"Accept:*/*\\r\\n\");
(\"Accept-Encoding:gzip,deflate\\r\\n\");
(\"Accept-Language:zh-cn\\r\\n\");
(\"Cache-Control:no-cache\\r\\n\");
(\"Connection:Keep-Alive\\r\\n\");
(\"Content-Length:\"+().length+\"\\r\\n\");
(\"Content-Type:application/x-www-form-urlencoded\\r\\n\");
(\"Host:\"+wwwHost+\"\\r\\n\");
(\"User-Agent:Mozilla/(compatible;;\\r\\n\");
(\"Pragma:no-cache\\r\\n\");
(\"Connection:close\\r\\n\\r\\n\");
(data);
蓝色行为必须项
其中
file 代表请求的页面名称 wwwHost为服务器的名称
比如 file= /weaver/
wwwHost=localhost
注意:处理POST请求的是一个固定的jsp文件,不同的仅仅时wwwHost不同,而file总是相同的,都是/workflow/request/,这个文件是处理外部来的POST请求的固定文件
data POST请求代表数据,数据必须符合指定的格式,下面有描述
主表字段: field_主字段名称 例如:field_document、field_text1
从表字段: field_从表字段名称_序列号(1、2、3……)
例如
主表字段:field_main1、field_main2
从表字段:
field_detail2_1、field_detail3_1
field_detail2_2、field_detail3_2
field_detail2_3、field_detail3_3
field_detail2_4、field_detail3_4
field_detail2_5、field_detail3_5
其中 main1、main2为主字段名称detail2、detail3为从表字段名称
那么数据的格式就是
field_main1=value1&field_main2=value2&field_detail2_1=value3&field_detail3_1=
value4……
用java语言表示为
(“field_main1=value1&field_main2=value2&field_detail2_1=value3&field_detail3_1=
value4……”);