Dear Experts,
We have scenario to connect to target system via HTTPS protocol. But HTTP_AAE adapter is giving strange error “BAD Request” but ABAP HTTP and other tools work smoothly without any issues. So Server does not have any issue, might be some issue with HTTP_AAE.
Meanwhile we are trying to connect using SOAP Adapter. But because of SOAPAction parameter in HTTP header, target system is rejecting request but it does not have any issue with certificate.
Is it possible to completely remove SOAPAction from HTTP header parameter created by SOAP Adapter ? Here we would like to remove HTTP header parameter not SOAP Header, please don’t confuse.
Hi Rana,
I would suggest to try with Soap receiver option of "do not use soap envelop".
regards,
Harish
Dear Harish,
Thanks for your response. We tried but it does not work as we need to remove parameter from HTTP header not SOAP header. It simply remove the complete SOAP Envelope but SOAP Action is in HTTP Header.
Thanks,
Abdur
Hi Abdur,
The requirement can work with axis adapter but not with soap receiver adapter. You can define the custom http header in axis adapter. refer the below blog
https://blogs.sap.com/2015/04/14/pi-rest-adapter-define-custom-http-header-elements/
regards,
Harish
Hi Rana,
Can you please check the wsdl again.
Maybe the SOAP action parameter needs to be corrected to access the webservice.
Can you please elaborate on the error message PI is receiving from webservice.
Regards
Anupam
Hi Rana,
I agree with Anupam it is possibly that you have to define a right SOAP action because by default SAP PI doesn't set in SOAP action. Can you try to load the WSDL with the external tool SOAPui and to do a request?, in this way to check if any SOAP action is needed.
Regards.
Dear All,
Target system is not accepting SOAP protocol, we are trying to send plain HTTP request via SOAP Adapter as it is supporting TLS1.2.
We even contacted SAP and they ask to raise development correction to SAP to make HTTP_AAE work in this case.
We are now exploring SOAP, REST and AXIS. For all we are trying to send plain HTTP request.