点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
专家们,
在POST OData服务时出错。 似乎X-CSRF-Token无效。
呼叫方法cl_http_client => create_by_destination 出口 目的地='BPMODATA' 输入 客户端= lo_http_client。 *第2步:-填充标题并为GET方法设置URI lv_uri ='bpmodata/startprocess.svc/test.com/test〜process〜bpm/Purchase_Group/StartData'。 呼叫方法cl_http_utility => set_request_uri 出口 请求= lo_http_client->请求 uri = lv_uri。 *设置内容类型 呼叫方法lo_http_client-> request-> set_content_type 出口 content_type ='application/json'。 * *设置用于获取X-CSRF令牌的标头字段 呼叫方法lo_http_client-> request-> set_header_field 出口 名称='X-CSRF-令牌' 值="提取"。 呼叫方法lo_http_client-> request-> set_method 出口 方法= lo_http_client-> request-> co_request_method_get。 *步骤3:-触发GET方法 lo_http_client->发送( 例外情况 http_communication_failure = 1 http_invalid_state = 2)。 lo_http_client-> receive( 例外情况 http_communication_failure = 1 http_invalid_state = 2 http_processing_failed = 3)。 调用方法lo_http_client-> response-> get_header_field 出口 名称='X-CSRF-令牌' 接收 值= l_token。 *步骤4:-填充HTTP POST方法的标头和正文 呼叫方法lo_http_client-> request-> set_header_field 出口 名称='X-CSRF-令牌' 值= l_token。 呼叫方法lo_http_client-> request-> set_header_field 出口 名称="缓存控制" 值="无缓存"。 呼叫方法lo_http_client-> request-> set_header_field 出口 名称="连接" 值="保持活动状态"。 呼叫方法lo_http_client-> request-> set_header_field 出口 名称="接受语言" 值='en-US,en; q = 0.8'。 呼叫方法lo_http_client-> request-> set_header_field 出口 名称="接受" 值='application/json'。 呼叫方法lo_http_client-> request-> set_header_field 出口 名称="内容类型" 值='application/json'。 呼叫方法lo_http_client-> request-> set_header_field 出口 名称="接受编码" 值='gzip,放气'。 呼叫方法lo_http_client-> request-> set_method 出口 方法= lo_http_client-> request-> co_request_method_post。 呼叫方法lo_http_client-> request-> get_header_fields 改变 字段= lt_hdrs。 标题字段 *为HTTP Post请求创建正文 l_body ='{" ProcessStartEvent":{" :: StartBPM":{" PurchaseGroup_StartBPM":{" Request_Id":" 901"," Country":" IN"}}}}}'。 呼叫方法lo_http_client-> request-> set_cdata 出口 数据= l_body。 调用方法lo_http_client-> request-> get_cdata 接收 数据= lv_getcdata lo_http_client->发送( 例外情况 http_communication_failure = 1 http_invalid_state = 2)。 *"发送HTTP请求 lo_http_client-> receive( 例外情况 http_communication_failure = 1 http_invalid_state = 2 http_processing_failed = 3)。 *"收到回应 lv_result = lo_http_client-> response-> get_cdata()。 调用方法lo_http_client-> response-> get_header_fields 改变 字段= lt_hdrsresponse。 标题字段
获取403禁止错误。 请求您的帮助。
预先感谢
Aisurya
您真的在POST上获取了403,还是已经在GET上获取了403? 也许BPM服务器上的路径未激活。
您可以通过外部REST客户端(例如Postman或类似产品)复制错误吗?
一周热门 更多>