ZipInputStream.getNextEntry()在PO 7.5中返回null,但在PI 7.3中不返回null

2020-09-01 04:56发布

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

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


大家好,

我有一种情况,PI会通过文件适配器选择一个zip文件(包含银行对帐单),然后将其传输到Java映射中。

我使用ZipInputStream类检索ZIP文件并进行处理。 这在PI7.3中工作得很好,但是在接口移至PO 7.5时调用getNextEntry()函数时给出空对象。 有人遇到过这个问题吗?

InputStream输入= arg0.getInputPayload()。getInputStream();

ZipInputStream zis =新的ZipInputStream(输入);

while(((objZipEntry = zis.getNextEntry())!= null){

---

-

}

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

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


大家好,

我有一种情况,PI会通过文件适配器选择一个zip文件(包含银行对帐单),然后将其传输到Java映射中。

我使用ZipInputStream类检索ZIP文件并进行处理。 这在PI7.3中工作得很好,但是在接口移至PO 7.5时调用getNextEntry()函数时给出空对象。 有人遇到过这个问题吗?

InputStream输入= arg0.getInputPayload()。getInputStream();

ZipInputStream zis =新的ZipInputStream(输入);

while(((objZipEntry = zis.getNextEntry())!= null){

---

-

}

付费偷看设置
发送
4条回答
Tong__Ming
1楼-- · 2020-09-01 05:47

您好,Ranjith,
为了获得更好的性能,您应该使用BUfferedInputStream类-代码应如下所示-

 BufferedInputStream bis = new BufferedInputStream(arg0.getInputPayload()。getInputStream());
   ZipInputStream zis =新的ZipInputStream(bis);
 ZipEntry objZipEntry; //您甚至可以为此使用构造函数
 while(((objZipEntry = zis.getNextEntry())!= null){
 
 ---
 
 -
 
 }

 

我没有看到ZipEntry objZipEntry的初始化;


谢谢

Sugata

奄奄一息的小鱼
2楼-- · 2020-09-01 05:45

嗨,Sugata,

我在全局部分确实有objZipEntry的声明。 甚至我尝试使用BufferedInputStream。

还是,访问函数getNextEntry()时它会给出空结果。

暮风yp
3楼-- · 2020-09-01 05:44

嗨,

我很确定 arg0.getInputPayload()。 getInputStream(); ,不会返回zip文件。

ZipInputStream将获取zip文件inputstream,但是getInputPayload应该带来应用程序/xml负载。

您确定getInputPayload在代码中带来了一个zip文件吗? 请检查。

建议尝试附件

关于此,

Vikas singh

95年老男孩
4楼-- · 2020-09-01 05:31

hi Vikas,

arg0.getInputPayload()。getInputStream(); 在PI 7.3中拾取zip文件。 但不是7.5。 如果您查看unzip bean,它也可以通过ZipInputStream类实现。

我想知道我是否比7.3缺少7.5中的任何库/设置。 想检查以前是否有人遇到过类似问题。

致谢

Ranjith

一周热门 更多>