cancel
Showing results for 
Search instead for 
Did you mean: 

Webservice proxy - ICM_HTTP_CONNECTION_FAILED

LeonardoAraujo
Active Contributor
0 Kudos

I've posted a thread on the ABAP development.

I think it should be here.

<a href="http://Webservice proxy - ICM_HTTP_CONNECTION_FAILED">http://Webservice proxy - ICM_HTTP_CONNECTION_FAILED</a>

Any ideas on what is going on?

Thanks

Leonardo De Araujo

Accepted Solutions (1)

Accepted Solutions (1)

LeonardoAraujo
Active Contributor
0 Kudos

For asnwers, please post to the other thread.

Thanks

Leonardo

Former Member
0 Kudos

hi,

sorry I don't post to the crap forum over there.

Obviously you issued a HTTP request (e.g. a webservice) and ICM(Internet Connection Manager aka The General Webclient) could not make a connection. this can be due to numerous reasons, for instance that you do do not have a proxy configured, you do not have access to that proxy, your URL given does not exist or isn't routed by ICM or ....

Basically, goto transaction ST11 and find out what really happenend in one of the log files there.

regards, anton

Former Member
0 Kudos

>>>>caznbmsrv601, service: 80 failed (NIEHOST_UNKNOWN) <<<

means just this. host unknown.

LeonardoAraujo
Active Contributor
0 Kudos

In ICM log I get this...

[Thr 1286] Tue Nov 27 18:05:26 2007

[Thr 1286] *** WARNING => Connection request from (42/10935/1) to host: xxxxxxxxxx, service: 80 failed (NIEHOST_UNKNOWN)

RM-T42, U10935, 002 EXT719, TABLET1, 18:05:26, M1, W2, SE38, 5/1 [icxxconn_mt.c 2314]

In RFC2 (FULL TRACE) I get this...

XRFC> Begin of user trace

XRFC>

XRFC> INFO 18:05:15: SOAP Transport Binding CL_SOAP_HTTP_TPBND_ROOT <

XRFC> ->IF_SOAP_TRANSPORT_BINDING~SEND() Message sent <

XRFC> <

XRFC> INFO 18:05:15: SOAP Transport binding CL_SOAP_HTTP_TPBND_ROOT <

XRFC> ->IF_SOAP_TRANSPORT_BINDING~RECEIVE() Try to receive message <

XRFC> <

XRFC> ERROR 18:05:15: SOAP Runtime CL_SOAP_RUNTIME_ROOT->EXECUTE <

XRFC> _PROCESSING() A SOAP Runtime Core Exception occurred in method <

XRFC> IF_SOAP_TRANSPORT_BINDING~receive of class CL_SOAP11_HTTP_TPBND at <

XRFC> position id 1 with internal error id 1023 and error text SRT: <

XRFC> Processing error in Internet Communication Framework: ("ICF Error <

XRFC> when receiving the response: ICM_HTTP_CONNECTION_FAILED") (fault <

XRFC> location is 1 ). <

XRFC> <

XRFC>

XRFC> End of user trace

XRFC> Begin of user trace

XRFC>

XRFC> <

XRFC> TRACE SOAP RUNTIME <

XRFC> <

XRFC> <

XRFC> <

XRFC> SAP System ID: H11 <

XRFC> Client: 002 <

XRFC> User: EXT719 <

XRFC> System time: 180515 <

XRFC> System date: 20071127 <

XRFC> SAP Release: 700 <

XRFC> Host: eszsansrv010 <

XRFC> Operating system: AIX <

XRFC> DB System: ORACLE <

XRFC> Program: Z_WB_PROXY_CALL_TEST <

XRFC> Processing State: 0 <

XRFC> Location: Client <

XRFC> Transport Binding: http://schemas.xmlsoap.org/soap/http <

XRFC> SOAP Application: urn:sap-com:soap:runtime:application:client <

XRFC> SOAP Runtime Protocol: http://www.sap.com/webas/630/soap <

XRFC> /runtime/protocol <

XRFC> SOAP Protocols: 2 <

XRFC> Protocol Name: 2 <

XRFC> Protocol Name: 2 <

XRFC> Request Message: <bound> <

XRFC> Response Message: <bound> <

XRFC> Fault: <initial> <

XRFC> Registry: <bound> <

XRFC> Role: http://www.sap.com/webas/630/soap/role/initialSender <

XRFC> Trace Level: 3 <

XRFC> Logging Level: 2 <

XRFC> Monitoring Level: 0 <

XRFC> Security Profile: <initial> <

XRFC> WS Security Protocol: <initial> <

XRFC> <

XRFC> <

XRFC> <

XRFC> <

XRFC> ERROR 18:05:15: SOAP Application CL_SOAP_APPLICATION_CLIENT <

XRFC> ->IF_SOAP_APPLICATION_CS~EXECUTE_PROCESSING() A SOAP Runtime Core <

XRFC> Exception occurred in method IF_SOAP_TRANSPORT_BINDING~receive of <

XRFC> class CL_SOAP11_HTTP_TPBND at position id 1 with internal error id <

XRFC> 1023 and error text SRT: Processing error in Internet <

XRFC> Communication Framework: ("ICF Error when receiving the response: <

XRFC> ICM_HTTP_CONNECTION_FAILED") (fault location is 1 ). <

XRFC> <

XRFC>

XRFC> End of user trace

LeonardoAraujo
Active Contributor
0 Kudos

Is there a simple way to PING the destination from the SAP server?

How (since I don't have access to the machine)? Is there a FM that allow me to PING a destination?

Thanks

Leonardo

Former Member
0 Kudos

go to transaction SM59, create an 'HTTP connection to an external Server', save it and 'Test Connection'.

This is the ABAP way of pinging a server

anton

LeonardoAraujo
Active Contributor
0 Kudos

I know. I had tried it but I get exactly the same error. So am not sure if the problem is reaching the server or else.

Test 1

TARGET HOST: http://xxxx.xx.xx.xx

TEST RESULT: ICM_HTTP_CONNECTION_FAILED

Test 2

TARGET HOST: http://xxxx.xx.xx.xx SERVICE 80

TEST RESULT: ICM_HTTP_CONNECTION_FAILED

Thanks for far.

Leo

LeonardoAraujo
Active Contributor
0 Kudos

Test 1

TARGET HOST: xxxx.xx.xx.xx

TEST RESULT:

Status HTTP Response 200

Status Text OK

Duration Test Call 438 ms

TARGET HOST xxxx.xx.xx.xx SERVICE 80

RESULT

Status HTTP Response 200

Status Text OK

Duration Test Call 424 ms

RESPONSE HEADER...

~response_line HTTP/1.1 200 OK

~server_protocol HTTP/1.1

~status_code 200

~status_reason OK

content-length 1433

content-type text/html

last-modified Fri, 21 Feb 2003 22:48:30 GMT

accept-ranges bytes

etag "0339c5afbd9c21:5910"

server Microsoft-IIS/6.0

x-powered-by ASP.NET

date Tue, 27 Nov 2007 18:37:07 GMT

connection close

~remote_addr

~uri_scheme_expanded HTTP

So, how come I am getting ICM_HTTP_CONNECTION_FAILED?

Thanks

LeonardoAraujo
Active Contributor
0 Kudos

I changed to a HTTP destination instead of URL and now I get the following error:

SOAP:111 Unallowed RFC-XML Tag (SOAP_EINVALDOC)

XRFC> ERROR 21:58:24: SOAP Application CL_SOAP_APPLICATION_CLIENT <

XRFC> ->IF_SOAP_APPLICATION_CS~EXECUTE_PROCESSING() A SOAP Runtime Core <

XRFC> Exception occurred in method XP_READ_TAG of class CL_SOAP_XP at <

XRFC> position id 1 with internal error id 111 and error text Unallowed <

XRFC> RFC-XML Tag (SOAP_EINVALDOC) (fault location is 1 ). <

Leonardo

Former Member
0 Kudos

hi leo,

I do not quiet understand.

Is the first post one showing a test from SAP/SM59 and the second post one showing a test from elsewhere?

If this is the case, then I suppose that you do not have a proxy server set up for your SAP system. go to transaction SIC,search the top menu for the proxy setup and set up a proxy server. the proxy server must of course be reachable from within the network segement where your SAP system is and of course the target system must be resolvable by your proxy server.

if this is to complicated for you to understand just consult your network gurus, it's their job to make sure that the target is reachable by your SAP system.

anton

LeonardoAraujo
Active Contributor
0 Kudos

If you refer to the SM59 tests, I ran 2 set of tests, one specifying service 80 and another leaving it blank (What I think should still use port 80...). The results are the ones I put on the post. Additionally, on the test result screen you can click on HEADER Segment and it gives more information about the result.

Is that what you asked ?

BTW, I did a test with the code provided by Greg Wolf (from another post I found).

These 2 calls return values ok:


DATA: client TYPE REF TO if_http_client,
      html TYPE string.
****Create the HTTP client
TRY.
    CALL METHOD cl_http_client=>create_by_url
      EXPORTING
        url    = 'http://www.google.com/'
      IMPORTING
        client = client
      EXCEPTIONS
        OTHERS = 1.

    client->send( ).
    client->receive( ).

    html = client->response->get_cdata( ).
    write: / html.

    client->close( ).
  CATCH cx_root.
    WRITE: / 'HTTP Connection error'.
ENDTRY.


DATA: client TYPE REF TO if_http_client,
      html TYPE string.
****Create the HTTP client
TRY.
    CALL METHOD cl_http_client=>create_by_url
      EXPORTING
        url    = 'http://xxx.xx.xxx.xx/saptest/saptest.asmx'
      IMPORTING
        client = client
      EXCEPTIONS
        OTHERS = 1.

    client->send( ).
    client->receive( ).

    html = client->response->get_cdata( ).
    write: / html.

    client->close( ).
  CATCH cx_root.
    WRITE: / 'HTTP Connection error'.
ENDTRY.

Leo

Former Member
0 Kudos

hi,

slowly we're coming close

the 'Gregor test' tells me that your proxy seems to be set. changing to a SM59 destination was a good idea.

The error you are facing now happens to me when the actual service is not at the called path. Calling awrong path on the target usually returns a simple 404(file not found) error which is often formatted in HTML (e.g. like <a href="http://www.kwent.com/some_non_existing_path">this</a>)

Youcan check your service from within ABAP like this:

1) load the WSDL of the webservice in your browser and find the URL of the actual service call in it

2) use Gregor's example an call this URL

=> when the path is correct and the service answers it should return you an XML content stating that your call was invalid (since you didn't supply any parameters)

=> when the path is incorrect or any other HTTP error occurs, you should have that in your response and be able to read the details

anton

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi all,

I face exactly the same issue.

My webservice is running on http://hostname:80/ws/service

In the LPCONFIG, I call the WebService with http://hostname/ws/service, but the in ST11 the trace returns the following:

INFO 15:35:26: SOAP Transport Binding CL_SOAP_HTTP_TPBND_ROOT

->IF_SOAP_TRANSPORT_BINDING~SEND() Message sent

INFO 15:35:26: SOAP Transport binding CL_SOAP_HTTP_TPBND_ROOT

->IF_SOAP_TRANSPORT_BINDING~RECEIVE() Try to receive message

INFO 15:35:26: SOAP HTTP Binding CL_SOAP_HTTP_TPBND_ROOT->HANDLE

STATUSCODE() Received return code 500 ( Internal Server Error )

ERROR 15:35:26: SOAP Message CL_SOAP_MESSAGE->IF_SOAP_MESSAGE

PART~INITFOR_DESERIALIZE() A SOAP Runtime Core Exception

occurred in method XP_READ_TAG of class CL_SOAP_XP at position id

1 with internal error id 112 and error text no extended error

message (SOAP_ESERVER) (fault location is 1 ).

SM59 connection works.

What did you do to get around this.

Regards

markus