基于词汇的SEGW项目中的Media/MIME配置

2020-09-04 10:08发布

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

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


尊敬的大师,

我已经使用SAP Annotations成功实施了SEGW项目,该项目可以正常工作并管理附件。 现在,我想在基于词汇的注释项目中做同样的事情。

我收到错误:415(不支持的媒体类型)。 这是由于我不知道如何在SEGW中配置实体及其属性以将该实体设置为"媒体类型",我感到自己有些失落。

我已经做的是,重新定义了Model Provider的DEFINE方法来设置包含内容类型的属性:

   方法定义。
     super-> define()。
     DATA(lo_entity_type)=模型-> get_entity_type(iv_entity_name = gc_attachment)。
     如果lo_entity_type为BOUND。
       lo_entity_type-> get_property(iv_property_name ='MimeType')-> set_as_content_type()。
     万一。
   终结法。




 

为MimeType属性设置IsMediaType

将MediaType设置为二进制内容

在MimeType和Content属性中设置允许的文件扩展名

并设置MediaResource配置,但均失败:

在处理新创建的实体时,我擦除了缓存并在标准中有时会得到相同的发布时间。 网关中的处理取决于以下语句:lo_entity_type-> has_stream(),该语句始终为false,因此该实体不被评估为Media(并且在元数据中,我的Attachment实体没有HasStream属性),并且 GateWay会引发异常415(不支持的媒体类型)。 我们发布的是GW 740sp11。

欢迎任何建议advise

谢谢

(35.3 kB)

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

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


尊敬的大师,

我已经使用SAP Annotations成功实施了SEGW项目,该项目可以正常工作并管理附件。 现在,我想在基于词汇的注释项目中做同样的事情。

我收到错误:415(不支持的媒体类型)。 这是由于我不知道如何在SEGW中配置实体及其属性以将该实体设置为"媒体类型",我感到自己有些失落。

我已经做的是,重新定义了Model Provider的DEFINE方法来设置包含内容类型的属性:

   方法定义。
     super-> define()。
     DATA(lo_entity_type)=模型-> get_entity_type(iv_entity_name = gc_attachment)。
     如果lo_entity_type为BOUND。
       lo_entity_type-> get_property(iv_property_name ='MimeType')-> set_as_content_type()。
     万一。
   终结法。




 

为MimeType属性设置IsMediaType

将MediaType设置为二进制内容

在MimeType和Content属性中设置允许的文件扩展名

并设置MediaResource配置,但均失败:

在处理新创建的实体时,我擦除了缓存并在标准中有时会得到相同的发布时间。 网关中的处理取决于以下语句:lo_entity_type-> has_stream(),该语句始终为false,因此该实体不被评估为Media(并且在元数据中,我的Attachment实体没有HasStream属性),并且 GateWay会引发异常415(不支持的媒体类型)。 我们发布的是GW 740sp11。

欢迎任何建议advise

谢谢

(35.3 kB)
付费偷看设置
发送
3条回答
打个大熊猫
1楼 · 2020-09-04 10:40.采纳回答

您好Attila,

我们想在相同类型的项目中管理附件。

找到有关该主题的文档确实很棘手。

您是否找到了针对基于词汇的注释项目的任何解决方案?

最诚挚的问候,

Sophie

shere_lin
2楼-- · 2020-09-04 10:40

嗨,Sophie,

很遗憾,我没有找到任何文档。 但是,要对上述内容进行补充,您需要在模型提供程序(* MPC_EXT)类的方法DEFINE的重新定义中添加以下语句:lo_entity_type-> set_is_media('X')。

所以方法看起来像这样:

   方法定义。

     super-> define()。

     DATA(lo_entity_type)=模型-> get_entity_type(iv_entity_name = gc_attachment)。
     如果lo_entity_type为BOUND。
       lo_entity_type-> set_is_media(iv_is_media = abap_true)。
       lo_entity_type-> get_property(iv_property_name ='MimeType')-> set_as_content_type()。
     万一。


   终结法。
 

打个招呼

阿提拉

P.S。:

我使用sap.m.uploadcollection处理服务。 如果您需要一些重点片段(但在服务收到数据后不解释零件),则可以找到

闻人可可
3楼-- · 2020-09-04 10:42

嗨,

我知道这篇文章很旧,但如今也很有用;-)

我遵循了所有步骤,但是我想我缺少一些东西,因为我试图通过输入诸如" .../sap/opu/odata/sap/my_srv/AttachmentsSet这样的URL来下载文件 ('attachmentID')/$ value ",并且出现以下错误:

请求URI无效。  " $ value"之前的段必须是媒体链接条目。
 

有什么建议吗? 感谢您的建议。

PS:"我的实体"属性FILETYPE和FILECONTENT如您在帖子中所述进行配置。 我还从" * MPC_EXT"类中重新定义了" DEFINE"方法。

一周热门 更多>