Skip to Content
0
Former Member
Aug 29, 2007 at 09:23 PM

consuming a https webservice from 6.20

36 Views

Hi all,

I am trying to consume a webservice from 6.20 version. I have the WSDL file of the service and I am trying to build a SOAP message out of it.

Then I call the methods in my program to create the client and send the request data.

In the response/receive I am getting a 404 Resource not found, Partnernot reached..

I am unable to troubleshoot this problem. I am unable to find if it is related to the the SOAP message I am building or is it the client creation thats failing?

Interestingly ,IF I use cl_http_cleint create by URL, Iam able to connect to the actual URL of the webservice and could see the data in the response' Hi, there is form to invoke the service'. This is what you see if you go to that url in the browser.

Code:

****************************************************************************

CONCATENATE

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

' http://www.w3.org/2001/XMLSchema-instance"'

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

' xmlns:soap="http://www.w3.org/2001/12/soap-envelope">'

'<soap:Body>'

'<Authenticator'

' xmlns="https://xxxyyy.com/XXXWebServices/services/authenticator">'

'<authenticate>'

'<userId0>' user '</userId0>'

'<credential>' password '</credential>'

'</authenticate>'

'</Authenticator>'

'</soap:Body>'

'</soap:Envelope>'

INTO wf_string.

CLEAR :rlength , txlen .

rlength = STRLEN( wf_string ) .

MOVE: rlength TO txlen .

CALL METHOD cl_http_client=>create

EXPORTING

host = 'xxx.com/TUFWebServices'

service = '443'

scheme = '2'

ssl_id = 'ABC'

IMPORTING

client = http_client.

CALL METHOD http_client->request->set_header_field

EXPORTING

name = '~request_method'

value = 'GET'.

CALL METHOD http_client->request->set_cdata

EXPORTING

data = wf_string

offset = 0

length = rlength.

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.

data fields type tihttpnvp.

CLEAR wf_string1.

wf_string1 = http_client->response->get_cdata( ).

*************************************************************************

If I just use:

I am able to reach the URL.

Please suggest.