项目源码:https://github.com/zhangyueqidlmu/SOAP-Access-SFDC.git

项目背景:salesforce端相关数据需要其他系统提供,其他系统可以提供相关数据的CSV文件。使用SOAP方式java代码定时将文件读取解析并插入到salesforce相关数据表中。

项目实现功能:固定时间访问指定目录下的csv文件,解析csv文件到List中并将records插入到Goods(自定义的sObject)表中,并将此定时任务放到计算机的服务中,防止误操作关闭了命令窗口导致job结束。

代码结构:

代码结构简单介绍:

  • SFDCConf.properties:链接salesforce的配置信息,包括用户名密码以及是否使用代理链接salesforce
  • BaseConf.preperties:配置job的运行时间以及相关文件的访问目录以及文件的名称等;
  • Log4j.properties:配置相关log4j的配置信息;
  • utilities.BaseConfig:基类配置类,通过配置文件路径读取相关的配置信息;
  • utilities.ConstantUtility:常量类;
  • utilities.CVSHelper:对csv文件读或者写的方法封装;
  • utilities.QuartzConfig:读取BaseConf.properties的绝对路径;
  • utilities.SFDCConfig:读取SFDCConf.preperties的绝对路径;
  • service.EmailMessageService:封装发送邮件的服务层;
  • service.GoodsService:封装读取CSV文件并将内容插入到Goods__c中的服务层;
  • service.SFDCService:封装链接断开sfdc接口的服务层;
  • handler.SFDCHandler:实现Job接口,定期创建和sfdc的连接;
  • handler.GoodsHandler:实现Job接口,定期调用GoodsService方法实现定期访问某个文件实现记录插入;
  • schedule.QuartzTask:程序主入口,配置哪些job运行。

其中jar目录中需要包括salesforce相关的wsdl生成的jar,通过wsdl生成jar可以参看http://www.cnblogs.com/zero-zyq/p/6077773.html

通过上述代码即可实现定期访问某个目录下某个csv文件并将文件解析同步到salesforce中。

此项目生成jar以后可以在命令窗口启动后实现每天定时job,通过以下方式可以将此定时任务放到计算机的服务中,免得其他人员误操作将命令窗口关闭从而导致job结束。

生成服务的git地址:https://github.com/zhangyueqidlmu/put-job-to-service.git

 目录结构介绍:

  • conf:此目录为相关配置文件,包括SFDCConf.properties、BaseConf.preperties、Log4j.properties,配置和上述程序中相同;
  • jar:程序使用相关jar包,将上述项目中的jarcopy过来即可;
  • jre:程序运行需要的jre;
  • log:存储job运行生成的log日志;
  • InstallService-NT.bat:双击此批处理文件可以在服务中生成相关的服务;
  • SOAPOperateGoods.jar:此jar包为上面java项目export产生,名字自己起,本项目名称为SOAPOperateGoods;
  • StartService-NT.bat:双击此批处理文件可以直接启动此服务;
  • UninstallService-NT.bat:双击此批处理文件可以卸载此服务;
  • wrapper.conf:此配置文件中需要配置相关jar的路径,项目的QuartTask类的相对位置,生成服务的名称等配置信息;
  • wrapper.log:此log文件显示job所有的log日志信息。

(注:批处理文件应右键使用管理员方式运行)

效果展示:

1.生成Goods Service服务

2.Goods目录生成备份文件以及数据原来内容

3.插入到数据库的数据展示

总结:此项目用于SOAP方式访问salesforce并进行定时任务,有错误的地方欢迎指正,不懂得地方欢迎留言。

salesforce 零基础学习(五十五)java通过SOAP方式定时访问某个文件然后插入到sObject中的更多相关文章

  1. salesforce 零基础学习(三十三)通过REST方式访问外部数据以及JAVA通过rest方式访问salesforce

    本篇参考Trail教程: https://developer.salesforce.com/trailhead/force_com_dev_intermediate/apex_integration_ ...

  2. salesforce零基础学习(九十五)lightning out

    随着salesforce对lightning的推进,越来越多的项目基于lightning开发,导致很多小伙伴可能都并不了解classic或者认为不需要用到classic直接就开始了lightning的 ...

  3. salesforce 零基础学习(十九)Permission sets 讲解及设置

    Permission sets以及Profile是常见的设置访问权限的方式. Profile规则为'who see what'.通过Profile可以将一类的用户设置相同的访问权限.对于有着相同Pro ...

  4. salesforce 零基础学习(十六)Validation Rules & Date/time

    上一篇介绍的内容为Formula,其中的Date/time部分未指出,此篇主要介绍Date/time部分以及Validation rules. 本篇参考PDF: Date/time:https://r ...

  5. salesforce 零基础学习(十八)WorkFlow介绍及用法

    说起workflow大家肯定都不陌生,这里简单介绍一下salesforce中什么情况下使用workflow. 当你分配许多任务,定期发送电子邮件,记录修改时,可以通过自动配置workflow来完成以上 ...

  6. salesforce零基础学习(一百一十)list button实现的一些有趣事情

    本篇参考: salesforce零基础学习(九十五)lightning out https://developer.salesforce.com/docs/component-library/docu ...

  7. salesforce 零基础学习(六十八)http callout test class写法

    此篇可以参考: https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_classes_restfu ...

  8. salesforce 零基础学习(五十二)Trigger使用篇(二)

    第十七篇的Trigger用法为通过Handler方式实现Trigger的封装,此种好处是一个Handler对应一个sObject,使本该在Trigger中写的代码分到Handler中,代码更加清晰. ...

  9. salesforce零基础学习(一百零五)Change Data Capture

    本篇参考: https://developer.salesforce.com/docs/atlas.en-us.232.0.api_streaming.meta/api_streaming/using ...

随机推荐

  1. REST简介

    一说到REST,我想大家的第一反应就是“啊,就是那种前后台通信方式.”但是在要求详细讲述它所提出的各个约束,以及如何开始搭建REST服务时,却很少有人能够清晰地说出它到底是什么,需要遵守什么样的准则. ...

  2. Webpack 配置摘要

    open-browser-webpack-plugin 自动打开浏览器 html-webpack-plugin 通过 JS 生成 HTML webpack.optimize.UglifyJsPlugi ...

  3. ASP.NET Core应用针对静态文件请求的处理[2]: 条件请求与区间请求

    通过调用ApplicationBuilder的扩展方法UseStaticFiles注册的StaticFileMiddleware中间件帮助我们处理针对文件的请求.对于StaticFileMiddlew ...

  4. SELECT INTO 和 INSERT INTO SELECT 两种表复制语句

    Insert是T-sql中常用语句,Insert INTO table(field1,field2,...) values(value1,value2,...)这种形式的在应用程序开发中必不可少.但我 ...

  5. python 数据类型 ---文件一

    1.文件的操作流程: 打开(open), 操作(read,write), 关闭(close) 下面分别用三种方式打开文件,r,w,a 模式 . "a"模式将不会覆盖原来的文件内容, ...

  6. java中Action层、Service层和Dao层的功能区分

    Action/Service/DAO简介: Action是管理业务(Service)调度和管理跳转的. Service是管理具体的功能的. Action只负责管理,而Service负责实施. DAO只 ...

  7. 利用poi导出Excel

    import java.lang.reflect.Field;import java.lang.reflect.InvocationTargetException;import java.lang.r ...

  8. 移动应用App测试与质量管理一

    测试工程师 基于Html的WebApp测试, 现在一些移动App混Html5 HTML5性能测试 兼容性 整理后的脑图 测试招聘 弱化大量技术考察 看重看问题的高度 看重潜力 测试经验 质量管理 专项 ...

  9. BPM与 SAP & Oracle EBS集成解决方案分享

    一.需求分析 SAP和Oracle EBS都是作为全球顶级的的ERP产 品,得到了众多客户的青睐.然而由于系统庞大.价格昂贵以及定位不同,客户在实施过程中经常会面临以下困惑: 1.SAP如何实现&qu ...

  10. [故障公告]受阿里云部分ECS服务器故障影响,目前无法上传图片与文件

    抱歉!今天下午阿里云华东1可用区B的部分ECS服务器出现IO HANG问题,受此影响,我们的图片与文件上传服务器无法访问,由此给您带来麻烦,请您谅解. 16:30左右开始,我们发现图片与文件上传服务器 ...