【SAP PO】SAP PO 接口配置完整教程之二REST服务对接


本示例以SAP端作为请求端,通过调用封装了外部Rest服务的Sproxy代理类方法,实现与外部服务的对接。

1、了解服务协议

外部服务,由对接方系统提供。
现在主流的服务形式为Restful接口服务,需要使用JSON 数据格式、UTF8 编码。
这里我们以一个SAP推送采购需求到SRM系统的实际案例来进行举例说明。

1.1、服务通讯协议

(1)接口访问方式
请求数据类型:JSON
请求方式:POST
认证方式:Oauth 2.0
传输协议:https

(2)接口认证方式
在每次主动调用SRM开放平台接口时需要带上AccessToken参数,开放平台会根据此次访问的 AccessToken,校验访问的合法性以及所对应的权限并返回相应的结果。
AccessToken的默认有效期为1小时,调用方可定时更新自己本地缓存的token。
设置AccessToken有两种方式,推荐使用第一种,如下所示:
A:在httpHeaders里面设置AccessToken

HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.add("Authorization", "Bearer " + accessToken);

B:在调用地址后面带上AccessToken

https://*******/sitf/v1/rest/operation-units/conversion-operation-unit?access_token=5e0b05ef-ea2e-4cd8-8a90-2663498e9d87

获取Access Token
① 简要描述:调用该接口,获取token授权,token将作为其他接口的授权凭证。
② 请求方式:POST
③ 请求URL:/oauth/oauth/token
④ 请求参数示例:

https://*******/oauth/oauth/token?grant_type=client_credentials&client_id=*******&client_secret=******&scope=default

请求参数说明

参数名称 类型 非空 描述
grant_type String 授权模式,固定值client_credentials
client_id String 即对接账号(由服务方提供)
client_secret String 客户端密钥(由服务方提供)
scope String 作用域,固定值default

⑤ 反馈示例
正确返回值

{
   
   
    "access_token": "97eb08ad-8c86-459f-9526-905caebe2958",
    "token_type": "Bearer",
    "expires_in": 2263,
    "scope": "default"
}

错误返回值

{
   
   
    "error": "invalid_grant",
    "error_description": "Bad credentials"
}

反馈参数说明

参数名称 类型 非空 描述
access_token String 访问令牌,用于业务接口调用。
token_type String Token类型
expires_in Integer access_token的有效期,单位:秒
scope String 作用域

(3)标准请求结构说明
请求body由两部分组成,一部分是"header"信息(并非httpHeader,每个接口格式固定),一部分是"body"信息(存放的动态业务数据,每个接口视具体接口字段而定),如下所示

{
   
   
    "header":{
   
   
        "applicationCode":"",
        "applicationGroupCode":"",
        "batchCount":"",
        "batchNum":"",
        "externalSystemCode":"",
        "interfaceCode":"",
        "userName":""
    },
    "body":[
        {
   
   
            "sourceCode":"testFiled",
            "esOuCode":"testFiled",
            "erpCreationDate":"2019-09-16 03:01:50",
            "erpLastUpdateDate":"2019-09-16 03:01:50",
            "enabledFlag":1,
            "esOuId":"testFiled",
            "ouName":"testFiled"
        }
    ]
}

请求参数说明

字段 字段类型 是否必填 描述 备注
applicationGroupCode String 应用组 SRM提供,随着对接环境不同会变化
applicationCode String 应用 SRM提供,随着对接环境不同会变化
batchCount String 数据量 对方系统提供,可不传
batchNum String 批次号 对方系统提供,不超过20位递增的数字,建议时间戳
externalSystemCode String 外部系统 SRM提供,固定值
interfaceCode String 接口编码 SRM提供,不同接口编码不同
userName String 用户名 SRM提供,SRM子账户名,随着对接环境不同会变化

(4)标准反馈结构说明
​SRM接口的反馈结构是固定的标准格式,分为批次响应结果(本次请求的响应结果)和单据执行结果(传输的具体单据的执行响应结果),如下所示:

{
   
   
    "batchNum":"",
    "executeResult":"PART",
    "responseMessage":"SSS",
    "responseStatus":"SUCCESS",
    "restResponseDtlDTOList":[
        {
   
   
            "documentCode":"SS",
            "documentId":1,
            "responseMessage":"MM",
            "responseStatus":"SUCCESS"
        },
        {
   
   
            "documentCode":"BB",
            "documentId":2,
            "responseMessage":"",
            "responseStatus":"ERROR"
        }
    ]
}

反馈参数说明

字段 字段类型 描述 备注
batchNum String 批次号 请求的批次号
responseStatus String 程序执行状态 ERROR:失败,SUCCESS:成功;状态为ERROR说明整批数据程序执行异常,无需关心明细响应结构。状态为SUCCESS,需要从restResponseDtlDTOList中获取具体每条数据的执行状态
responseMessage String 错误信息
executeResult String 执行结果 SUCCESS:数据全部执行成功,FAILED:数据全部执行失败,PART:数据部分成功部分失败

restResponseDtlDTOList

字段 字段类型 描述 备注
documentId Long erp业务单据唯一性标识 暂无使用
documentCode String erp业务单据唯一性标识 对应接口的唯一性字段
responseStatus String 执行状态 SUCCESS:成功,ERROR:失败(当前此笔单据执行的状态)
responseMessage String 错误信息 当前此笔单据执行产生的异常信息,如果状态为SUCCESS此处无值,如果为ERROR,此处有具体报错信息

1.2、具体接口协议

(1)接口地址:https://gateway.dev.isrm.going-link.com/sitf/v1/rest/forecast/receiver-data
(2)请求报文结构:

{
   
   
    "header": {
   
   
        "applicationCode": "服务方提供",
        "applicationGroupCode":"服务方提供",
        "batchCount":"此批次数据条数",
        "batchNum":"递增且唯一的少于20位的数字,建议时间戳",
        "externalSystemCode":"服务方提供的外部系统CODE",
        "interfaceCode":"服务方提供",
        "userName": "服务方提供"
    },
    "body": [
        {
   
   
            "esFcstHeaderId": "",
            "esFcstNum": "2200001003361000001101421010",
            "lineNum": "1",
            "sourceCode": "SAP",
            "fcstStartDate": "2022-01-01",
            "esItemId": "",
            "esItemCode": "000000100000110
SAP Process Orchestration The Comprehensive Guide, 2nd Edition SAP流程编制综合指南 1 Introduction to SAP Process Orchestration 1.1 Historical Overview and Evolution 1.1.1 SAP Process Integration 1.1.2 SAP Composition Environment 1.1.3 SAP Process Orchestration 1.1.4 SAP Process Orchestration 7.5 Highlights 1.2 SAP Process Orchestration Components 1.2.1 SAP Process Integration 1.2.2 Business Process Management 1.2.3 Business Rules Management 1.3 Architectural Overview and Positioning 1.3.1 SAP Process Orchestration Positioning 1.3.2 SAP NetWeaver Application Server for Java: System Architecture 1.3.3 SAP NetWeaver AS Java System Logical Layers 1.4 Installation Options 1.4.1 Case 1: SAP Process Integration Dual Stack 1.4.2 Case 2: SAP PI Dual Stack and SAP Composition Environment in Separate Installations 1.4.3 Case 3: SAP PI Single Stack and SAP Composition Environment in Separate Installations 1.4.4 Case 4: SAP POSAP PI and SAP Composition Environment in a Single Installation 1.5 Summary 2 Administration and Development Tools 2.1 SAP Process Orchestration Tools 2.1.1 Enterprise Services Repository 2.1.2 Integration Directory 2.1.3 System Landscape Directory 2.1.4 Configuration and Monitoring 2.2 SAP NetWeaver Administrator 2.2.1 Availability and Performance 2.2.2 Operations 2.2.3 Configuration 2.2.4 Troubleshooting 2.2.5 SOA 2.3 SAP NetWeaver Developer Studio 2.3.1 Use and Download 2.3.2 SAP Process Orchestration and SAP NetWeaver Developer Studio 2.4 Summary Part II Advanced Adapter Engine Extended (AEX) 3 Configuring the System Landscape Directory 3.1 System Landscape Directory Components and Features 3.1.1 Landscape 3.1.2 Software Catalog 3.1.3 Development 3.2 Registering Systems to the System Landscape Directory 3.2.1 Connecting to ABAP-Based Systems 3.2.2 Connecting to Java-Based Systems 3.2.3 Connecting to Other Systems 3.3 Administration of the System Landscape Directory 3.3.1 Server 3.3.2 Data and Content 3.4 System Landscape Directory Strategies 3.4.1 Manual Export and Import of Data 3.4.2 Automatic Bridge Forwarding 3.4.3 Full Automatic Synchronization 3.5 Tips and Tricks 3.5.1 Naming Convention 3.5.2 Keeping Your System Landscape Directory Catalogs Up to Date 3.5.3 Self-Registration of a Java-Based System with the SLD 3.5.4 Configuring Data Suppliers from One SLD to Another 3.5.5 Manual Export and Import of Data 3.5.6 Connecting the SLD to CTS+ to Facilitate the Export and Import of SLD Data 3.6 Exercise: Configuring the System Landscape Directory 3.6.1 Exercise Description 3.6.2 Exercise Solution Approach 3.6.3 Exercise Step-by-Step Solution 3.7 Summary 4 Working with the Enterprise Services Repository and Registry 4.1 Basic ES Repository Technical Concepts 4.1.1 Functional Blocks 4.1.2 First Steps in the Enterprise Services Repository 4.1.3 Service Interface 4.1.4 Integration Patterns: Stateful and Stateless Communication 4.1.5 Asynchronous versus Synchronous 4.1.6 Quality of Service 4.2 Design Objects 4.2.1 Software Component Versions 4.2.2 Folders 4.2.3 Namespaces 4.2.4 Mappings 4.2.5 Process Integration Scenario 4.2.6 Actions 4.3 Data Types and Message Types 4.3.1 Data Types 4.3.2 External Definitions 4.3.3 Message Type 4.3.4 Additional Design Objects 4.4 Exercise: Working with the ES Repository and Registry 4.4.1 Exercise Description 4.4.2 Exercise Solution Approach 4.4.3 Exercise Step-by-Step Solution 4.5 Summary 5 Working with the Integration Directory 5.1 Integration Directory Overview 5.2 Collaboration Profiles 5.2.1 Party 5.2.2 Communication Component 5.2.3 Communication Channel 5.2.4 Communication Component without a Party 5.3 Adapter Types 5.3.1 Technical Adapters to Enable Communication with SAP or Third-Party Systems 5.3.2 Application Adapters to Enable Communication with an SAP System 5.3.3 SAP Industry Adapters 5.3.4 Third-Party-Developed Adapters 5.4 Integrated Configuration 5.4.1 Inbound Processing 5.4.2 Receiver 5.4.3 Receiver Interfaces 5.4.4 Outbound Processing 5.5 The XI Message Protocol 5.6 Configuration Scenario 5.6.1 Creating a Configuration Scenario from Scratch (Manually) 5.6.2 Creating a Configuration Scenario from a Model 5.7 Value Mapping 5.7.1 If/Else Logic 5.7.2 Fixed Values 5.7.3 Value Mapping 5.8 Business-to-Business Integration 5.8.1 Business-to-Business On Premise 5.8.2 Business-to-Business Managed Services 5.8.3 Trading Partner Management 5.9 Axis Framework 5.10 Representational State Transfer Adapter 5.11 Message Alerting 5.11.1 Alert Rule Overview 5.11.2 Creating an Alert Rule 5.11.3 Editing or Deleting a Rule 5.12 Publish the Service in the Services Registry 5.13 Integration Directory Programming Interface (Directory API) 5.14 Exercise: Working with the Integration Directory 5.14.1 Exercise Description 5.14.2 Exercise Solution Approach 5.14.3 Exercise Step-by-Step Solution 5.15 Summary 6 Building an Integration Flow 6.1 SAP NetWeaver Developer Studio 6.1.1 Installing SAP NetWeaver Developer Studio 6.1.2 Setting Up SAP NetWeaver Developer Studio 6.1.3 Enterprise Integration Patterns and User-Defined Templates 6.2 Basics of Creating and Configuring an Integration Flow 6.2.1 Creating an iFlow 6.2.2 Configuring an iFlow 6.3 iFlow Example 6.3.1 Creating Products, Software Components, Business Systems, and Technical Systems in the SLD 6.3.2 Importing SLD Objects into the ES Repository in SAP NetWeaver Developer Studio 6.3.3 Create Enterprise Service Repository Objects 6.3.4 Create Directory Objects: Import Business Systems and Create iFlows 6.3.5 Testing the iFlow Scenario 6.3.6 Monitoring the Scenario 6.4 New Features of the Process Integration Designer 6.4.1 Export Objects from the Integration Designer 6.4.2 Automatically Deploy after Import 6.4.3 Version History and Deployment Status 6.5 Supporting Multiple Senders for Your iFlow 6.6 Exercise: Building an Integration Flow 6.6.1 Exercise Description 6.6.2 Exercise Solution Approach 6.6.3 Exercise Step-by-Step Solution 6.7 Summary 7 Administration and Monitoring in AEX 7.1 Administration 7.1.1 Central Administration Tool 7.1.2 SAP NetWeaver Administrator 7.1.3 SAP NetWeaver Application Server Java 7.1.4 SAP Process Integration Monitoring (pimon) 7.1.5 SAP Management Console 7.1.6 Config Tool 7.1.7 Administration Using Telnet 7.2 Monitoring 7.2.1 SAP NetWeaver Administrator 7.2.2 SAP Process Integration Local Monitoring 7.2.3 SAP PI Central Monitoring with SAP Solution Manager 7.2.4 Message Retention 7.2.5 User-Defined Message Search 7.3 Troubleshooting 7.3.1 Configuring Log and Traces 7.3.2 Using the Log Viewer 7.4 Summary 8 Migrating Interfaces from SAP PI Dual Stack to SAP PO 8.1 Migration Strategies 8.2 Migrating System Landscape Directory Content 8.2.1 Products 8.2.2 Software Components 8.2.3 Technical System 8.2.4 Business System 8.3 Migrating Enterprise Services Repository Content 8.3.1 Exporting Objects 8.3.2 Importing Objects 8.4 Migrating Integration Directory Content 8.4.1 Manually 8.4.2 Using the Migration Tool 8.5 Summary Part III Business Process Management and Composition 9 Introduction to SAP BPM and BPMN 2.0 9.1 Managing Business Processes 9.2 SAP Business Process Management 9.2.1 SAP BPM versus SAP Business Workflow 9.2.2 BPM before SAP BPM 9.2.3 SAP BPM Main Components 9.3 Business Process Model and Notation 2.0 9.3.1 Swimlanes 9.3.2 Artifacts 9.3.3 Flow Objects 9.3.4 Connections 9.4 Summary 10 Creating Your First SAP BPM Process 10.1 SAP BPM Positioning and Development Environment 10.1.1 Positioning 10.1.2 Setting Up Your Development Environment 10.2 Creating and Modeling an SAP BPM Process 10.2.1 Demonstration Scenario 10.2.2 Building an SAP BPM Process: Overview 10.2.3 SAP NetWeaver Developer Studio Perspective Concept 10.2.4 Create a Project in SAP NetWeaver Developer Studio 10.2.5 Creating a Process for Your BPMN 10.2.6 Creating a BPMN Model 10.3 Configuring the BPMN Model 10.3.1 Data Objects 10.3.2 Creating Data Structures 10.3.3 Importing XSD and WSDL 10.3.4 Process Pool Properties 10.3.5 BPMN Flow Objects 10.4 Flow Objects 10.4.1 Events 10.4.2 Tasks 10.4.3 Activities 10.4.4 Gateways 10.4.5 Artifacts 10.5 Build and Deploy Your Process 10.5.1 Steps for Building a Process 10.5.2 Steps for Deploying a Process 10.6 Advanced Mapping 10.6.1 Mappings 10.6.2 Options in Mapping Assignment 10.6.3 Automatic Mapping 10.6.4 Custom Functions 10.7 Implementing Error Handling 10.8 Combining SAP BPM and the AEX 10.8.1 Message from SAP BPM to the AEX 10.8.2 Message from the AEX to SAP BPM 10.8.3 Leverage an ES Repository Mapping in SAP BPM 10.9 Exercise: Creating an SAP Business Process Management Process 10.9.1 Exercise Description 10.9.2 Exercise Solution Approach 10.9.3 Exercise Step-by-Step Solution 10.10 Summary 11 Applying Advanced SAP BPM Concepts and Extensions 11.1 Service-Oriented Architecture Configuration 11.1.1 Configuration for an Automated Activity 11.1.2 Configuration for a Start Event or Intermediary Event 11.2 Testing and Running an SAP BPM Process 11.2.1 Process Repository Overview 11.2.2 Process Testing 11.3 Custom Enterprise Java Bean Functions 11.3.1 Create EJB and EAR Development Components 11.3.2 Create the Enterprise Java Bean 11.3.3 Build and Deploy 11.3.4 Create a New Enterprise Java Bean Function 11.4 Using the Claim Check Pattern 11.4.1 Create Interfaces 11.4.2 Create Mappings 11.4.3 Configure the Channel 11.4.4 Retrieve the Large Message from SAP BPM 11.4.5 Update the Status of the Large Message from SAP BPM 11.5 SAP BPM Application Programming Interface 11.5.1 Prerequisite to Using the SAP BPM API 11.5.2 Implementation Aspects and Examples 11.6 SAP Business Process Management OData 11.6.1 OData Services for Tasks and Task Data 11.6.2 Error Handling 11.7 Using the Push API to Access SAP BPM Lifecycle Events 11.7.1 Accessing Events through a Message Driven Bean 11.7.2 Accessing Events through a Java Message Service API 11.8 Debugging and Troubleshooting SAP BPM Processes 11.8.1 Place Breakpoints in the Process 11.8.2 Add a Debug Configuration 11.9 Tuning SAP BPM-Related Performance Parameters 11.10 Best Practices for Your SAP BPM Application 11.10.1 BPMN, Mapping, and Parallelism 11.10.2 Task Related 11.10.3 Gateways 11.10.4 Looping 11.10.5 Data Object 11.10.6 Correlation 11.10.7 Error Handling 11.10.8 Housekeeping 11.11 Exercise: Applying Advanced SAP BPM Concepts and Extensions 11.11.1 Exercise Solution Approach 11.11.2 Exercise Step-by-Step Solution 11.12 Summary 12 Combining SAP BPM and UI Technologies 12.1 Web Dynpro Java User Interface Technology 12.1.1 Generating a Web Dynpro User Interface 12.1.2 Post-Configuration Steps 12.2 Integrating SAPUI5 into an SAP BPM Process 12.2.1 SAPUI5 Technology Platform 12.2.2 Model-View-Controller Concept 12.2.3 SAPUI5 Components 12.2.4 Other SAPUI5 Concepts 12.2.5 Integration Steps 12.3 Other User Interface Technologies 12.3.1 Visual Composer 12.3.2 Adobe Offline Forms 12.3.3 Support for Custom User Interface Technologies 12.4 Summary 13 SAP Business Rules Management 13.1 How Business Rules Work 13.2 SAP Business Rules Management 13.2.1 Rules Composer 13.2.2 Rules Manager 13.2.3 Rules Engine 13.3 Modeling Business Rules with Rules Composer 13.3.1 Create the Rules Composer Development Component 13.3.2 Adding Context to the Rules 13.3.3 Creating a Ruleset 13.3.4 Flow Ruleset 13.4 Testing Business Rules 13.5 Best Practices for Modeling Business Rules 13.5.1 Separate Decision Logic from Other Types of Logic 13.5.2 Reuse and Extend before Building 13.6 Exercise: SAP Business Rules Management 13.6.1 Exercise Solution Approach 13.6.2 Exercise Step-by-Step Solution 13.7 Summary 14 Implementing Java Proxies 14.1 Java Proxy Concept and Considerations 14.2 Implementation Approaches 14.2.1 Outside-In Approach 14.2.2 Inside-Out Approach 14.3 Technical Implementation 14.3.1 Development Environment 14.3.2 Developing a Server Java Proxy 14.3.3 Developing a Client Java Proxy 14.4 Building an Orchestration 14.5 Exercise: Implementing Java Proxies 14.5.1 Exercise Solution Approach 14.5.2 Exercise Step-by-Step Solution 14.6 Summary 15 Administration and Monitoring Message Processing in SAP BPM 15.1 Monitoring 15.1.1 SAP Business Process Management System Overview 15.1.2 Process Repository 15.1.3 Process Management 15.1.4 Task Management 15.1.5 SAP BPM Inbox 15.1.6 Business Logs 15.1.7 SAP BPM Action Monitor 15.1.8 Process Troubleshooting 15.1.9 Rules Business Logs 15.1.10 SAP BPM Analytics Dashboard 15.2 Administration 15.2.1 Process Data Archiving 15.2.2 Log Viewer 15.3 Summary 16 Migrating ccBPM from SAP PI to SAP PO 16.1 Motivation for Migration 16.2 Migration Approach 16.2.1 Analyze the As-Is Integration Processes 16.2.2 Translate and Redesign 16.2.3 Export and Reuse Enterprise Services Repository Objects 16.2.4 Migrate and Adapt Configuration Scenarios 16.3 Recommendations 16.4 Summary Part IV Advanced Concepts 17 SAP Cloud Platform Integration for SAP PO 17.1 Enable Cloud Integration Content in SAP PO 17.2 Reusing Cloud Integration Content 17.2.1 Download Cloud Integration Content 17.2.2 Deploy the Cloud Integration Content 17.3 Monitoring 17.3.1 Monitoring the Integration Gateway Component 17.3.2 Monitoring Messages Related to the Deployment of Cloud Integration Content 17.4 Summary 18 Additional Components for SAP Process Orchestration 18.1 Component Model 18.1.1 Product 18.1.2 Software Components 18.1.3 Development Component 18.1.4 Dependencies among Development Components 18.1.5 Public Parts 18.2 SAP NetWeaver Development Infrastructure 18.2.1 Change Management Services 18.2.2 Design Time Repository 18.2.3 Component Build Service 18.3 SAP Composite Application Framework 18.3.1 Design Time Aspects 18.3.2 Runtime Aspects 18.4 Service Registry 18.5 Enhanced Change and Transport System 18.5.1 SAP PI-Related Transports 18.5.2 Transports for Non-SAP PI Java Objects 18.6 Exercise: Create an SWCV 18.6.1 Exercise Solution Approach 18.6.2 Exercise Step-by-Step Solution 18.7 Summary 19 Landscape Setup Considerations 19.1 Java System Configuration 19.1.1 Java Sizing and Setup Considerations 19.1.2 Java System Architecture 19.1.3 Java Central Services 19.1.4 Java Parameter Tuning 19.2 Handling Certificates 19.2.1 Certificate Key Storage 19.2.2 Encryption of Message Content on Database Level 19.3 Housekeeping 19.3.1 Archiving 19.3.2 Deletion 19.3.3 Restarting 19.3.4 Recovery 19.4 Monitoring 19.4.1 Runtime Workbench 19.4.2 Wily Enterprise Manager 19.4.3 SAP Management Console 19.4.4 SAP Solution Manager Monitoring 19.4.5 Tracing 19.4.6 JVMMON 19.5 Summary A Orchestration Outlook A.1 SAP API Management A.2 SAP Cloud Platform Integration A.2.1 Features and Facts Overview of SAP Cloud Platform Integration A.2.2 Development Guide: Getting Started A.2.3 Monitoring A.3 The Integration Advisor A.3.1 Interface Specifications: Advice from the Advisor A.3.2 Mapping Guideline A.3.3 Runtime A.3.4 Testing A.4 SAP Cloud Platform Workflow as a Service A.4.1 Workflow Service A.4.2 Workflow Modeling A.4.3 SAP Cloud Platform Business Rules A.4.4 Workflow Tasks Management A.4.5 Integration 官方出品,英文原版,可编辑带导航非影印版(总计1866页)
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值