错误"详细信息org.apache.camel.component.ahc.AhcOperationFailedException"

2020-08-25 00:51发布

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

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


尊敬的专家,

我希望获得反馈。

错误详细信息org.apache.camel.component.ahc.AhcOperationFailedException:HTTP操作调用 https://open.larksuite.com/open-apis/contact/v1/department/add ,其状态代码为:400

我目前的设计中缺少某些东西,所以我得到了代码授权错误?

这是我的设计

我的脚本是

/*
  集成开发人员需要创建方法processData
  该方法采用包com.sap.gateway.ip.core.customdev.util的Message对象。
 其中包括对内容开发者有用的帮助方法:
 可用的方法有:
     公共java.lang.Object getBody()
 公共无效setBody(java.lang.Object exchangeBody)
     公共java.util.Map  getHeaders()
     公共无效setHeaders(java.util.Map  exchangeHeaders)
     public void setHeader(java.lang.String名称,java.lang.Object值)
     公共java.util.Map  getProperties()
     公共无效setProperties(java.util.Map  exchangeProperties)
     public void setProperty(java.lang.String名称,java.lang.Object值)
     公共java.util.List  getSoapHeaders()
     公共无效setSoapHeaders(java.util.List  soapHeaders)
        公共无效clearSoapHeaders()
  */
 导入com.sap.gateway.ip.core.customdev.util.Message;
 导入java.util.HashMap;
 导入groovy.json。*


 def消息processData(消息消息){
    //身体
     def正文= message.getBody(String.class);
     def jsonSlurper =新的JsonSlurper();
     def apiResult = jsonSlurper.parseText(body);
     def tokenVal =" Bearer" + apiResult.tenant_access_token.toString();
     def messageLog = messageLogFactory.getMessageLog(message);
    
     message.setBody("");
    
     message.setHeader(" Authorization",tokenVal);
    
 messageLog.addAttachmentAsString(" Authorization:",tokenVal," text/xml");

     返回讯息
 }
 

谢谢

(16.1 kB)

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

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


尊敬的专家,

我希望获得反馈。

错误详细信息org.apache.camel.component.ahc.AhcOperationFailedException:HTTP操作调用 https://open.larksuite.com/open-apis/contact/v1/department/add ,其状态代码为:400

我目前的设计中缺少某些东西,所以我得到了代码授权错误?

这是我的设计

我的脚本是

/*
  集成开发人员需要创建方法processData
  该方法采用包com.sap.gateway.ip.core.customdev.util的Message对象。
 其中包括对内容开发者有用的帮助方法:
 可用的方法有:
     公共java.lang.Object getBody()
 公共无效setBody(java.lang.Object exchangeBody)
     公共java.util.Map  getHeaders()
     公共无效setHeaders(java.util.Map  exchangeHeaders)
     public void setHeader(java.lang.String名称,java.lang.Object值)
     公共java.util.Map  getProperties()
     公共无效setProperties(java.util.Map  exchangeProperties)
     public void setProperty(java.lang.String名称,java.lang.Object值)
     公共java.util.List  getSoapHeaders()
     公共无效setSoapHeaders(java.util.List  soapHeaders)
        公共无效clearSoapHeaders()
  */
 导入com.sap.gateway.ip.core.customdev.util.Message;
 导入java.util.HashMap;
 导入groovy.json。*


 def消息processData(消息消息){
    //身体
     def正文= message.getBody(String.class);
     def jsonSlurper =新的JsonSlurper();
     def apiResult = jsonSlurper.parseText(body);
     def tokenVal =" Bearer" + apiResult.tenant_access_token.toString();
     def messageLog = messageLogFactory.getMessageLog(message);
    
     message.setBody("");
    
     message.setHeader(" Authorization",tokenVal);
    
 messageLog.addAttachmentAsString(" Authorization:",tokenVal," text/xml");

     返回讯息
 }
 

谢谢

(16.1 kB)
付费偷看设置
发送
11条回答
Doze时光
1楼 · 2020-08-25 01:21.采纳回答

Hello Achmad,

请遵循以下

1)将Auth标头存储到属性中。

2)使用上述属性创建身份验证标头。

致谢,

Sriprasad Shivaram Bhat

何必丶何苦呢
2楼-- · 2020-08-25 01:43

亲爱的 Sriprasad Shivaram Bhat

它仍然为空

这是请求回复之前

请求后回复

有什么建议吗?

谢谢

愤怒的猪头君
3楼-- · 2020-08-25 01:36

Hello Achmad,

无论您是从脚本还是内容修改器读取/写入标头,都一样,因为标头是作为一部分存储的 消息(不取决于步骤)。

您可以浏览下面的博客以删除不需要的标头,以使这些标头不发送到目标系统。

https://blogs.sap.com/2018/01/18/sap-cpi-clearing-the-headers-reset-header/

也建议您验证数据(目标系统是否能理解),因为错误响应代码为400。

问候,

Sriprasad Shivaram Bhat

哎,真难
4楼-- · 2020-08-25 01:37

Hello Achmad,

在请求回复之前将其存储为属性,然后在请求回复后存储 创建属性类型的标头。

问候

Sriprasad Shivaram Bhat

SAP小菜
5楼-- · 2020-08-25 01:32

尊敬的Sriprasad Shivaram Bhat

非常感谢 您的帮助。

我真的很感激

此答案可帮助我修复1行中的3 iflow。

非常感谢您,先生 Sriprasad Shivaram Bhat

一周热门 更多>