cancel
Showing results for 
Search instead for 
Did you mean: 

SOAP using communication arrangement

a_figueredo
Explorer
0 Kudos
248

Hi!

I'm doing some test with outbound SOAP services following SAP guide (https://help.sap.com/docs/SAP_S4HANA_CLOUD/6aa39f1ac05441e5a23f484f31e477e7/ff6e400b4066430f85e0b16f...) but I have found several problems.

1. Using URL

I used method cl_soap_destination_provider=>create_by_url. The service I used to test is:

 http://www.dneonline.com/calculator.asmx?wsdl

The main problem was an error related to SOAPActions.

After reviewing a very, very, old thread from @thomas_jung, I was able to solve it also in SAP Cloud.

Using method set_soap_action of destination (IF_SOAP_DESTINATION), we can add the SOAPAction and the issue is solved.

This way, we were able to run the service properly.

 

2. Using communication arrangement

In order to avoid hardcoding the url in ABAP, I tried following method to create the destination: cl_soap_destination_provider=>create_by_comm_arrangement

When setting up the communication system, HTTPS/HTTP cannot be included. ok, no problem, let's go.

a_figueredo_0-1725618356213.png

 

But when we create the communication arrangement, Service URL automatically turns to https, that does not exist.

a_figueredo_1-1725618450873.png

 

It obviously fails.

3. Using HTTPS service

At this point, I decided to use another free soap service, HTTPS, in order to continue with my tests.

https://www.w3schools.com/xml/tempconvert.asmx

The connection check, fails. 

a_figueredo_2-1725619003725.png

If the path is removed, for service url: https://www.w3schools.com:443, the connection check is ok. I read old questions about it, and it seems it could work even if the check fails, so I continued…

4. Back to SOAPACtions

Using cl_soap_destination_provider=>create_by_comm_arrangement, the object we get is different from previous one (if_soap_destination vs if_proxy_destination) so, set_soap_action is not available. Not sure if it's an error, as per comments, the receiving parameter should be SOAP Destination object for both.

SOAP destination.jpg

Without SOAPAction, we have same error than point 1:

SoapFaultCode:4 Server did not recognize the value of HTTP Header SOAPAction: .

 

At this point, I have two main problems

I don't know how to configure arrangement for HTTP (if possible)

I'm not able to add SOAPActions to SOAP destinations created via arrangements.

 

Thanks!

a_figueredo
Explorer
0 Kudos

No more help related this issue?

View Entire Topic
SD30
Newcomer
0 Kudos

I am not sure about the HTTP related issue but for the second issue it is a limitation on SAP side as you cannot maintain the SOAP action in the Communication Arrangement app. You would only be able to use the CREATE_BY_URL method to call the SOAP service by specifying the SOAP Action using the method SET_SOAP_ACTION.

a_figueredo
Explorer
0 Kudos

Thanks for your help! So, soap actions are not available with communication arrangement. For me, it's at least a problem and maybe an error. This issue was already solved 20 years ago using soamanager and some extra configuration 😞 Regarding the http protocol, I know it's not commonly used in real services, but anyway, I guess it should be possible to use or explicitly forbidden.