ecology调用SAPRFC接口的第一种写法(不生成配置文件)

RFC第一种写法:不生成配置文件,直接连接

java 复制代码
package com.kaka.workflow.utils;

import com.sap.conn.jco.JCoDestination;
import com.sap.conn.jco.JCoDestinationManager;
import com.sap.conn.jco.ext.DestinationDataEventListener;
import com.sap.conn.jco.ext.DestinationDataProvider;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

import java.util.Properties;
  class ConnSAPProperties implements DestinationDataProvider {
    public Properties getDestinationProperties(String destinationName) {
        Properties properties = new Properties();
        properties.setProperty(DestinationDataProvider.JCO_ASHOST, "IP地址");
        properties.setProperty(DestinationDataProvider.JCO_SYSNR, "编号");
        properties.setProperty(DestinationDataProvider.JCO_CLIENT, "客户端");
        properties.setProperty(DestinationDataProvider.JCO_USER, "账户名");
        properties.setProperty(DestinationDataProvider.JCO_PASSWD, "密码");
        properties.setProperty(DestinationDataProvider.JCO_LANG, "ZH");
        return properties;
    }
    public void setDestinationDataEventListener(DestinationDataEventListener eventListener) {}
    public boolean supportsEvents() { return false; }
}

/***
* @MethodName: ConnSAP
* @Description: 连接SAP
* @Param:
* @return:
* @Author: kaka
* @Date: 2023/9/18 17:33
*/
public class ConnSAP {
    private static Log log = LogFactory.getLog(ConnSAP.class);

    public static JCoDestination Connect() {
        ConnSAPProperties provider = new ConnSAPProperties();
        com.sap.conn.jco.ext.Environment.registerDestinationDataProvider(provider); //实例化
        JCoDestination destination = null;
        try {
            destination = JCoDestinationManager.getDestination("ABAP_AS_POOLED");
        } catch (Exception e) {
            e.printStackTrace();
        }
        log.info("provider>>"+provider);
        return destination;
    }

    public static void main(String[] args) {
        JCoDestination connect = ConnSAP.Connect();
        System.out.println("connect>>>>>"+connect);
    }

}

运行结果:成功了>>>

相关推荐
界面开发小八哥1 天前
「Java EE开发指南」如何使用MyEclipse中的Web Fragment项目?
java·ide·java-ee·eclipse·myeclipse
Brookty1 天前
【Java学习】锁、线程死锁、线程安全2
java·开发语言·学习·java-ee
我命由我123452 天前
软件开发 - 避免过多的 if-else 语句(使用策略模式、使用映射表、使用枚举、使用函数式编程)
java·开发语言·javascript·设计模式·java-ee·策略模式·js
哈弗小小波2 天前
EasyExcel相关操作
java-ee
optimistic_chen2 天前
【Java EE进阶 --- SpringBoot】初识Spring(创建SpringBoot项目)
spring boot·后端·spring·java-ee·tomcat·mvc·idea
多读书1933 天前
Java多线程进阶-深入synchronized与CAS
java·开发语言·java-ee
optimistic_chen4 天前
【Java EE初阶 --- 网络原理】JVM
java·jvm·笔记·网络协议·java-ee
present--018 天前
【JAVA EE初阶】多线程(进阶)
java·java-ee
小猪咪piggy8 天前
【JavaEE】(10) JavaEE 简介
java·spring·java-ee
我命由我123458 天前
Android 开发问题:The specified child already has a parent.
android·java·开发语言·java-ee·android jetpack·android-studio·android runtime