***SOAP Method to Call WebService
REPORT z_barry_http_soap_post LINE-SIZE 1023.
DATA: http_client TYPE REF TO if_http_client .
DATA: proxy_host TYPE string VALUE '10.99.60.203' ,
proxy_port TYPE string VALUE '8080',
proxy_user TYPE string ,
proxy_pass TYPE string .
DATA: len TYPE i,
len_str TYPE string .
DATA: post_string TYPE string ,
return_str TYPE string .
PARAMETERS: p_code(11) TYPE c OBLIGATORY DEFAULT '1381852'.
PARAMETERS: p_user(20) TYPE c .
START-OF-SELECTION .
CONCATENATE '' ' ' xmlns:soap=" '' ' IMPORTING text_buffer = str TABLES binary_tab = bin_tab.
CALL METHOD http_client->close.
WRITE return_str .
WRITE / str.
***HTTP POST Method
REPORT z_barry_http_post LINE-SIZE 1023.
DATA: http_client TYPE REF TO if_http_client .
DATA: proxy_host TYPE string VALUE '10.99.60.203' ,
proxy_port TYPE string VALUE '8080',
proxy_user TYPE string ,
proxy_pass TYPE string .
DATA: len TYPE i,
len_str TYPE string .
DATA: post_string TYPE string ,
return_str TYPE string .
PARAMETERS: p_code(11) TYPE c OBLIGATORY DEFAULT '1381852'.
PARAMETERS: p_user(20) TYPE c .
START-OF-SELECTION .
CONCATENATE 'mobileCode=' p_code '&userID=' p_user INTO post_string.
len = STRLEN( post_string ) .
len_str = len .
CALL METHOD cl_http_client=>create EXPORTING host = 'webservice.webxml.com.cn' service = '80' scheme = '1' proxy_host = proxy_host proxy_service = proxy_port IMPORTING client = http_client.
http_client->propertytype_logon_popup = http_client->co_enabled .
* CALL METHOD http_client->authenticate*
* EXPORTING*
* proxy_authentication = 'X'*
* username = proxy_user*
* password = proxy_pass.*
CALL METHOD http_client->request->set_header_field EXPORTING name = '~request_method' value = 'POST'.
CALL METHOD http_client->request->set_header_field EXPORTING name = '~server_protocol' value = 'HTTP/1.1'.
CALL METHOD http_client->request->set_header_field EXPORTING name = '~request_uri' value = '/WebServices/MobileCodeWS.asmx/getMobileCodeInfo'.
CALL METHOD http_client->request->set_header_field EXPORTING name = 'Content-Type' value = 'application/x-www-form-urlencoded'.
CALL METHOD http_client->request->set_header_field EXPORTING name = 'Content-Length' value = len_str.
CALL METHOD http_client->request->set_cdata EXPORTING data = post_string offset = 0 length = len.
CALL METHOD http_client->send EXCEPTIONS http_communication_failure = 1 http_invalid_state = 2.
CALL METHOD http_client->receive EXCEPTIONS http_communication_failure = 1 http_invalid_state = 2 http_processing_failed = 3.
return_str = http_client->response->get_cdata( ).
CALL METHOD http_client->close.
WRITE return_str.