使用SAP IRPA Ajax调用进行文件发布

2020-08-21 11:57发布

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

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


你好

我们正在尝试使用SAP IRPA Bot中来自SCP的文档信息提取服务。 为此,我们尝试将PDF发票文档过帐到POST ajax请求中的相应服务。

在这里,我们还需要在ajax调用中发布File +一些其他参数。 我们的代码如下-

我们每次都会收到来自服务的错误消息。

400:错误的请求:{"错误":{"代码":" 4","消息":"未提供所需的表单数据。","详细信息":[{"代码":0,"消息" ":{" missingParameters":[" options"]}

我们正在以formdata有效载荷的形式发送参数,但不确定为什么它不会被服务获取。 我们发送的标头参数如下-

标头:{" Accept":e.ajax.content.json," Authorization":" Bearer" + rootData.accessToken},

您能在这里帮忙吗?

谢谢,

Mahesh Z。

(19.0 kB)

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

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


你好

我们正在尝试使用SAP IRPA Bot中来自SCP的文档信息提取服务。 为此,我们尝试将PDF发票文档过帐到POST ajax请求中的相应服务。

在这里,我们还需要在ajax调用中发布File +一些其他参数。 我们的代码如下-

我们每次都会收到来自服务的错误消息。

400:错误的请求:{"错误":{"代码":" 4","消息":"未提供所需的表单数据。","详细信息":[{"代码":0,"消息" ":{" missingParameters":[" options"]}

我们正在以formdata有效载荷的形式发送参数,但不确定为什么它不会被服务获取。 我们发送的标头参数如下-

标头:{" Accept":e.ajax.content.json," Authorization":" Bearer" + rootData.accessToken},

您能在这里帮忙吗?

谢谢,

Mahesh Z。

(19.0 kB)
付费偷看设置
发送
4条回答
SAP小黑
1楼 · 2020-08-21 12:25.采纳回答

你好Mahesh,

为了在formData中发送文件和options对象,以下代码段可以帮助您:

 ctx.ajax.call({
     ...
     formData:[{
 文件:rootData.invoiceFile,
 类型:e.ajax.content.pdf,
 名称:"文件"
     },{
 值:JSON.stringify(optionsObject),
 类型:e.ajax.content.jsonText,
 名称:"选项"
     }],
     ...
 }); 

问候

Jennifer

昵称总是被占用
2楼-- · 2020-08-21 12:25

非常感谢 Jennifer Degac

对我有用。

谢谢,

Mahesh Z。

SAP小菜
3楼-- · 2020-08-21 12:27

嗨,Mahesh,

如果无法访问您要调用的服务的文档,可能很难回答。 但是,上一次我确实必须向服务发送pdf时,我确实使用了以下调用:

 ctx.ajax.call({
 网址:payableAccount.urls.processInvoice,
 方法:e.ajax.method.post,
 formData:{
 文件:ctx.options.path.log + payableAccount.urls.getInvoiceFullPath,
 类型:e.ajax.content.pdf,
 名称:"发票"
 },
 数据:{
 customerId:1
 调试:false,
 getOc​​rResult:假
 },
 标头:{
 接受:e.ajax.content.json,
 授权:sc.localData.APIKey
 },
 成功:功能(res,状态,xhr){
 sc.endStep(); //stGetInvoiceResult
 },
 错误:功能(分辨率,状态,xhr){
 sc.setError(e.error.Fail,'Web服务失败:['+ status +']');
 sc.endScenario();
 }
 });
 

如您所见,我使用'data'属性发送特定数据。 也许您需要使用类似的方法来发送您的选项?

此致

J。

Tong__Ming
4楼-- · 2020-08-21 12:15

你好杰罗姆,

我在这里尝试了完全相同的操作,但是仍然遇到相同的问题-

我的代码附在这里。

sample-code.txt

您能在这里提出其他建议吗?

谢谢,

Mahesh Z。

一周热门 更多>