# SAP B1 Service Layer SDK 2 **Repository Path**: bluceyoung/sap-b1-service-layer-sdk-2 ## Basic Information - **Project Name**: SAP B1 Service Layer SDK 2 - **Description**: 用于访问SAP Business One的ServiceLayer接口SDK,此为第二版,在第一版的基础上做了更新,更加的简洁易用 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2024-08-26 - **Last Updated**: 2025-07-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: SAP, SDK ## README # SAP B1 Service Layer SDK 2 #### 介绍 SAP B1 Service Layer 装完后,可实现调用接口操作B1的任何场景,相当于提供了一个后端程序,但接口调用方式比较繁琐,本SDK就是为了方便调用,此为第二版,在第一版的基础上做了更优雅的封装,更方便使用 #### SL安装教程 1. SAP B1需要实施商进行安装 2. SAP B1 Service Layer 也需要实施商进行安装,安装后,会使用50000端口搭建一个web网站,此为接口调用的入口,也可查看提供的API说明和操作手册 3. 服务列表里会有很多相关服务,如果新增或修改了自定义字段,则需要重启这些sap开头的服务来生效 4. 此时接口是通过`https://ip地址:50000` 来调用的,并不符合java调用的要求,因为没有ssl证书 5. 你需要申请一个域名,解析到此ip地址,并在web服务上安装相应的ssl证书 6. 如果往apache上安装ssl证书没搞定(比如我),可以搞一个Nginx做中转,把ssl证书安装到Nginx上,转发到50000端口 #### 使用说明 1. 官方提供了接口说明文档:《Working_with_SAP_Business_One_Service_Layer》,本SDK封装的基础即来源于此,不再赘述文档里的内容 2. 参数设置 springboot项目引用该坐标后,直接在yml文件中配置sap接口访问参数 ``` xihuanjun: sdk: sl: server-path: https://sap.xihuanjun.cn/b1s/v1/ company-data-base-name: CW_DEMO2 user-name: manager password: 123456 ``` 3. 调用配置:需要在Springboot启动类增加注解扫描包,这样所有dao均交予IoC容器进行管理,可直接注入使用 ```java @ComponentScan(basePackages = "com.xihuanjun") ``` 3. 调用 ```java @Autowired SapOrderDao sapOrderDao; @Test void contextLoads() { //LNSapOrder是SapOrder的子类,因为实际应用中会为SAP的表设置很多自定义字段,SAP原生字段都在SapOrder里,自定义字段放子类 LNSapOrder orderByDocEntry = sapOrderDao.getObjectByDocEntry(1L, LNSapOrder.class); System.out.println(orderByDocEntry); System.out.println(orderByDocEntry.getCardCode()); } ``` #### 参与贡献 B站主页:https://space.bilibili.com/286257826 后续会更新教学视频,敬请期待