3 weeks ago
Hi Experts,
I have created a new https to http iflow in SAP integration suite. It is calling POST API in teh receiver side. I have separately tested the receiver API in POSTMAN and works. It has input json and returns json payload.
When call the end point url in POSTMAN i see the below error in the step for calling the receiver http service.
com.sap.it.rt.adapter.http.api.exception.HttpResponseException: An internal server error occured: Status code:400; Reason: { "errorMessage": "Unresolved variable : request.formparam.code", "errorReason":"Missing a Parameter", "errorStatus":400 }
Why is this error? what am i missing?
My Sender HTTPS config;
My receive HTTP config is as below:
My content modifer config:
Integration flow config:
Thanks
Gopal
Request clarification before answering.
This still on going.. lets break down the issue like below
Share the Token URL test results from Postman and also CPI.
Note: You are not calling actual endpoint. Only token URL from CPI and also Postman without any VPN connection.
I hope this will give clear difference .
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Request Header is empty in receiver adapter. Check what you are passing when calling directly from the postman. Makesure same is in the receiver adapter also.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Ramesh,
Pls find the CURL info from POSTMAN
curl --location --request POST 'https://apis-XXXXXXXXXXXXXXXXcredit/v1/get-cwp-data' \
--header 'Authorization: Bearer XXXXXXXXXXXXXX' \
--header 'Content-Type: application/json' \
--data-raw '{
"IWRAPDet": [
{
"MaterialId": "94563D"
}
]
}'
Please see the screenshot from postman for the receiver API.
Input payload
Output result:
Thanks
Gopal
Hi Ramesh
I created a new iflow to get token as suggested by you.
I am not getting the token and again getting the same error.
Looks like SAP integration suite is not able to call the receiver API end point url.
So do we need to whitelist the receiver API host somewhere in integration suite?
Thanks
Gopal
Hi Ramesh,
I can see only this error text in CPI:
Thanks
Gopal
Let’s break down the issue to find out the root cause.
Note this test is only calling token URL to fetch token value. Once this is working we can check next.
Hi Ramesh,
I tried as you have suggested. in my iflow i added steps to get token and then pass the token to the receiver API.
This iflow will just get the token value and pass that to the calling API at the end.
This works fine.
Then i included this in my original iflow and tested in POSTMAN calling this CPI, i am getting response back.
The input payload is as below:
Thanks
Gopal
Hi Ramesh
The Curl info in POSTMAN for token is
Hi Ramesh
Finally i am able to resolve the issue. Now its working.
This is my findings:
In the Auth crendentials that we create in Security material
In the Content-Modifier before request reply step we need to delete the header parameter CamelHttpUri
On the other hand, if we select "Send as request header" for Client Authentication and "application/json" for Content Type in our Auth crendentials that we create in Security material then it does not work and we get the original error:
com.sap.it.rt.adapter.http.api.exception.HttpResponseException: An internal server error occured: Status code:400; Reason: { "errorMessage": "Unresolved variable : request.formparam.code", "errorReason":"Missing a Parameter", "errorStatus":400 }
This may be a limitation from SAP side. Is this true?
Thanks
Gopal
User | Count |
---|---|
40 | |
15 | |
10 | |
9 | |
5 | |
5 | |
5 | |
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.