在OData服务的创建/更新/发布方面需要帮助

2020-09-09 00:29发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨,专家 我创建了一个服务...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,专家

我创建了一个服务,并使用网关客户端界面创建并测试了我的GetEntitySet和GetEntity。

现在,我想创建和测试我的Create/Update/Delete方法。

在Gateway Client中,我想创建一个POST HTTP请求,但找不到有关请求格式以及如何在ABAP中编码我的方法的任何信息。

请任何人,如果您愿意,请给我启发me

试图阅读论坛上的许多其他帖子,但无法弄清楚应采用哪种格式。

最诚挚的问候。

Kell Vagtholm

当我在POST HTTP请求中使用此代码时:

<?xml version =" 1.0" encoding =" utf-8" standalone =" yes"?>
http://www.w3.org/2005/Atom " xmlns:d =" http://schemas.microsoft.com/ado/2007/08/dataservices " xmlns:m =" http://schemas.microsoft.com/ado/2007/08/dataservices/metadata ">


KVA
2013-08-29T00:00 :00
KVA
2013-08-29T00:00:00
< d:Idx> 2
01


我收到一条错误消息:

<?xml版本=" 1.0"编码=" utf-8"吗?>

-<错误xmlns =" http://schemas.microsoft.com/ado/2007/08/dataservices/metadata ">

005056A509B11ED1B9BF9F46AA8E82ED

在数据服务的上下文中,发生了未知的内部服务器错误

> 使用?sap-ds-debug = true会给我以下错误信息: 标题1

值'00000000'违反了方面信息'nullable = false'

在类/IWCOR/CL_DS_EDM_DATE_TIME方法/IWCOR/IF_DS_EDM_SIMPLE_TYPE〜TO_STRING和第18行中发生的异常/IWCOR/CX_DS_EDM_FACET_ERROR

  > 1种方法/IWCOR/IF_DS_EDM_SIMPLE_TYPE〜TO_STRING。  2数据:3个l_dsedx_date类型d,4个l_dsedx_time类型t,5个l_dsedx_days类型i,6个l_dsedx_seconds类型p长度10个小数0,7个l_dsedx_milliseconds类型n长度3,8个l_dsedx_length类型i,9。  10个字段符号:11个类型p。  12 13 dsedx_initialize_descriptor io_element_descriptor lo_descriptor iv_value。  14 15如果iv_kind = kind_json。  16 dsedx_format_datetime_json rv_value iv_value id_facets lo_descriptor。  17 ELSE。  
 18 dsedx_format_datetime rv_value iv_value id_facets lo_descriptor。  
 19如果iv_kind = kind_uri。  20 to_uri_literal rv_value。  21 ENDIF。  22 ENDIF。  23种方法 
参数具有无效值:参数IV_VALUE具有无效值00000000。

在类/IWCOR/CL_DS_EDM_DATE_TIME方法/IWCOR/IF_DS_EDM_SIMPLE_TYPE〜TO_STRING和第18行中发生异常CX_PARAMETER_INVALID_RANGE

 1方法/IWCOR/IF_DS_EDM_SIMPLE_TYPE〜TO_STRING。  2数据:3个l_dsedx_date类型d,4个l_dsedx_time类型t,5个l_dsedx_days类型i,6个l_dsedx_seconds类型p长度10个小数0,7个l_dsedx_milliseconds类型n长度3,8个l_dsedx_length类型i,9。  10个字段符号:11个类型p。  12 13 dsedx_initialize_descriptor io_element_descriptor lo_descriptor iv_value。  14 15如果iv_kind = kind_json。  16 dsedx_format_datetime_json rv_value iv_value id_facets lo_descriptor。  17 ELSE。  
 18 dsedx_format_datetime rv_value iv_value id_facets lo_descriptor。  
 19如果iv_kind = kind_uri。  20 to_uri_literal rv_value。  21 ENDIF。  22 ENDIF。  23种方法 
发生类型为CX_PARAMETER_INVALID_RANGE的异常,但未在本地处理,也未在RAISING子句中声明

在类/IWFND/CL_SODATA_POST_PROC方法ABAP_KEY_TO_EDM和第1行中发生的异常CX_SY_NO_HANDLER

  
 1方法abap_key_to_edm。  
 2 3数据:lr_key类型参考至/iwfnd/if_mgw_core_types => key_s,4 lo_type类型参考至/iwcor/if_ds_edm_simple_type,5 ls_key类型/iwcor/if_ds_uri => key_predicate_s,6  iwcor/if_ds_edm_element => facets_s。  7 8 FIELD-SYMBOLS:<值> TYPE数据。  9 10循环到it_key引用lr_key。  
在数据服务的上下文中,发生了未知的内部服务器错误

在程序SAPMHTTP包含和第-0行中发生了异常/IWCOR/CX_DS_INTERNAL_ERROR

这是什么意思?
3条回答
槿木_熙
2020-09-09 00:58 .采纳回答

嗨,凯尔,

您的Post请求正文正确。 没问题。

问题似乎出在您的日期时间值及其格式上。

我建议您去实体,将所有非关键参数标记为可为空,重新生成运行时伪像,清除缓存,然后重试。

此建议背后的逻辑: 每当这样的格式出现问题时,转换将导致该属性的null。 将该属性标记为不可为空(默认)后,可能会引发这样的错误。

请关注我的博客http://scn.sap.com/community/netweaver-gateway/blog/2013/08/09/frequent-problems-encountered-in- netweaver-gateway-service-development

感谢

克里希纳

一周热门 更多>