Currently Being Moderated
Recently i cam across a webservice (available for free at http://www.webservicex.net/WS/WSDetails.aspx?CATID=4&WSID=59) which can send SMS to select GSM network phones in India. Just wanted to let the community know and get benefited from the same.

WSDL for this webservice is available at http://www.webservicex.net/SendSMS.asmx?WSDL

This webservice covers the following networks in India - Airtel, Idea Cellular, Skycell , RPG Cellular, Hutch, Celforce / Fascel, BPL Mobile, Escotel.

If you are on WAS6.4

Follow the steps explained in the weblog titled BSP a Developer's Journal Part XIV - Consuming WebServices with ABAP by  Thomas Jung  (follow the method described under the subheading 'Release 640') to create the client proxy and the program to execute the proxy to consume the webservice. Thomas has explained it well with screen shots on how to create the client proxy and also given a sample program to consume the same, and i don't feel a need to re-explain the same here.

If you are on WAS6.20

Create a report program from se38 and copy/paste the code below.

REPORT y_sms_to_india620.
DATA: http_client TYPE REF TO if_http_client .
DATA: wf_string TYPE string ,
result TYPE string ,
r_str TYPE string .
DATA: result_tab TYPE TABLE OF string.

SELECTION-SCREEN: BEGIN OF BLOCK a WITH FRAME .
PARAMETERS: mail(100) LOWER CASE,
 m_no(20) LOWER CASE ,
m_mss(120) LOWER CASE.
SELECTION-SCREEN: END OF BLOCK a .

START-OF-SELECTION .
 CLEAR wf_string .
 CONCATENATE
 'http://www.webservicex.net/SendSMS.asmx/SendSMSToIndia?MobileNumber='
 m_no
 '&FromEmailAddress='
 mail
'&Message='
 m_mss
INTO
 wf_string .

 CALL METHOD cl_http_client=>create_by_url
 EXPORTING url = wf_string
 IMPORTING client = http_client
 EXCEPTIONS argument_not_found = 1
plugin_not_active = 2
internal_error = 3
OTHERS = 4.

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.
 CLEAR result .
 result = http_client->response->get_cdata( ).

 REFRESH result_tab .
 SPLIT result AT cl_abap_char_utilities=>cr_lf INTO TABLE result_tab .
LOOP AT result_tab INTO r_str.
 WRITE:/ r_str .
 ENDLOOP .

 

I tried this from Saudi Arabia to a BPL mobile at Trichy/India and it works!

Comments