.net(c#) 简单调用SAP byd OData 服务

2024-03-11 19:50

本文主要是介绍.net(c#) 简单调用SAP byd OData 服务,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

.net Odata 插件

OData Connected Service

https://marketplace.visualstudio.com/items?itemName=laylaliu.ODataConnectedService#review-details

OData v4 Client Code Generator

https://marketplace.visualstudio.com/items?itemName=bingl.ODatav4ClientCodeGenerator

 

1.在Byd中建立自定义 OData服务

image

image

image

服务名称要用英文开头 不包含特殊字符,不然会报错,保存

2.设置OData服务内容

image

工作中心视图用于设置整体服务的权限,也可以不设置,然后在实体对象中明细设置对象权限

image

选择业务对象.并创建对应实体类型

image

导入功能中,设置功能类型和参数

image

保存并激活

image

打开 服务 URL 并保存为 接口配置.XML

image

测试接口

image

 

3.在VS 2015中使用

添加服务引用

image

地址可以选择保存的 接口配置.XML 也可以直接使用URL(需要用Byd 用户登陆)

image

点确定就可以了

4.在VS 2017中使用

添加链接的服务

image

选择插件,没安装的需要安装

image

选择导出的 接口配置.xml  (不支持URL登陆)

image

 

5.Codeing

 

        static  void Main(string[] args){var url = "https://my600301.sapbyd.cn/sap/byd/odata/cust/v1/odatacardtest";odatacardtest odata = new odatacardtest(new Uri(url)){//认证信息Credentials = new NetworkCredential("zh3305", "*******")};//执行查询 where 会自动转换成ABAP查询语句.支持常见查询语句转换 Contains StartsWith EndWith == 等等常用语句var cardRoots = odata.TCardRootCollection.Where(t => t.CarParkName.Contains("2")).ToList();Console.WriteLine(JsonConvert.SerializeObject(cardRoots));Console.ReadKey();}}
 
//.net Core static async Task Main(string[] args){var url = "https://my600301.sapbyd.cn/sap/byd/odata/cust/v1/odatacardtest";odatacardtest odata = new odatacardtest(new Uri(url)){//认证信息Credentials = new NetworkCredential("zh3305", "**********")};var query = (DataServiceQuery<TCardRoot>)(from cust in odata.TCardRootCollectionwhere cust.CarParkName == "2"select cust);// 必须改为调用 BeginExecute 和 EndExecute 方法。query.BeginExecute(ar =>{if (ar.AsyncState is DataServiceQuery<TCardRoot> peopleQuery){var people = peopleQuery.EndExecute(ar).ToArray();foreach (var p in people){Console.WriteLine(p.CarParkName);}Console.WriteLine(JsonConvert.SerializeObject(people));}}, query);Console.ReadKey();}

  

转载于:https://www.cnblogs.com/hongshao/p/10606122.html

这篇关于.net(c#) 简单调用SAP byd OData 服务的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/798895

相关文章

一文解析C#中的StringSplitOptions枚举

《一文解析C#中的StringSplitOptions枚举》StringSplitOptions是C#中的一个枚举类型,用于控制string.Split()方法分割字符串时的行为,核心作用是处理分割后... 目录C#的StringSplitOptions枚举1.StringSplitOptions枚举的常用

Linux创建服务使用systemctl管理详解

《Linux创建服务使用systemctl管理详解》文章指导在Linux中创建systemd服务,设置文件权限为所有者读写、其他只读,重新加载配置,启动服务并检查状态,确保服务正常运行,关键步骤包括权... 目录创建服务 /usr/lib/systemd/system/设置服务文件权限:所有者读写js,其他

Java服务实现开启Debug远程调试

《Java服务实现开启Debug远程调试》文章介绍如何通过JVM参数开启Java服务远程调试,便于在线上排查问题,在IDEA中配置客户端连接,实现无需频繁部署的调试,提升效率... 目录一、背景二、相关图示说明三、具体操作步骤1、服务端配置2、客户端配置总结一、背景日常项目中,通常我们的代码都是部署到远程

C#自动化实现检测并删除PDF文件中的空白页面

《C#自动化实现检测并删除PDF文件中的空白页面》PDF文档在日常工作和生活中扮演着重要的角色,本文将深入探讨如何使用C#编程语言,结合强大的PDF处理库,自动化地检测并删除PDF文件中的空白页面,感... 目录理解PDF空白页的定义与挑战引入Spire.PDF for .NET库核心实现:检测并删除空白页

C#利用Free Spire.XLS for .NET复制Excel工作表

《C#利用FreeSpire.XLSfor.NET复制Excel工作表》在日常的.NET开发中,我们经常需要操作Excel文件,本文将详细介绍C#如何使用FreeSpire.XLSfor.NET... 目录1. 环境准备2. 核心功能3. android示例代码3.1 在同一工作簿内复制工作表3.2 在不同

C#中通过Response.Headers设置自定义参数的代码示例

《C#中通过Response.Headers设置自定义参数的代码示例》:本文主要介绍C#中通过Response.Headers设置自定义响应头的方法,涵盖基础添加、安全校验、生产实践及调试技巧,强... 目录一、基础设置方法1. 直接添加自定义头2. 批量设置模式二、高级配置技巧1. 安全校验机制2. 类型

MyBatis/MyBatis-Plus同事务循环调用存储过程获取主键重复问题分析及解决

《MyBatis/MyBatis-Plus同事务循环调用存储过程获取主键重复问题分析及解决》MyBatis默认开启一级缓存,同一事务中循环调用查询方法时会重复使用缓存数据,导致获取的序列主键值均为1,... 目录问题原因解决办法如果是存储过程总结问题myBATis有如下代码获取序列作为主键IdMappe

C#使用iText获取PDF的trailer数据的代码示例

《C#使用iText获取PDF的trailer数据的代码示例》开发程序debug的时候,看到了PDF有个trailer数据,挺有意思,于是考虑用代码把它读出来,那么就用到我们常用的iText框架了,所... 目录引言iText 核心概念C# 代码示例步骤 1: 确保已安装 iText步骤 2: C# 代码程

C#实现高性能拍照与水印添加功能完整方案

《C#实现高性能拍照与水印添加功能完整方案》在工业检测、质量追溯等应用场景中,经常需要对产品进行拍照并添加相关信息水印,本文将详细介绍如何使用C#实现一个高性能的拍照和水印添加功能,包含完整的代码实现... 目录1. 概述2. 功能架构设计3. 核心代码实现python3.1 主拍照方法3.2 安全HBIT

C#实现SHP文件读取与地图显示的完整教程

《C#实现SHP文件读取与地图显示的完整教程》在地理信息系统(GIS)开发中,SHP文件是一种常见的矢量数据格式,本文将详细介绍如何使用C#读取SHP文件并实现地图显示功能,包括坐标转换、图形渲染、平... 目录概述功能特点核心代码解析1. 文件读取与初始化2. 坐标转换3. 图形绘制4. 地图交互功能缩放