使用Web侦听器对servucebow进行RFC连接测试时出现错误的请求400错误

2020-08-31 18:11发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家您好, 我对sap完全陌生...

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

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


专家您好,

我对sap完全陌生,我目前正在通过特定端口上的侦听器使用rfc(http到外部服务器)将solman 7.2集成到servicenow。

通过侦听器可访问,在rfc中配置API(主机名-侦听器主机,端口和API路径前缀)时,出现400错误请求错误。

相同的rest API可以在其他测试接口(例如..postman和Powershell ise)中使用,但是在这里失败。

我无法找到根本原因。

能否请您指导我如何进行进一步调查,并且可能是造成此问题的原因。

此致

山地

1条回答
SAP小黑
2020-08-31 19:04

您好 Sandeep Pati

如果要使用API​​,也可以遵循以下方法。 这种方法直接使用URL而不是RFC。 检查这是否适合您的情况。

数据:
    lo_http_client类型参考if_http_client,
    lo_rest_client类型参考cl_rest_http_client,
    lo_exp类型参考zcx_rest_misc_exp,
    lo_response类型参考if_rest_entity,
    lo_request类型参考if_rest_entity。

 数据:
   lv_url TYPE字符串,
   lv_data TYPE字符串,
   lv_errcd TYPE i,
   lv_response TYPE字符串。

 lv_url ='<您的网址此处>'。
 lv_data =''。

 "创建请求
 cl_http_client => create_by_url(
   出口
     网址= lv_url
   输入
     client = lo_http_client" HTTP客户端抽象
   例外情况
     arguments_not_found = 1
     plugin_not_active = 2
     internal_error = 3
     其他= 4
 )。

 "设置协议
 lo_http_client-> request-> set_version(if_http_request => co_protocol_version_1_0)。

 "创建休息请求
 创建对象lo_rest_client
   出口
     io_http_client = lo_http_client。

 "请求请求
 lo_request = lo_rest_client-> if_rest_client〜create_request_entity()。
 lo_request-> set_content_type(iv_media_type = if_rest_media_type => gc_appl_json)。
 lo_request-> set_string_data(lv_data)。

 lo_rest_client-> if_rest_resource〜post(io_entity = lo_request)。
 lo_response = lo_rest_client-> if_rest_client〜get_response_entity()。
 lv_errcd = lo_response-> get_header_field(iv_name =`〜status_code`)。
 lv_response = lo_response-> get_string_data()。
 

谢谢

古拉布

一周热门 更多>