Apigee java标注: 为了执行java callout,我在apigee的org级别上传了.jar文件。我在java-callout策略中引用了jar(和Execution类),但是在部署代理期间我遇到了错误 - “无法提取java资源”。使用curl命令我验证jar是作为java类型加载的,资源名称是正确的。
用于上传jar的curl命令。 curl -v -H“Content-Type:application / octet-stream”-X POST -d@{JARfileName.jar} http:// {HOST} / v1 / organizations / {ORG} / resourcefiles?“name = {JARfileName的.jar}&安培;类型= Java“的
知道这是什么问题吗?
答案 0 :(得分:0)
如JavaCallout
{{1}}所述,此功能仅适用于付费的Apigee组织。如果您是付费客户,我建议您直接与Apigee支持小组联系以获取有关此问题的帮助。
答案 1 :(得分:0)
我进一步研究过,它与java类加载器有关 - 在内置(固定)java类加载器序列是在代理级别中寻找Apigee平台级别的依赖关系,而不是在其他方向。示例 - 您无法从平台级别上传的jar引用入口类,并在代理级别查找其依赖项。无论如何,解决方案对我有用。
对Apigee团队的建议 - 如果有方法在Api-proxy中定义依赖jar的位置(java callout中的显式jar位置)会有所帮助,这样就可以显式地管理如何引用依赖jar /类。此外,还可以在平台级别上传公共/共享类,并在代理级别捆绑代理特定的配置。
此致 Kamesh