使用CPI iflow中的Groovy脚本提取JAR内容时出现问题....." URI不分层"

2020-09-02 06:42发布

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

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


大家好,

我正在尝试实现Eng的以下博客,以动手实践CPI的Groovy脚本。

https://blogs.sap.com/2017/10/06/how-do-you-test-your-groovy-scripts/comment-page-1/#comment-464650

我还按照瓦迪姆的帖子尝试提取罐子。

https://blogs.sap.com/2017/10/02/dark-side-of-groovy-scripting-behind-the-scenes-of-cloud-integration-runtime/

但是当我尝试获取Jar内容时,我遇到了URI类的问题,

"发生内部服务器错误:java.lang.IllegalArgumentException:URI不是Class_JAR_Content.groovy中的14行。失败消息的MPL ID为:AF0aTY5-VXiNuXaV-B9TGBY2ALTg有关更多详细信息,请检查尾部日志。 "

请提出如何解决此问题的建议。

" java.lang.IllegalArgumentException:URI不分层"。

首先,我尝试根据上述Engs博客修改标头值。 而且我在这里遇到了" com.sap.it.api.msg.ExchangePropertyProvider"的类未发现异常的情况

因此,我开始使用Vadim的帖子深入研究Jar,使用以下iflow和常规脚本检索Jar内容

Groovy脚本

当我尝试通过从POSTMAN进行GET查询来获取JAR的base 64编码时,这就是我所得到的。 "发生内部服务器错误:java.lang.IllegalArgumentException:URI不分层",我正在努力了解此错误的含义。 如果您有任何建议,请告诉我?

致谢

kalyan。

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

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


大家好,

我正在尝试实现Eng的以下博客,以动手实践CPI的Groovy脚本。

https://blogs.sap.com/2017/10/06/how-do-you-test-your-groovy-scripts/comment-page-1/#comment-464650

我还按照瓦迪姆的帖子尝试提取罐子。

https://blogs.sap.com/2017/10/02/dark-side-of-groovy-scripting-behind-the-scenes-of-cloud-integration-runtime/

但是当我尝试获取Jar内容时,我遇到了URI类的问题,

"发生内部服务器错误:java.lang.IllegalArgumentException:URI不是Class_JAR_Content.groovy中的14行。失败消息的MPL ID为:AF0aTY5-VXiNuXaV-B9TGBY2ALTg有关更多详细信息,请检查尾部日志。 "

请提出如何解决此问题的建议。

" java.lang.IllegalArgumentException:URI不分层"。

首先,我尝试根据上述Engs博客修改标头值。 而且我在这里遇到了" com.sap.it.api.msg.ExchangePropertyProvider"的类未发现异常的情况

因此,我开始使用Vadim的帖子深入研究Jar,使用以下iflow和常规脚本检索Jar内容

Groovy脚本

当我尝试通过从POSTMAN进行GET查询来获取JAR的base 64编码时,这就是我所得到的。 "发生内部服务器错误:java.lang.IllegalArgumentException:URI不分层",我正在努力了解此错误的含义。 如果您有任何建议,请告诉我?

致谢

kalyan。

付费偷看设置
发送
4条回答
me_for_i
1楼-- · 2020-09-02 07:12

您好,Kalyan

我的博客文章中的评论可能对您的情况有所帮助。 通过在CPI上切换到Apache Karaf和Java 8,JAR文件的定位方式已更改。

下面的代码现在将提供捆绑号而不是JAR文件的完整路径

 URI classFilePath = clazz.protectionDomain.codeSource.location.toURI(); 
>

输出:

 jar:bundle://425.0:0/!/

在博客文章中查看我的评论,以了解如何进一步查找广告的位置 捆绑软件的JAR文件。

https://blogs.sap.com/2017/10/06/how-do-you-test-your-groovy-scripts/#comment-455114

问候

英语Swee

槿木_熙
2楼-- · 2020-09-02 07:04

嗨Eng,

感谢您的回复。

我遵循了评论并尝试了Vadim的方法和" Ariel M. Bravo Ayala"方法( https://blogs.sap.com/2019/01/03/exploring-cpis-filesystems-content/)直接访问jar,而无需进行base 64转换。 在Vadims脚本的情况下,我只能浏览目录,其中包括jar捆绑包,但是我在努力获取jar或base 64编码的内容。 对于Ariel M博客,我可以使用邮递员的GET命令获取目录路径。 当我实际上试图在Internet Explorer中访问那些URL时,我得到" 403"。 好像我在这里缺少什么。

致谢

Kalyan。

太Q了
3楼-- · 2020-09-02 06:51

嗨,Eng

我刚刚开始怀疑自己没有访问文件共享的权限,这就是为什么我收到403错误的原因。

致谢

Kalyan。

clasier
4楼-- · 2020-09-02 07:07

嗨,Kalyan,

您能够解决此问题吗? 因为在提取MessageImpl类的jar文件时遇到了相同的问题。

此致

维克拉姆

一周热门 更多>