监理公司管理系统 | 工程企业管理系统 | OA系统 | ERP系统 | 造价咨询管理系统 | 工程设计管理系统 | 甲方项目管理系统 | 签约案例 | 客户案例 | 在线试用
X 关闭
免费OA系统

当前位置:工程项目OA系统 > 免费办公软件 > 免费OA系统

OA软件也开始免费啦!来看哈他的文档webservices接口

申请免费试用、咨询电话:400-8352-114

第十部分 泛普免费OA文档webservices接口
一. 泛普OA管理平台接口说明
可以通过该接口对系统中的文档进行一些操作,创建文档、删除文档、更新文档、查看文档
二. 使用说明
一、 泛普OA软件泛普OA系统系统文档接口部署
1. 更新lib目录下文件
将spring.jar更新为spring-1.2.6.jar
将xfire-all-1.1.2.jar更新为xfire-all-1.2.6.jar
添加xbean-spring-2.8.jar文件
 
2. 修改web.xml文件
在相应处增加servlet部署(参考系统中已有很多servlet部署),加入如下描述
  <servlet>
    <servlet-name>XFireServlet</servlet-name>
    <display-name>XFire Servlet</display-name>
<servlet-class>org.codehaus.xfire.transport.http.XFireConfigurableServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>XFireServlet</servlet-name>
    <url-pattern>/services/*</url-pattern>
  </servlet-mapping>
注意:不要添加在注释中(即以“<!—”开始至“-->”结束为注释)!
 
3. 添加文件
在classes目录中添加META-INF/xfire/services.xml
在classes目录中添加以下class文件:
泛普OA系统docswebservicesDocAttachment.class
泛普OA系统docswebservicesDocCustomField.class
泛普OA系统docswebservicesDocInfo.class
泛普OA系统docswebservicesDocService.class
泛普OA系统docswebservicesDocServiceImpl.class
 
二、 泛普OA破解版接口使用
 
文档接口采用标准的Web Service规范,因此可以使用标准的Web Service客户端调用。
1. 客户端所需lib
commons-discovery-0.2.jar
javax-wsdl_1.5.1jar
commons-logging_1.0.4.jar
axis.jar
jaxrpc.jar
saaj.jar
activation.jar
mail.jar
 
2. wsdl描述
在泛普OA系统系统中成功部署文档Web Service接口后,访问以下地址即可查看到该接口的wsdl描述:http://服务器:端口号/services/DocService?wsdl
 
 
3. 接口方法概述
名称 参数 返回值 功能描述
login String loginid:用户登陆名
String password :用户登陆密码
int logintype:登陆方式(0 数据库验证;1 动态密码验证;2 LDAP验证)
String ipaddress:用户IP地址 String:登陆Session码 登陆验证用户,并根据返回随Session码
createDoc DocInfo docinfo:文档信息对象
String sessioncode:登陆Session码 int:1 成功 0 失败 根据文档对象创建文档
updateDoc DocInfo docinfo:文档信息对象
String sessioncode:登陆Session码 int:1 成功 0 失败 根据文档对象修改文档
deleteDoc int id:文档ID
String sessioncode:登陆Session码 int:1 成功 0 失败 根据文档ID删除文档
getDoc int id:文档ID
String sessioncode:登陆Session码 DocInfo:文档对象 根据文档ID取得文档对象(带文档内容及附件)
getDocCount String sessioncode:登陆Session码 int:文档数 取得有权限访问的文档数
getList String sessioncode:登陆Session码 DocInfo[]:文档对象数组 取得有权限访问的文档对象数组(无文档内容及附件)
 
4. 接口调用示例
使用eclipse向导生成Web Service客户端
 
 
 
完成后,创建调用程序后,写入如下代码:
    public static void main(String[] args) {
    try {
    //根据Eclipse生成的Web Service客户端程序,取得接口
    DocServicePortType service = new DocServiceLocator().getDocServiceHttpPort(new URL("http://localhost:8080//services/DocService"));
    //登陆
    String session = service.login("zdp", "1", 0, "127.0.0.1");
    //取得有权限访问的文档数
    int count = service.getDocCount(session);
   
    //取得有权限访问的文档列表,第1页,每页10条记录
    DocInfo[] docs1 = service.getList(session,1,10);
    //取得有权限访问的文档列表,第2页,每页10条记录
    DocInfo[] docs2 = service.getList(session,2,10);
    //循环打印取得的文档的ID、标题、主目录ID、主目录名称、分目录ID、分目录名称、
    //子目录ID、子目录名称、文档创建人ID、文档创建人名称、创建日期、创建时间
    for(int i=0;i<docs1.length;i++) 
    System.out.println(docs1[i].getId()+"|"+docs1[i].getDocSubject()+"|"+
docs1[i].getMaincategory()+"|"+docs1[i].getMaincategoryStr()+"|"+
docs1[i].getSubcategory()+"|"+docs1[i].getSubcategoryStr()+"|"+
    docs1[i].getSeccategory()+"|"+docs1[i].getSeccategoryStr()+"|"+
    docs1[i].getDoccreaterid()+"|"+docs1[i].getDoccreatername()+"|"+
    docs1[i].getDoccreatedate()+"|"+docs1[i].getDoccreatetime());
 
    //根据ID取得文档内容
    DocInfo doc = service.getDoc(13095,session);
    //取得该文档的第一个附件
    DocAttachment da = doc.getAttachments()[0];
    //得到附件内容
    byte[] content = Base64.decode(da.getFilecontent());
    //得到附件在服务器上的绝对路径
    String filepath = da.getFilerealpath();
 
    //将附件内容转存至D:
    File file = new File("d:\"+da.getFilename());
try {
int byteread;
byte data[] = new byte[1024];
InputStream imagefile = null;
if(da.getIszip()==1){
ZipInputStream zin = new ZipInputStream(new ByteArrayInputStream(content));
if (zin.getNextEntry() != null)
imagefile = new BufferedInputStream(zin);
} else {
imagefile = new ByteArrayInputStream(content);
}
OutputStream out = new FileOutputStream(file);
while ((byteread = imagefile.read(data)) != -1) {
out.write(data, 0, byteread);
out.flush();
}
imagefile.close();
out.close();
} catch (Exception e) {
e.printStackTrace();
}
 
//根据绝对路径转存附件(仅限与泛普OA系统系统在同一服务器上)
try {
int byteread;
byte data[] = new byte[1024];
InputStream imagefile = null;
if(da.getIszip()==1){
ZipInputStream zin = new ZipInputStream(new FileInputStream(new File(da.getFilerealpath())));
if (zin.getNextEntry() != null)
imagefile = new BufferedInputStream(zin);
} else {
imagefile = new FileInputStream(new File(da.getFilerealpath()));
}
   
OutputStream out = new FileOutputStream(file);
while ((byteread = imagefile.read(data)) != -1) {
out.write(data, 0, byteread);
out.flush();
}
imagefile.close();
out.close();
} catch (Exception e) {
e.printStackTrace();
}
 
 
//上传附件,更新文档
content = null;
try {
int byteread;
byte data[] = new byte[1024];
InputStream input = new FileInputStream(new File("d:\123.pdf"));
 
ByteArrayOutputStream out = new ByteArrayOutputStream();
while ((byteread = input.read(data)) != -1) {
out.write(data, 0, byteread);
out.flush();
}
content = out.toByteArray();
input.close();
out.close();
} catch(Exception e){
e.printStackTrace();
}
da.setDocid(doc.getId());
da.setImagefileid(0);
da.setFilecontent(Base64.encode(content));
da.setIszip(1);
 
doc.setDocSubject("test");
doc.setDoccontent("content");
doc.setAttachments(new DocAttachment[]{da});
service.updateDoc(doc, session);
 
//上传附件,创建文档
content = null;
try {
int byteread;
byte data[] = new byte[1024];
InputStream input = new FileInputStream(new File("d:\123.pdf"));
 
ByteArrayOutputStream out = new ByteArrayOutputStream();
while ((byteread = input.read(data)) != -1) {
out.write(data, 0, byteread);
out.flush();
}
content = out.toByteArray();
input.close();
out.close();
} catch(Exception e){
e.printStackTrace();
}
 
da.setDocid(0);
da.setImagefileid(0);
da.setFilecontent(Base64.encode(content));
da.setFilerealpath("d:\123.pdf");
da.setIszip(1);
 
doc.setId(0);
doc.setDocSubject("test pdf1");
doc.setDoccontent("abcefghijk");
doc.setAttachments(new DocAttachment[]{da});
service.createDoc(doc, session);
    } catch(Exception e) {
    e.printStackTrace();
    }
}
 
5. 文档对象说明
DocInfo
/**
* 文档ID
*/
private int id;
 
/**
* 文档类型
* 1 Html文档 2 Office文档
*/
private int docType;
 
/**
* 文档标题
*/
private String docSubject;
 
/**
* 文档编号
*/
private String docCode;
 
/**
* 新闻类型
*/
private int docPublishType;
private String publishable;
 
/**
* 文档版本
*/
private int docEdition;
private int docEditionId;
private String docEditionStr;
 
/**
* 文档状态
*/
private int docStatus;
private String docStatusStr;
 
/**
*  主目录
*/
private int maincategory;
private String maincategoryStr;
 
/**
* 分目录
*/
private int subcategory;
private String subcategoryStr;
 
/**
* 子目录
*/
private int seccategory;
private String seccategoryStr;
 
/**
* 部门
*/
private int docdepartmentid;
private String docdepartmentStr;
 
/**
* 语言
*/
private int doclangurage;
private String doclangurageStr;
 
/**
* 关键字
*/
private String keyword;
 
/**
* 创建
*/
private int doccreaterid;
private int doccreatertype;
private String doccreatername;
private String doccreatedate;
private String doccreatetime;
 
/**
* 修改
*/
private int doclastmoduserid;
private int doclastmodusertype;
private String doclastmodusername;
private String doclastmoddate;
private String doclastmodtime;
 
/**
* 批准
*/
private int docapproveuserid;
private int docapproveusertype;
private String docapproveusername;
private String docapprovedate;
private String docapprovetime;
 
/**
* 失效
*/
private int docinvaluserid;
private int docinvalusertype;
private String docinvalusername;
private String docinvaldate;
private String docinvaltime;
 
/**
* 归档
*/
private int docarchiveuserid;
private int docarchiveusertype;
private String docarchiveusername;
private String docarchivedate;
private String docarchivetime;
 
/**
* 作废
*/
private int doccanceluserid;
private int doccancelusertype;
private String doccancelusername;
private String doccanceldate;
private String doccanceltime;
 
/**
* 主文档
*/
private int maindoc;
private String maindocname;
 
/**
* 被引用列表 
*/
private int[] childdoc;
private String[] chiledocname;
 
/**
* 文档所有者
*/
private int ownerid;
private int ownertype;
private String ownername;
 
/**
* 失效时间
*/
private String invalidationdate;
 
/**
* 虚拟目录
*/
private int[] dummyIds;
private String[] dummyNames;
 
/**
* 自定义字段
*/
private DocCustomField[] doccustomfields;
 
/**
* 关联类型
*/
private int hrmresid;
private int assetid;
private int CRMid;
private int itemid;
private int projectid;
private int financeid;
 
/**
* HTML文档内容
*/
private String doccontent;
 
/**
* Office文档内容
*/
private int imagefileId;
private int versionId;
 
/**
* 是否回复文档
*/
private String isreply;
private int replydocid;
 
/**
* 附件数
*/
private int accessorycount;
 
/**
* 回复数
*/
private int replaydoccount;
 
/**
* 文档附件
*/
private DocAttachment[] attachments;
 
 
DocCustomField
 
/**
* 自定义字段ID
*/
private int fieldid;
 
/**
* 自定义字段显示类型
*/
private String fieldhtmltype;
 
/**
* 自定义字段存储类型
*/
private String fielddbtype;
 
/**
* 自定义字段类型
*/
private int fieldtype;
 
/**
* 自定义字段显示名称
*/
private String fieldshow;
 
/**
* 自定义字段值
*/
private String fieldvalue;
 
 
DocAttachment
 
/**
* 文档ID
*/
private int docid;
 
/**
* 附件ID
*/
private int imagefileid;
 
/**
* 附件名称
*/
private String imagefilename;
 
/**
* 附件描述
*/
private String imagefiledesc;
 
/**
* 附件宽度(图片文件)
*/
private int imagefilewidth;
 
/**
* 附件高度(图片文件)
*/
private int imagefileheight;
 
/**
* 附件大小
*/
private int imagefilesize;
 
/**
* 附件类型
*/
private String docfiletype;
 
/**
* 附件版本
*/
private int versionId;
 
/**
* 附件版本描述
*/
private String versionDetail;
 
/**
* 是否Office文档内容附件
*/
private String isextfile;
 
/**
* 文件名称
*/
private String filename;
 
/**
* 文件类型
*/
private String filetype;
 
/**
* 文件使用次数
*/
private int fileused;
 
/**
* 文件绝对路径
*/
private String filerealpath;
 
/**
* 文件内容Base64后编码
*/
private String filecontent;
 
/**
* 是否压缩
*/
private int iszip;
 
发布:2006-04-22 15:19    编辑:泛普软件 · admin    [打印此页]    [关闭]

泛普免费OA系统其他应用

免费ERP系统 OA办公系统免费版 免费OA系统 免费ERP 免费财务软件 财务软件免费版 合同管理软件免费版 管家婆进销存免费版 小管家进销存免费版 生财宝进销存免费版 免费网店管理软件 服装管理系统免费版 免费广告公司管理系统 房地产销售软件下载 免费开源系统 免费办公管理系统 免费审批系统 免费办公用品管理软件 免费上网行为管理系统 免费公文管理系统 免费流程管理软件 免费商务管理软件 免费称重管理软件 免费订单管理系统 免费公司管理软件 免费信息管理系统 业务流程管理软件免费 免费时间管理软件 免费目标管理软件 免费协同管理软件 免费企业OA办公系统