From c10a845e0cf71bc1861feba99052d7822dffbd7d Mon Sep 17 00:00:00 2001 From: zhangherong <571457620@qq.com> Date: 星期一, 16 六月 2025 14:13:43 +0800 Subject: [PATCH] art: SAP集成测试代码修改 --- src/main/java/org/jeecg/modules/sap/service/impl/SAPServiceImpl.java | 6 ++++-- src/main/java/org/jeecg/config/sap/SapRfcConnectionManager.java | 28 ++++++++++++++++++++++++++-- 2 files changed, 30 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/jeecg/config/sap/SapRfcConnectionManager.java b/src/main/java/org/jeecg/config/sap/SapRfcConnectionManager.java index e120d4f..9d115cc 100644 --- a/src/main/java/org/jeecg/config/sap/SapRfcConnectionManager.java +++ b/src/main/java/org/jeecg/config/sap/SapRfcConnectionManager.java @@ -3,13 +3,17 @@ import com.sap.conn.jco.*; import com.sap.conn.jco.ext.DestinationDataProvider; import com.sap.conn.jco.ext.Environment; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; import javax.annotation.PostConstruct; +import java.io.File; +import java.io.FileOutputStream; import java.util.Properties; @Component +@Slf4j public class SapRfcConnectionManager { @Value("${sap.rfc.destination}") @@ -46,7 +50,7 @@ * @throws JCoException */ @PostConstruct - public void init() throws JCoException { + public void init() throws Exception { Properties connectProperties = new Properties(); connectProperties.setProperty(DestinationDataProvider.JCO_ASHOST, ashost); connectProperties.setProperty(DestinationDataProvider.JCO_SYSNR, sysnr); @@ -63,7 +67,27 @@ provider.addDestination(destinationName, connectProperties); // 璁剧疆鍏ㄥ眬鐩殑鍦版彁渚涜�� - Environment.registerDestinationDataProvider(provider); +// Environment.registerDestinationDataProvider(provider); + + log.info("properties = " + connectProperties); + + //鐢熸垚閰嶇疆鏂囦欢锛孞CoDestinationManager.getDestination()璋冪敤鏃朵細闇�瑕佽杩炴帴閰嶇疆鏂囦欢锛屽悗缂�鍚嶉渶瑕佷负jcoDestination + FileOutputStream fos = null; + String suffix = "jcoDestination"; + File cfg = new File(destinationName + "." + suffix); + if (!cfg.exists()) { + try { + fos = new FileOutputStream(cfg, false); + connectProperties.store(fos, "for tests only !"); + fos.close(); + } catch (Exception var9) { + throw new Exception("Unable to create the destination file " + cfg.getName(), var9); + } finally { + if (null != fos) { + fos.close(); + } + } + } // 鑾峰彇鐩殑鍦� this.destination = JCoDestinationManager.getDestination(destinationName); diff --git a/src/main/java/org/jeecg/modules/sap/service/impl/SAPServiceImpl.java b/src/main/java/org/jeecg/modules/sap/service/impl/SAPServiceImpl.java index d87e15f..4bcd205 100644 --- a/src/main/java/org/jeecg/modules/sap/service/impl/SAPServiceImpl.java +++ b/src/main/java/org/jeecg/modules/sap/service/impl/SAPServiceImpl.java @@ -3,6 +3,7 @@ import com.sap.conn.jco.JCoDestination; import com.sap.conn.jco.JCoFunction; import com.sap.conn.jco.JCoParameterList; +import com.sap.conn.jco.JCoRepository; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.jeecg.config.sap.SapRfcConnectionManager; @@ -19,10 +20,11 @@ @Override public String test() { JCoDestination destination = connectionManager.getDestination(); - JCoFunction function = destination.getRepository().getFunction("ZPPF_022"); + JCoRepository repository = destination.getRepository(); + JCoFunction function = repository.getFunction("ZPPF_022"); if (function == null) { - throw new RuntimeException("RFC 鍑芥暟妯″潡 Z_GET_MATERIAL_INFO 鏈壘鍒帮紒"); + throw new RuntimeException("RFC 鍑芥暟妯″潡 ZPPF_022 鏈壘鍒帮紒"); } // 璁剧疆杈撳叆鍙傛暟 -- Gitblit v1.9.3