Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Send request to Web Service

Former Member
0 Likes
365

Hi,

I need to send the Information to Webservice. I created a Z function Module and sending the information to Webservice. I get response as <soap:Body>##

<soap:Fault>##

<faultcode>so.

Below is the code.

DATA:WF_STRING TYPE STRING.

DATA:WF1_STRING TYPE STRING.

DATA:L_VERSIGN TYPE STRING.

DATA:L_VENDOR TYPE STRING.

DATA:L_PORT TYPE STRING.

DATA:L_PROXY TYPE STRING.

DATA:L_PROXY_LOG TYPE STRING.

DATA:L_PROXY_PWD TYPE STRING.

DATA:L_PROXYPORT TYPE STRING.

DATA:L_PARMLIST TYPE STRING.

CLEAR: WF_STRING,WF1_STRING,W_URL1,W_URL.

CONCATENATE

'<?xml version="1.0" encoding="utf-8"?>'

'<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"'

'xmlns:xsd="http://www.w3.org/2001/XMLSchema"'

'xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">'

'<soap:Body>'

'<processPayment xmlns="http://rpuinet/ccprocess">'

'<userValEnc>' L_MERCHANT_ID '</userValEnc>'

'<pwdValEnc>' L_PASSWORD '</pwdValEnc>'

'<partValEnc>' L_VERSIGN '</partValEnc>'

'<venValEnc>' L_VENDOR '</venValEnc>'

'<siteUrl>' L_URL '</siteUrl>'

'<sitePort>' L_PORT '</sitePort>'

'<proxyAddress>' L_PROXY '</proxyAddress>'

'<proxyLogon>' L_PROXY_LOG '</proxyLogon>'

'<proxyPassword>' L_PROXY_PWD '</proxyPassword>'

'<proxyPort>' L_PROXYPORT '</proxyPort>'

'<timeout>' '30' '</timeout>'

'<ParmList>' L_PARMLIST '</ParmList>'

'</processPayment>'

'</soap:Body>'

'</soap:Envelope>'

INTO WF1_STRING.

W_URL1 = 'http://inetdev/ccprocess.asmx'.

CALL METHOD CL_HTTP_CLIENT=>CREATE_BY_URL

EXPORTING

URL = W_URL1

  • ssl_id = c_ssl_id

IMPORTING

CLIENT = CLIENT

EXCEPTIONS

ARGUMENT_NOT_FOUND = 1

PLUGIN_NOT_ACTIVE = 2

INTERNAL_ERROR = 3

OTHERS = 4.

.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

CALL METHOD CLIENT->REQUEST->SET_HEADER_FIELD

EXPORTING

NAME = 'Content-Type'

VALUE = 'text/xml; charset=utf-8 '.

CLIENT->REQUEST->SET_HEADER_FIELD( NAME = '~request_method'

VALUE = 'POST' ). "#EC *

DATA: RLENGTH TYPE I.

CLEAR:RLENGTH.

RLENGTH = STRLEN( WF1_STRING ).

CALL METHOD CLIENT->REQUEST->SET_CDATA

EXPORTING

DATA = WF1_STRING

OFFSET = 0

LENGTH = RLENGTH.

CALL METHOD CLIENT->SEND

EXCEPTIONS

HTTP_COMMUNICATION_FAILURE = 1

HTTP_INVALID_STATE = 2.

CALL METHOD CLIENT->RECEIVE

EXCEPTIONS

HTTP_COMMUNICATION_FAILURE = 1

HTTP_INVALID_STATE = 2

HTTP_PROCESSING_FAILED = 3

OTHERS = 4.

P_CONTENT = CLIENT->RESPONSE->GET_CDATA( ).

CALL METHOD CLIENT->UNESCAPE_URL

EXPORTING

ESCAPED = CONTENT

RECEIVING

UNESCAPED = CONTENT.

The Response shows as"

<?xml version="1.0" encoding="utf-8"?>##<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">##

<soap:Body>##

<soap:Fault>##

<faultcode>so

Any Idea How to correct ?

Thanks

Niranjan

Hi,

I need to send the Information to Webservice. I created a Z function Module and sending the information to Webservice. I get response as <soap:Body>##

<soap:Fault>##

<faultcode>so.

Below is the code.

DATA:WF_STRING TYPE STRING.

DATA:WF1_STRING TYPE STRING.

DATA:L_VERSIGN TYPE STRING.

DATA:L_VENDOR TYPE STRING.

DATA:L_PORT TYPE STRING.

DATA:L_PROXY TYPE STRING.

DATA:L_PROXY_LOG TYPE STRING.

DATA:L_PROXY_PWD TYPE STRING.

DATA:L_PROXYPORT TYPE STRING.

DATA:L_PARMLIST TYPE STRING.

CLEAR: WF_STRING,WF1_STRING,W_URL1,W_URL.

CONCATENATE

'<?xml version="1.0" encoding="utf-8"?>'

'<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"'

'xmlns:xsd="http://www.w3.org/2001/XMLSchema"'

'xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">'

'<soap:Body>'

'<processPayment xmlns="http://rpuinet/ccprocess">'

'<userValEnc>' L_MERCHANT_ID '</userValEnc>'

'<pwdValEnc>' L_PASSWORD '</pwdValEnc>'

'<partValEnc>' L_VERSIGN '</partValEnc>'

'<venValEnc>' L_VENDOR '</venValEnc>'

'<siteUrl>' L_URL '</siteUrl>'

'<sitePort>' L_PORT '</sitePort>'

'<proxyAddress>' L_PROXY '</proxyAddress>'

'<proxyLogon>' L_PROXY_LOG '</proxyLogon>'

'<proxyPassword>' L_PROXY_PWD '</proxyPassword>'

'<proxyPort>' L_PROXYPORT '</proxyPort>'

'<timeout>' '30' '</timeout>'

'<ParmList>' L_PARMLIST '</ParmList>'

'</processPayment>'

'</soap:Body>'

'</soap:Envelope>'

INTO WF1_STRING.

W_URL1 = 'http://inetdev/ccprocess.asmx'.

CALL METHOD CL_HTTP_CLIENT=>CREATE_BY_URL

EXPORTING

URL = W_URL1

  • ssl_id = c_ssl_id

IMPORTING

CLIENT = CLIENT

EXCEPTIONS

ARGUMENT_NOT_FOUND = 1

PLUGIN_NOT_ACTIVE = 2

INTERNAL_ERROR = 3

OTHERS = 4.

.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

CALL METHOD CLIENT->REQUEST->SET_HEADER_FIELD

EXPORTING

NAME = 'Content-Type'

VALUE = 'text/xml; charset=utf-8 '.

CLIENT->REQUEST->SET_HEADER_FIELD( NAME = '~request_method'

VALUE = 'POST' ). "#EC *

DATA: RLENGTH TYPE I.

CLEAR:RLENGTH.

RLENGTH = STRLEN( WF1_STRING ).

CALL METHOD CLIENT->REQUEST->SET_CDATA

EXPORTING

DATA = WF1_STRING

OFFSET = 0

LENGTH = RLENGTH.

CALL METHOD CLIENT->SEND

EXCEPTIONS

HTTP_COMMUNICATION_FAILURE = 1

HTTP_INVALID_STATE = 2.

CALL METHOD CLIENT->RECEIVE

EXCEPTIONS

HTTP_COMMUNICATION_FAILURE = 1

HTTP_INVALID_STATE = 2

HTTP_PROCESSING_FAILED = 3

OTHERS = 4.

P_CONTENT = CLIENT->RESPONSE->GET_CDATA( ).

CALL METHOD CLIENT->UNESCAPE_URL

EXPORTING

ESCAPED = CONTENT

RECEIVING

UNESCAPED = CONTENT.

The Response shows as"

<?xml version="1.0" encoding="utf-8"?>##<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">##

<soap:Body>##

<soap:Fault>##

<faultcode>so

Any Idea How to correct ?

Thanks

Niranjan

1 REPLY 1
Read only

Former Member
0 Likes
331

Search SDN BLOGS on using web services from ABAP - there are several examples in these that are easy to implement and work well.

Andrew