a month ago - last edited a month ago
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.
But when we create the communication arrangement, Service URL automatically turns to https, that does not exist.
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.
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.
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!
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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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.
User | Count |
---|---|
67 | |
11 | |
10 | |
10 | |
9 | |
9 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.