cancel
Showing results for 
Search instead for 
Did you mean: 

HTTP client code 400 reason ICM_HTTP_CONNECTION_FAILED

Former Member
0 Kudos

Hi

when using an https receiver adapter in PI 7.11 I get the error message

"HTTP client code 400 reason ICM_HTTP_CONNECTION_FAILED".

The server I am trying to connect to is running and I have activated all services under sap -> xi in SICF.

The ICM log shows this:

      • WARNING => Connection request from (38/18489/0) to host: https, service: 80 failed (NIEHOST_UNKNOWN)

AP-T38, U18489, 001 ALE_K01, , 15:45:37, M0, W9, , 1/0 [icxxconn.c 2222]

On the PI Integration Server the outbound queue (smq1) is empty.

However, the message seems to be sitting in the inbound tRFC queue (smq2)

Function Module: SXMS_ASYNC_EXEC

Queue Name: XBTO6___0002

Status Text: Transaction Recorded

I also get the error message in the inbound tRFC queue:

"XI Error ATTRIBUTE_CLIENT.PLAINHTTP_ADAPTER: Queue"

It does not help to chose "save LUW" on the erroneous message in the queue.

In the http receiver adapter I entered these values:

Addressing Type: URL Address

Target Host: https://biztalk.lm-gruppen.dk

Service Number: 443

Path: /******/BTSHTTPReceive.dll

What should I do to make it work?

Mikael

Accepted Solutions (0)

Answers (6)

Answers (6)

Former Member
0 Kudos

Hi mikael lund

Please ensure you are using HTTPS port rather HTTP port in your design.

this should fix your problem.

pre-requisites

a. ensure your ICM is online/active to receive both HTTP & HTTPS communication (if your setup is multiple systems for HA then ensure ICM running on all systems in the landscape)

Regards

Sekhar

Former Member
0 Kudos

Hi Sekhar

Thanks for your reply. The ICM parameters are

icm/server_port_0 = PROT=HTTP,PORT=50000,TIMEOUT=60,PROCTIMEOUT=600

icm/server_port_1 = PROT=P4,PORT=50004

icm/server_port_2 = PROT=IIOP, PORT=50007

icm/server_port_3 = PROT=TELNET,PORT=50008,HOST=localhost

icm/server_port_4 = PROT=SMTP,PORT=0,TIMEOUT=120,PROCTIMEOUT=120

and thus no https values but I guess this is all right as the handling of the received https traffic is handled by the load balancer?

When using the SOAP receiver adapter we have no problem specifying an https address even though no certificate is present in STRUST.

Mikael

Former Member
0 Kudos

I do not understand your settings : if you're using port nr 443, it means SSL so you've to switch SSL to ACTIVE and choose appropriate client certificate (ANONYMOUS or DEFAULT SSL) ... Make sure those certs are properly defined in STRUST tcode!

Edited by: Christophe PFERTZEL on Nov 26, 2009 3:35 PM

Edited by: Christophe PFERTZEL on Nov 26, 2009 3:37 PM

markangelo_dihiansan
Active Contributor
0 Kudos

Hi,

In the http receiver adapter I entered these values:

Addressing Type: URL Address

Target Host: https://biztalk.lm-gruppen.dk

Service Number: 443

Path: /******/BTSHTTPReceive.dll

If you want to enable HTTPs, you should use HTTP to RFC destination using SM59 (for the RFC destination) and STRUST (for the SSL authentication). Also, do not specify the http:// or https:// parameter in your target host. The correct parameters should be:

Target Host: biztalk.lm-gruppen.dk

Service Number: 443

Path: /******/BTSHTTPReceive.dll

hope this helps,

Former Member
0 Kudos

Hi Mark

Thanks for your answer, but I would like to use URL Address in the http receiver adapter.

BR

MIkael

markangelo_dihiansan
Active Contributor
0 Kudos

Hi Mikael,

There are two types of addressing type in the plainhttp_receiver adapter: one is URL address and the other one is HTTP destination. If you will be using URL address, then it is only possible to do so using urls that have uses the http protocol. Enabling https would require you to do two additional steps:

1. Create an RFC destination using SM59 and call it in your receiver adapter using the HTTP destination addressing type

2. Configure SSL authentication using STRUST.

Hope this helps,

Former Member
0 Kudos

Hi Mark

Thanks for your answer. I have created an RFC of type G which I reference in the http receiver CC and entered these values:

Technical Settings:

Target host: biztalk.lm-gruppen.dk

Service no: 443

Path Prefix: /****/BTSHTTPReceive.dll

Logon & Security

Logon Procedure: No Logon

SSL: Inactive

Special Options

Timeout: 10 seconds

Http Version: HTTP 1.0

Conpression: Inactive

When I do a connection test it times out.

The customer says, that he can see that we are "knocking on his door" but nothing is received. In addition he says, that we are using the method GET and he expects the method POST.

What to do? I am surprised to hear, that SAP is using the GET method in this scenario?

Mikael

Former Member
0 Kudos

Hi

I was wondering why it is nessesary to install a certificate to use in SM59 HTTP RFC, as I thought, that it is the RECEIVERS certificate which is used when sending messages via https to him?

BR

MIkael

abhay_rajhans2
Contributor
0 Kudos

Hi,

Check following link may help.

Former Member
0 Kudos

Hi,

This error occurs when the maximum duration of the connection is exceeded than the specified value.

Refer the following links:

http://help.sap.com/saphelp_nw70/helpdata/en/8f/0fd53bae0df72ce10000000a114084/content.htm

/people/michal.krawczyk2/blog/2006/06/08/xi-timeouts-timeouts-timeouts

-Tanaya.

Former Member
0 Kudos

Hi Tanaya

Thanks for the answer.

the parameter is set to:

icm/conn_timeout (msec.) = 5000

Don't you think, this is enough?

BR

MIkael

Former Member
0 Kudos

And sxmb_adm -> Integration Engine COnfiguration -> Specific Configuration -> Runtime parameter HTTP_TIMEOUT = 1000

Former Member
0 Kudos

create a RFC destination in SM59 with the target host, service no and test the connection to make sure it works (check with your BASIS). If thats working then it might be with the XML data you send. Check with the 3rd party system if the XML is valid

Did you get the XSD for 3rd party...

Former Member
0 Kudos

Hi Mikael,

HTTP error 400 means the request could not be understood by the server due to malformed syntax.

Pls have a look into these SAP Notes-824554, 906435, 783515, 910649, 706563.

If it is because of Queue problems then chk SMQ2 and go thru this blog- How to Re-Process failed XI Messages Automatically.

Regds,

Pinangshuk.