CPI将附件发送到Ariba

2020-08-16 19:35发布

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

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


我在CPI中使用HTTP适配器,因为CPI Ariba适配器有局限性。

我正在使用以下cxml请求将不完整或仅图像发票传递给Ariba。

流来自SFTP-> CPI-> Ariba

ICS提供商 附件。 发票失败 CID: 24116359.1330306017198@cxml.org 600

我在groovy脚本中使用以下代码来设置附件的标题

e消息processData(消息消息)

{def body = message.getBody();

def dataHandler =新的ByteArrayDataSource(body.getBytes(),'application/pdf')

def附件=新的DefaultAttachment(dataHandler)

attachment.setHeader(" Content-Type"," application/pdf");

attachment.setHeader(" Content-ID"," <" +" InvoicePDF_24116359.1330306017198@cxml.org " +">" )attachment.setHeader(" Content-Description","发票PDF")attachment.setHeader(" Content-length"," 325597")attachment.setHeader(" Content-Disposition"," attachment; filename = \" InvoicePDF_0001.pdf \"")message.addAttachmentObject('InvoicePDF_0001.pdf',附件)

返回消息}

我正在使用与子类型相关的MIME mutipart编码器。

但是我仍然从Ariba那里得到错误信息

<状态代码=" 400" text ="错误的请求">错误:找不到附件! 请联系支持人员...

谢谢

Harsha

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

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


我在CPI中使用HTTP适配器,因为CPI Ariba适配器有局限性。

我正在使用以下cxml请求将不完整或仅图像发票传递给Ariba。

流来自SFTP-> CPI-> Ariba

ICS提供商 附件。 发票失败 CID: 24116359.1330306017198@cxml.org 600

我在groovy脚本中使用以下代码来设置附件的标题

e消息processData(消息消息)

{def body = message.getBody();

def dataHandler =新的ByteArrayDataSource(body.getBytes(),'application/pdf')

def附件=新的DefaultAttachment(dataHandler)

attachment.setHeader(" Content-Type"," application/pdf");

attachment.setHeader(" Content-ID"," <" +" InvoicePDF_24116359.1330306017198@cxml.org " +">" )attachment.setHeader(" Content-Description","发票PDF")attachment.setHeader(" Content-length"," 325597")attachment.setHeader(" Content-Disposition"," attachment; filename = \" InvoicePDF_0001.pdf \"")message.addAttachmentObject('InvoicePDF_0001.pdf',附件)

返回消息}

我正在使用与子类型相关的MIME mutipart编码器。

但是我仍然从Ariba那里得到错误信息

<状态代码=" 400" text ="错误的请求">错误:找不到附件! 请联系支持人员...

谢谢

Harsha

付费偷看设置
发送
7条回答
土豆飞人
1楼 · 2020-08-16 20:13.采纳回答

我使用MIME编码器,并为正文和附件使用Content修饰符设置标头属性。

我在下面的博客中介绍了步骤

https ://blogs.sap.com/2020/06/16/mime-multipart-encoder-for-handling-more-than-one-attachments/

谢谢

Harsha

Baoming ROSE
2楼-- · 2020-08-16 20:26

Alawn_Xu
3楼-- · 2020-08-16 20:07

尝试不同的方法,例如:

使用常规方法将文件中的正文消息包含在有效负载附件中,然后,使用mime类型编码器(不要忘记用文件名填充有效负载附件名称

我是小鹏鹏啊
4楼-- · 2020-08-16 20:02

如果我删除MIME mutipart编码器,那么只有简单的请求会被发布到Ariba,而不会附加附件。

谢谢

Harsha

d56caomao
5楼-- · 2020-08-16 20:17

我按照附件更改了流程。

我现在遇到错误了

org.apache.camel.component.ahc.AhcOperationFailedException:HTTP操作调用 https://service-2.ariba.com/service/transaction/cxml.asp ,其状态代码为411

如以下博客所述,我将Post方法传递为动态

/img/questions/ 683934/sap-cpi-outbound-http.html

但仍然是相同的错误。

Iflow如下

昵称总是被占用
6楼-- · 2020-08-16 19:59

嗨,

CPI ariba适配器有哪些局限性?

谢谢

玛雅克

N-Moskvin
7楼-- · 2020-08-16 20:21

嗨卡洛斯

感谢您的答复。

您提到了mime类型编码器(不要忘记用文件名来填充有效负载附件名称

在MIME编码器中用文件名填充有效负载的地方吗?

我正在使用以下groovy脚本将PDF添加为我从SFTP服务器读取的附件

def消息processData(消息消息)

{

def body = message.getBody();

def dataHandler =新的ByteArrayDataSource(body.getBytes(),'application/pdf')

def附件=新的DefaultAttachment(dataHandler)

attachment.setHeader(" Content-Type"," application/pdf");

attachment.setHeader(" Content-ID"," <" +" 发票PDF_-4aa1-a060-8dd585321772@ariba.net " +">")

attachment.setHeader("内容描述","发票PDF")

attachment.setHeader(" Content-length"," 325597")

attachment.setHeader(" Content-Disposition"," attachment; filename = \" InvoicePDF_0001.pdf \"")message.addAttachmentObject(' InvoicePDF_0001.pdf ',附件)

返回消息}

一周热门 更多>