cancel
Showing results for 
Search instead for 
Did you mean: 

WS call fine from HTTP, but "Internal server error" from HTTPS

Former Member
0 Kudos

Hi Experts,

I have create a web service from a Function Module and set it up in SOAMANAGER. I got the WSDL generated correctly, and it works fine as long as I am in the corporate LAN.

This server is also accessible from the public internet using HTTPS, but I need to change the URL as the port and the host are different on the corporate LAN and public internet. I use the same method to access the portal on this server.

Once I have translated the URL I can get the WSDL without any problems (using the public URL), but when I call the webservice (with the endpoint also changed to public address) I get "HTTP 500 Internal Server Error" from SAP. Is there any extra config I need to do?

When I look at the WSDL it only has one soap:address node which points to the internal URL. Is this a problem? How I can fix that?

Thanks,

Csongor

Accepted Solutions (0)

Answers (1)

Answers (1)

markangelo_dihiansan
Active Contributor
0 Kudos

Hello,

Can you check if:

1.) There is a firewall rule that is preventing your request from reaching PI?

2.) Is the URL generated accessible in IE? Preferably in the format http://host:port/XISOAPAdapter/MessageServlet?channel=p:s:cc

Hope this helps,

Mark

Former Member
0 Kudos

Hi Mark,

I think the request is hitting PI as we get the pop-up in explorer for enter the username and password. Just as an example, the URL for the WSDL I get from SOAMANAGER is the following:

http://vcr3ci.eu.xxx.net:8065/sap/bc/srt/wsdl/bndg_8180234D483DB145E10000000D99E933/wsdl11/allinone/...

The endpoint for the action is the following:

http://vcr3ci.eu.xxx.net:8065/sap/bc/srt/rfc/sap/z_ws_get_userdetails/220/z_ws_get_userdetails/z_ws_...

Than I have translated the URL to the following address:

https://cr3.eur.xxx.com/crmbsp/sap/bc/srt/rfc/sap/z_ws_get_userdetails/220/z_ws_get_userdetails/z_ws...

Basically, I replaced http://vcr3ci.eu.xxx.net:8065/ with https://cr3.eur.xxx.com/crmbsp/. This is how we do the URL translation if we want to access the portal on this server from the public internet. I think the addresses are formatted correctly.

Regards,

Csongor

markangelo_dihiansan
Active Contributor
0 Kudos

Hello,

Can you try using the https port in SMICM and then convert it afterwards? To go there, type SMICM in GUI and then click shift+f1. There you will see the list of all active services that is currently configured in your PI system.

Hope this helps,

Mark

Former Member
0 Kudos

Hi Mark,

According to ICM Monitor we have the following service on this box:

Active Services

No. Protocol Service Name/Port Host Name

1 HTTP 8065 vcr3ci.eu.xxx.net

2 SMTP 0 vcr3ci.eu.xxx.net

3 HTTPS 8465 vcr3ci.eu.xxx.net

So we do have HTTPS on port 8465. If I call the endpoint using this HTTPS URL it works:

https://vcr3ci.eu.xxx.net:8465/sap/bc/srt/rfc/sap/z_ws_get_userdetails/220/z_ws_get_userdetails/z_ws...

But I can only use this address while on the corporate networks, otherwise it needs to be translated as mentioned before.

Is it possible that PI is checking the request URL against the ICM settings? The firewall seems to route the request to the server (otherwise I would not get the login prompt), but it fails somewhere else.

Regards,

Csongor

markangelo_dihiansan
Active Contributor
0 Kudos

Hello,

What happens to the converted version? Is it working now? Yes, PI is checking the request URL.

Regards,

Mark

Former Member
0 Kudos

Where ever you are specifying the URL translation ( I think you mentioned in the firewall ) make sure you include the URL path prefix too .

So instead of doing translation from http://vcr3ci.eu.xxx.net:8065/ to https://cr3.eur.xxx.com/crmbsp/, do the entire url translation .

We had the same problem in our environment and the problem was resolved as soon as we started using the entire url (with the path prefix ) .

Former Member
0 Kudos

I made no changes so far, so it is still not working.