`
jiasudu1649
  • 浏览: 723582 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

OFBiz调用SAP

 
阅读更多
package org.ofbiz.rfc; 
 
import java.io.File; 
import java.io.FileOutputStream; 
import java.io.IOException; 
import java.util.Properties; 
 
import com.sap.conn.jco.AbapException; 
import com.sap.conn.jco.JCoDestination; 
import com.sap.conn.jco.JCoDestinationManager; 
import com.sap.conn.jco.JCoException; 
import com.sap.conn.jco.JCoFunction; 
import com.sap.conn.jco.ext.DestinationDataProvider; 
 
public class JCOClientDemo { 
    static String ABAP_AS = "ABAP_AS_WITHOUT_POOL"; 
    static String ABAP_AS_POOLED = "ABAP_AS_WITH_POOL"; 
    static { 
        Properties connectProperties = new Properties(); 
        connectProperties.setProperty(DestinationDataProvider.JCO_ASHOST, "192.168.1.10"); 
        connectProperties.setProperty(DestinationDataProvider.JCO_SYSNR, "10"); 
//      connectProperties.setProperty(DestinationDataProvider.JCO_R3NAME, "C01"); 
        connectProperties.setProperty(DestinationDataProvider.JCO_CLIENT, "800"); 
        connectProperties.setProperty(DestinationDataProvider.JCO_USER, "USER_1"); 
        connectProperties.setProperty(DestinationDataProvider.JCO_PASSWD, "password1"); 
        connectProperties.setProperty(DestinationDataProvider.JCO_LANG, "en"); 
        createDataFile(ABAP_AS, "jcoDestination", connectProperties); 
 
        connectProperties.setProperty(DestinationDataProvider.JCO_POOL_CAPACITY, "3"); 
        connectProperties.setProperty(DestinationDataProvider.JCO_PEAK_LIMIT, "5"); 
        createDataFile(ABAP_AS_POOLED, "jcoDestination", connectProperties); 
    } 
 
    static void createDataFile(String name, String suffix, Properties properties) { 
        File cfg = new File(name + "." + suffix); 
        if (!cfg.exists()) { 
            FileOutputStream fos = null; 
            try { 
                fos = new FileOutputStream(cfg, false); 
                properties.store(fos, "for tests only !"); 
                fos.close(); 
            } catch (Exception e) { 
                throw new RuntimeException("Unable to create the destination file " + cfg.getName(), e); 
            } finally { 
                try { 
                    fos.close(); 
                } catch (IOException e) { 
                } 
            } 
        } 
    } 
 
    public static void call() throws JCoException { 
        JCoDestination destination = JCoDestinationManager.getDestination(ABAP_AS_POOLED); 
        JCoFunction function = destination.getRepository().getFunction("STFC_CONNECTION"); 
        if (function == null) 
            throw new RuntimeException("STFC_CONNECTION not found in SAP."); 
 
        function.getImportParameterList().setValue("REQUTEXT", "Hello SAP"); 
 
        try { 
            function.execute(destination); 
        } catch (AbapException e) { 
            System.out.println(e.toString()); 
            return; 
        } 
 
        System.out.println("STFC_CONNECTION finished:"); 
        System.out.println(" Echo: " + function.getExportParameterList().getString("ECHOTEXT")); 
        System.out.println(" Response: " + function.getExportParameterList().getString("RESPTEXT")); 
        System.out.println(); 
    } 
 
    public static void main(String[] args) { 
        try { 
            JCOClientDemo.call(); 
        } catch (JCoException e) { 
            e.printStackTrace(); 
        } 
    } 
分享到:
评论

相关推荐

    OFBiz-alipay 配置文档

    你需要在商品详情页或其他需要支付的地方调用这些API,生成支付请求,并将用户重定向到支付宝的支付页面。支付完成后,用户会被自动或手动重定向回你的网站,此时你需要处理回调信息,确认交易状态,并更新订单状态...

    ofbiz api开发文档

    - **服务调用**:了解如何通过HTTP请求或者Java代码调用OFBiz服务,通常需要正确设置服务端点和参数。 - **权限管理**:OFBiz API通常需要身份验证,开发者需了解如何配置用户权限和访问控制。 - **异常处理**:...

    ofbiz学习笔记(自学整理)

    服务是Ofbiz中执行特定任务的可重用代码单元,可以通过XML定义并调用。实体则代表业务对象,如产品、订单和客户,它们的定义存储在数据库模型中,并通过实体引擎进行操作。 在Ofbiz中,工作流系统允许定义和自动化...

    Ofbiz 数据库全模型

    Ofbiz,全称为The Open For Business Project,是一个开源的企业应用框架,主要由Apache软件基金会维护。这个项目旨在提供一套全面的、可扩展的企业级应用程序解决方案,涵盖了电子商务、供应链管理、客户关系管理等...

    OFBIZ开发指南 英文2

    《OFBIZ开发指南》是一本专为开发者设计的详细教程,主要针对OFBIZ(Open For Business Project)这一开源企业应用平台。OFBIZ是一个基于Java的企业级应用框架,旨在提供一系列完整的业务功能,包括供应链管理、电子...

    Ofbiz16.11.05运行及开发环境搭建等

    在本文中,我们将深入探讨如何搭建OFBiz 16.11.05的运行及开发环境,并讨论一些关键的OFBiz功能,如百度地图集成、国际化处理、用户逻辑、PDF导出、服务调用、内容管理、MVC框架、服务引擎、多租户以及权限系统。...

    ofbiz安装与配置

    Ofbiz 安装与配置指南 Ofbiz 是一个基于 Java 的开源企业级电子商务平台,提供了强大的电子商务解决方案。为了帮助初学者快速上手 Ofbiz,我们将详细介绍 Ofbiz 的安装与配置过程。 环境搭建 在开始安装 Ofbiz ...

    ofbiz数据结构设计

    服务可以调用实体引擎进行数据操作,确保了数据访问的统一性和一致性。 四、工作流(WorkFlow) OFBiz的流程管理系统允许开发者定义复杂的业务流程,例如订单审批流程。这些流程涉及到多个服务的协作,而数据结构...

    ofbiz开发入门总结

    3. 视图与控制器:Ofbiz使用Freemarker模板语言来生成动态视图,而控制器则通过XML文件定义,负责处理HTTP请求并调用相应服务。 4. 测试与调试:Ofbiz提供了一套完善的测试框架,包括单元测试和集成测试。你可以...

    OFBIZ10.04组件开发入门.doc

    OFBIZ提供了API进行数据访问,如EntityEngine接口,用于CRUD操作,以及服务事件中使用的Service Engine,可以调用复杂的业务逻辑。 ### 10. 事件(Event) 事件是OFBIZ处理用户请求和业务逻辑的核心机制,分为HTTP...

    ofbiz10.04表结构

    标题中的"ofbiz10.04表结构"指的是OFBiz 10.04版本的数据模型设计,这是企业级开源应用框架OFBiz的一个重要组成部分。OFBiz全称为Open For Business Project,它是一个用于构建企业应用程序的全面业务解决方案,涵盖...

    关于OFBIZ的资料

    在提供的OFBIZ_Demo压缩包中,用户可以找到OfBiz的演示版本,这是一套预配置的环境,展示了OfBiz在实际业务场景下的功能和操作。这个演示通常包括以下部分: 1. **安装与配置**:压缩包可能包含了安装指南和配置...

    Ofbiz快速开发入门详解

    你将学习如何定义服务XML文件,理解服务调用流程,以及如何编写Java服务逻辑。此外,Ofbiz的事件驱动模型也会被详细讲解,这对于理解和编写复杂的业务流程至关重要。 在深入探讨Ofbiz的组件结构后,你将了解如何...

    Apache.OFBiz.Development

    根据给定的文件信息,以下是关于Apache OFBiz开发的知识点: 1. OFBiz介绍与安装:OFBiz是一个开源的企业自动化软件套件,它提供了构建企业应用程序所需的各种功能,比如电子商务、订单处理等。文件中提到了2008年...

    Apache OFBiz Cookbook

    ### Apache OFBiz Cookbook 知识点解析 #### 一、Apache OFBiz 概述 - **定义**:Apache OFBiz(Open For Business)是一款开源的企业级应用框架,它集成了ERP(企业资源规划)、CRM(客户关系管理)以及E-...

    ofbiz框架(文档)全

    3. **控制器(Controller)**:控制器作为模型和视图之间的桥梁,处理用户的输入并调用模型中相应的方法。在OFBiz框架中,控制器通常是Servlets或Filter,它们解析HTTP请求,将请求映射到合适的处理器,并将处理结果...

    ofbiz中文技术文档

    文档可能会涵盖如何调用Ofbiz的服务,以及如何创建自定义服务和组件。 5. **数据库模型**:Ofbiz基于实体引擎进行数据管理,文档可能会列出主要的实体关系图,帮助读者理解数据结构。 6. **国际化与本地化**:...

    ofbiz curd

    在JDK7环境下,OFBiz提供API来调用服务,完成数据的插入。 ### 更新(Update) 更新操作与创建类似,但需要指定要修改的记录的主键。在服务定义中,你需要明确指出哪些字段需要更新,并提供新的值。调用服务接口,...

    ofbiz开发文档

    1. **服务引擎**:这是OFBiz的核心,负责处理业务逻辑和服务调用。它支持基于XML的定义文件来描述服务,并且可以通过SOAP、REST或JMS等不同方式暴露服务。 2. **实体引擎**:用于管理数据库中的对象,提供了一种...

Global site tag (gtag.js) - Google Analytics