金蝶OSF接口(s-HR系统)调用示例

72 篇文章 23 订阅
2 篇文章 0 订阅

金蝶OSF接口调用示例(金蝶s-HR系统接口):

①封装OSF接口参数Map;

②调用OSF接口;

以下示例仅演示了在Java环境中调用OSF接口,还有其它方式进行调用(例如使用单点登录的方式调用OSF接口等),这里未列举。

package com.kingdee.eas.si.test.osf;

import java.util.Map;
import com.kingdee.eas.si.util.OsfUtil;

/**
 * 获取工作流已办列表
 * @author 郭旭
 *
 */
public class GetAssignHst {

	public static void main(String[] args) {

		String serviceName = "getAssignHst"; //服务名称
		Map<String, Object> params = OsfUtil.params(); //参数
		params.put("number", "10138832"); //员工编码
		params.put("page", 1); //分页
		
		String result = OsfUtil.execute(serviceName, params);
		System.out.println(result);
		
	}

}

以下代码为OSF调用工具类,需要金蝶提供相应的Jar包(SDK)以及用户配置信息(数据库类型、代理用户账号、密码等);

package com.kingdee.eas.si.util;

import java.util.Map;
import javax.servlet.ServletInputStream;
import javax.servlet.http.HttpServletRequest;

import java.util.HashMap;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import com.kingdee.shr.api.OSFWSClient;
import com.kingdee.shr.osf.webservice.client.UserInfo;

/**
 * 金蝶OSF调用工具类
 * 直接调用执行(execute)方法即可,自动单点登录
 * @author 郭旭
 *
 */
public class OsfUtil {
	
	/**
	 * 执行金蝶OSF服务
	 * @param serviceName 服务名称
	 * @param params 接口参数
	 * @return 返回JSON
	 * 
	 */
	public static String execute(String serviceName, Map<String, Object> params){
		
		UserInfo user = getUser();
		String address = Resource.get("ADDRESS"); //系统地址
		String result = new OSFWSClient().proceedOSF(address, serviceName, params, user);
		
		return result;
		
	}
	
	/**
	 * 获取OSF服务接口参数
	 * @return Map
	 */
	public static Map<String, Object> params(){
		return new HashMap<String, Object>();
	}
	
	/**
	 * 获取OSF服务接口参数
	 * @param request HTTP请求
	 * @return JSon
	 * 
	 */
	public static String params(HttpServletRequest request) throws Exception{
		
		ServletInputStream input = request.getInputStream();
		BufferedReader reader = new BufferedReader(new InputStreamReader(input, "UTF-8"));
        StringBuilder builder = new StringBuilder();
        String param;
        while ((param = reader.readLine()) != null) {
        	builder.append(param);
        }
        
		return builder.toString();
		
	}

	/**
	 * 获取代理用户
	 * 数据库类型:SQLServer=0,Oracle=1,DB2=2
	 * @return 用户
	 * 
	 */
	public static UserInfo getUser() {
		
		UserInfo user = new UserInfo();
		user.setDbType(Resource.getInt("DBTYPE")); //数据库类型
		user.setDcName(Resource.get("DCNAME")); //数据中心
		user.setSlnName(Resource.get("SLNNAME")); //解决方案
		user.setLanguage(Resource.get("LANGUAGE")); //默认语言
		user.setUserName(Resource.get("USERNAME")); //用户名
		user.setPassword(Resource.get("PASSWORD")); //密码
		
		return user;
		
	}

}

 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Packages com.kingdee.bos com.kingdee.bos.appframework.client.servicebinding com.kingdee.bos.appframework.databinding com.kingdee.bos.appframework.exception com.kingdee.bos.appframework.stateManage com.kingdee.bos.appframework.syncUI com.kingdee.bos.appframework.uip com.kingdee.bos.appframework.uistatemanage com.kingdee.bos.appframework.validator com.kingdee.bos.cache com.kingdee.bos.cache.impl com.kingdee.bos.cache.impl.remote com.kingdee.bos.config com.kingdee.bos.config.app com.kingdee.bos.config.impl com.kingdee.bos.config.impl.client com.kingdee.bos.config.impl.server com.kingdee.bos.config.server com.kingdee.bos.dao com.kingdee.bos.dao.mdquery com.kingdee.bos.dao.mdquery.server com.kingdee.bos.dao.ormapping com.kingdee.bos.dao.ormapping_ex com.kingdee.bos.dao.ormapping_ex.ast com.kingdee.bos.dao.ormapping_ex.ast.expr com.kingdee.bos.dao.ormapping_ex.parser com.kingdee.bos.dao.ormapping_ex.runtime com.kingdee.bos.dao.ormapping_ex.runtime.dataquery com.kingdee.bos.dao.ormapping_ex.runtime.objectquery com.kingdee.bos.dao.ormapping_ex.runtime.objectquery.impl com.kingdee.bos.dao.ormapping_ex.service com.kingdee.bos.dao.ormapping.client com.kingdee.bos.dao.ormapping.impl com.kingdee.bos.dao.ormapping.lazyload com.kingdee.bos.dao.query com.kingdee.bos.dao.query.server com.kingdee.bos.dao.xml com.kingdee.bos.dao.xml.impl com.kingdee.bos.dao.xml.impl.loader com.kingdee.bos.db com.kingdee.bos.dictionaryedit com.kingdee.bos.dictionaryedit.wizard com.kingdee.bos.dictionarypreference com.kingdee.bos.engine com.kingdee.bos.engine.difftool com.kingdee.bos.engine.impl com.kingdee.bos.framework com.kingdee.bos.framework.agent com.kingdee.bos.framework.batch com.kingdee.bos.framework.batchinvoke com.kingdee.bos.framework.batchinvoke.impl com.kingdee.bos.framework.bp com.kingdee.bos.framework.cache com.kingdee.bos.framewo
Excel中的osf.dll文件是Office Shared Features组件的一部分,它主要用于支持Office应用程序之间的协作和共享功能。osf.dll文件包含了许多辅助功能,可以为用户提供更好的体验和方便的使用。 首先,osf.dll文件负责处理在Excel中打开、保存和编辑共享文档时的任务。它能够和其他Office应用程序进行通信,例如Word、PowerPoint和Outlook,以方便用户在不同应用程序之间的切换和协作。通过osf.dll文件,用户可以轻松地在Excel中插入其他Office应用程序的内容,如在Excel中插入图表、演示文稿或电子邮件。 此外,osf.dll文件还支持在Excel中实时协作和共享文档。用户可以使用此文件打开共享工作簿,并与其他用户同时编辑同一份文档。当多个用户同时编辑一个Excel文件时,osf.dll文件负责处理和同步不同用户之间的更改,保证各个用户对文档的编辑是准确和一致的。 另外,osf.dll文件还负责处理Excel中的共享功能,例如共享工作簿的保护和权限设置。通过这个文件,用户可以设置访问工作簿的权限、密码保护工作簿,以及协作时的跟踪和修订。 总的来说,osf.dll文件在Excel中扮演着非常重要的角色,它支持Excel与其他Office应用程序之间的协作和共享,方便用户的工作和合作。同时,osf.dll文件还提供了许多辅助功能,提升了Excel的功能性和用户体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值