[
{
"taskId":286079
},
{
"taskId":287571
}
]
{
"response":"Success",
"responseData":{
"response":"Posted successfully"
},
"error":null,
"errorList":[]
}
method CONSUMERESTSET_GET_ENTITYSET.
DATA: lt_filters TYPE /iwbep/t_mgw_select_option,
ls_filter TYPE /iwbep/s_mgw_select_option,
ls_so TYPE /iwbep/s_cod_select_option,
LS_CONSUMERESTSET TYPE ZCL_ZTEST_ODATA_MPC=>TS_CONSUMEREST.
DATA: lv_RestSrvUrl TYPE STRING, "Var for Http REST Service Url
lv_HTTP_CLIENT TYPE REF TO IF_HTTP_CLIENT, "Var for Rest Http Client
LV_REQUEST TYPE STRING,
LV_RESPONSE TYPE STRING.
* Initiating filter to Read input from EnitySet of ODataService
lt_filters = io_tech_request_context->get_filter( )->get_filter_select_options( ).
* Extract input from Property 'REQUEST' of EntitySet 'CONSUMERESTSet'
Clear ls_filter.
READ TABLE lt_filters WITH TABLE KEY property = 'REQUEST' INTO ls_filter.
IF sy-subrc EQ 0.
READ TABLE ls_filter-select_options INTO ls_so index 1.
IF sy-subrc EQ 0.
LV_REQUEST = ls_so-low.
ENDIF.
ENDIF.
* REST Service URL
lv_RestSrvUrl = 'http://<ServiceIP>:<Port>/<REST_Service_Path>'.
*Steps to Call REST Service ===================================
*STEP-1 : CREATE HTTP CLIENT
CALL METHOD CL_HTTP_CLIENT=>CREATE_BY_URL
EXPORTING
URL = lv_RestSrvUrl
IMPORTING
CLIENT = lv_HTTP_CLIENT
EXCEPTIONS
ARGUMENT_NOT_FOUND = 1
PLUGIN_NOT_ACTIVE = 2
INTERNAL_ERROR = 3
OTHERS = 4
.
*STEP-2 : AUTHENTICATE HTTP CLIENT
CALL METHOD LV_HTTP_CLIENT->AUTHENTICATE
EXPORTING
USERNAME = 'Service_user-id'
PASSWORD = 'Service_password'.
*STEP-3 : Set headers for REST Service Request Call
CALL METHOD lv_HTTP_CLIENT->REQUEST->SET_HEADER_FIELD
EXPORTING NAME = '~request_method'
VALUE = 'POST'.
CALL METHOD lv_HTTP_CLIENT->REQUEST->SET_HEADER_FIELD
EXPORTING NAME = 'Content-Type'
VALUE = 'application/json; charset=utf-8'.
CALL METHOD lv_HTTP_CLIENT->REQUEST->SET_HEADER_FIELD
EXPORTING NAME = 'Accept'
VALUE = 'application/json, text/html'.
* STEP-3.1 : Attach Request Message
CALL METHOD LV_HTTP_CLIENT->REQUEST->SET_CDATA
EXPORTING DATA = LV_REQUEST
OFFSET = 0.
*STEP-4 : SEND HTTP REQUEST
CALL METHOD lv_HTTP_CLIENT->SEND
EXCEPTIONS
HTTP_COMMUNICATION_FAILURE = 1
HTTP_INVALID_STATE = 2.
*STEP-5 : GET HTTP RESPONSE
CALL METHOD lv_HTTP_CLIENT->RECEIVE
EXCEPTIONS
HTTP_COMMUNICATION_FAILURE = 1
HTTP_INVALID_STATE = 2
HTTP_PROCESSING_FAILED = 3.
*STEP-6 : Extract Rest-Service-Response
CLEAR LV_RESPONSE.
LV_RESPONSE = lv_HTTP_CLIENT->response->get_cdata( ).
*STEP-7 : Appending Rest-Service-Response to EntitySet of ODataService
CLEAR LS_CONSUMERESTSET.
LS_CONSUMERESTSET-REQUEST = LV_REQUEST. "Append Sent Request
LS_CONSUMERESTSET-RESPONSE = LV_RESPONSE. "Append Receievd Response
APPEND LS_CONSUMERESTSET TO ET_ENTITYSET.
CLEAR LS_CONSUMERESTSET.
endmethod.
/sap/opu/odata/sap/ZTEST_ODATA_SRV/ConsumeRESTSet?$filter=REQUEST eq '[{"taskId":286079},{"taskId":287571}]'
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
11 | |
9 | |
7 | |
6 | |
4 | |
4 | |
3 | |
3 | |
3 | |
3 |