SAP OData服务调用之C#篇

SAP OData服务调用之C#篇

版本:V1.0

编写人:杨大山
日期:2018-01-11


目 录

一、 认识ODATA 3
二、 常见异常 3
1、 远程服务器返回错误: (401) 未经授权; 3
2、 远程服务器返回错误: (404) NOT FOUND; 3
3、 HTTP/1.1 405 METHOD NOT ALLOWED; 3
4、 远程服务器返回错误: (400) BAD REQUEST; 3
5、 远程服务器返回错误: (403) 已禁止; 3
三、 分析思路 3
1、 背景说明 3
2、 思路重现 4
四、 解决方案 6
1、 必须知道 6
2、 核心代码之RESTSHARP 7
3、 核心代码之HTTPWEBREQUEST 8
五、 温馨提示 9


一、 认识OData
定义:Open Data Protocol,开发数据协议,谓之OData,它是用来查询和更新数据的一种Web协议;
理解:OData is an Online Database Connectivity(ODBC) for the Web;
须知:OData 是实现Restful Web接口风格的最佳方式。
二、 常见异常
1、 远程服务器返回错误: (401) 未经授权;
2、 远程服务器返回错误: (404) Not Found;
3、 HTTP/1.1 405 Method Not Allowed;
4、 远程服务器返回错误: (400) Bad Request;
5、 远程服务器返回错误: (403) 已禁止;
 Validierung des CSRF-Tokens fehlgeschlagen(德语:CSRF 令牌验证失败);
以上为C#后台调用SAP OData最为常见的几种异常,尤以第3项最为常见与复杂。

三、 分析思路
1、 背景说明
 笔者熟悉C#、ABAP、JAVA等语言,具有JAVA、AJAX与SAP OData成功对接经验;
 相关OData已在SAP环境测试通过,服务正常;
 相关参数为SAP方提供,且参数格式与内容经SAP GUI内置 SAP Gateway客户端测试正常,该步骤极为必要,若没有进行,须烦请ABAP人员协助验证之(理论上ABAP开发人员再发布接口给调用方时,已完成相关验证),如图示一:

图示一
 已知在对URI资源的增(PUT或POST)、删(DELETE)、改(PUT或POST)时,需要携带已授权且未失效的Token信息,而对资源的查询(GET)则不需要,是故当HTTP请求方式为PUT、POST、DELETE时,须先对URI资源GET请求一次(握手),握手成功后,SAP会返回Token信息,再次请求即可携带之;
 Token的名称为:X-CSRF-Token;
2、 思路重现
任何异常,除明显能锁定原因外,均请在处理之前优先咨询接口提供方(SAP端)是否有捕获到异常(通过事务代码/N/IWFND/ERROR_LOG即可查看),SAP端若捕获到异常,则ABAP人员可先

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值