.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

相关文章

在.NET平台使用C#为PDF添加各种类型的表单域的方法

《在.NET平台使用C#为PDF添加各种类型的表单域的方法》在日常办公系统开发中,涉及PDF处理相关的开发时,生成可填写的PDF表单是一种常见需求,与静态PDF不同,带有**表单域的文档支持用户直接在... 目录引言使用 PdfTextBoxField 添加文本输入域使用 PdfComboBoxField

C#如何调用C++库

《C#如何调用C++库》:本文主要介绍C#如何调用C++库方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录方法一:使用P/Invoke1. 导出C++函数2. 定义P/Invoke签名3. 调用C++函数方法二:使用C++/CLI作为桥接1. 创建C++/CL

C#使用StackExchange.Redis实现分布式锁的两种方式介绍

《C#使用StackExchange.Redis实现分布式锁的两种方式介绍》分布式锁在集群的架构中发挥着重要的作用,:本文主要介绍C#使用StackExchange.Redis实现分布式锁的... 目录自定义分布式锁获取锁释放锁自动续期StackExchange.Redis分布式锁获取锁释放锁自动续期分布式

SpringBoot基于配置实现短信服务策略的动态切换

《SpringBoot基于配置实现短信服务策略的动态切换》这篇文章主要为大家详细介绍了SpringBoot在接入多个短信服务商(如阿里云、腾讯云、华为云)后,如何根据配置或环境切换使用不同的服务商,需... 目录目标功能示例配置(application.yml)配置类绑定短信发送策略接口示例:阿里云 & 腾

C# foreach 循环中获取索引的实现方式

《C#foreach循环中获取索引的实现方式》:本文主要介绍C#foreach循环中获取索引的实现方式,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录一、手动维护索引变量二、LINQ Select + 元组解构三、扩展方法封装索引四、使用 for 循环替代

springboot项目如何开启https服务

《springboot项目如何开启https服务》:本文主要介绍springboot项目如何开启https服务方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录springboot项目开启https服务1. 生成SSL证书密钥库使用keytool生成自签名证书将

C# Where 泛型约束的实现

《C#Where泛型约束的实现》本文主要介绍了C#Where泛型约束的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录使用的对象约束分类where T : structwhere T : classwhere T : ne

C#实现将Excel表格转换为图片(JPG/ PNG)

《C#实现将Excel表格转换为图片(JPG/PNG)》Excel表格可能会因为不同设备或字体缺失等问题,导致格式错乱或数据显示异常,转换为图片后,能确保数据的排版等保持一致,下面我们看看如何使用C... 目录通过C# 转换Excel工作表到图片通过C# 转换指定单元格区域到图片知识扩展C# 将 Excel

C#中async await异步关键字用法和异步的底层原理全解析

《C#中asyncawait异步关键字用法和异步的底层原理全解析》:本文主要介绍C#中asyncawait异步关键字用法和异步的底层原理全解析,本文给大家介绍的非常详细,对大家的学习或工作具有一... 目录C#异步编程一、异步编程基础二、异步方法的工作原理三、代码示例四、编译后的底层实现五、总结C#异步编程

C#TextBox设置提示文本方式(SetHintText)

《C#TextBox设置提示文本方式(SetHintText)》:本文主要介绍C#TextBox设置提示文本方式(SetHintText),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录C#TextBox设置提示文本效果展示核心代码总结C#TextBox设置提示文本效果展示核心代