cancel
Showing results for 
Search instead for 
Did you mean: 

405 Method Not Allowed when trying HTTP method POST in SAP Gateway Client

YS1990
Explorer
643

Hi,

I'm trying to make a sample of POST data in SEGW that call a BAPI. I follow this tutorial step by step:

Step-by-step Creation of sales order using BAPI in... - SAP Community

However, when I try to POST through SAP Gateway Client, there is error 405 Method Not Allowed. I already tried some solutions including tick Creatable, Updatable in Entity Properties but the error 405 persists.
I also try to create another SEGW project that call a simple BAPI to insert data to my ZTable, but
The similar error 405 also happens

HTTP Status Code : 405
Error Text : The specified HTTP method is not allowed for the resource identified by the Data Service Request URI
T100 Error ID : /IWFND/CM_CONSUMER122

I also make other SEGW sample project to GET data from a BAPI as well, it works well and everything is okay. The problem only happens when I POST data to a BAPI create.
Is there any solution for this error? Is is related to networking setting/configuration?

 
 
junwu
Active Contributor
0 Kudos
show us your post call payload
junwu
Active Contributor
0 Kudos
and url for the post call
YS1990
Explorer
0 Kudos
Thanks I have posted the screnshot and the HTTP request body
YS1990
Explorer
0 Kudos
The Data Services Request contains SystemQueryOptions that are not allowed for this Request Type
View Entire Topic
junwu
Active Contributor
0 Kudos

if you want to test "create", you have to remove ("***") from the url, entityset name is enough

junwu
Active Contributor
0 Kudos
if you want to test "update", change the method to patch/merge.
YS1990
Explorer
0 Kudos
I changed url to : /sap/opu/odata/sap/Z_ODTSLSORDCRT_SRV/SalesOrderSet?$format=json
YS1990
Explorer
0 Kudos
I changed url to : /sap/opu/odata/sap/Z_ODTSLSORDCRT_SRV/SalesOrderSet?$format=json. And then I POST it with similar data in the previous screnshot. The result is Error Status Code 400 Bad Request
junwu
Active Contributor
0 Kudos

remove this part in your payload for post call

"d" : {
    "__metadata" : {
      "id" "http://hostname.local:8004/sap/opu/odata/sap/Z_ODTSLSORDCRT_SRV/SalesOrderSet('50000004')",
      "uri" "http://hostname.local:8004/sap/opu/odata/sap/Z_ODTSLSORDCRT_SRV/SalesOrderSet('50000004')",
      "type" "Z_ODTSLSORDCRT_SRV.SalesOrder"
    },

YS1990
Explorer
0 Kudos
{ "d" : { "Salesdocumentin" : "50000004", "DocType" : "TA", "SalesOrg" : "8900", "DistrChan" : "10", "Division" : "11", "TextLine" : "coba text", "ItmNumber" : "000010", "ReqQty" : "15.000", "PartnRole" : "AG", "PartnNumb" : "0001000000", "Material" : "000000000030000032", "Plant" : "8921", "TargetQty" : "15.000", "CondType" : "", "CondValue" : "0.000000000" } } and { "Salesdocumentin" : "50000004", "DocType" : "TA", "SalesOrg" : "8900", "DistrChan" : "10", "Division" : "11", "TextLine" : "coba text", "ItmNumber" : "000010", "ReqQty" : "15.000", "PartnRole" : "AG", "PartnNumb" : "0001000000", "Material" : "000000000030000032", "Plant" : "8921", "TargetQty" : "15.000", "CondType" : "", "CondValue" : "0.000000000" } similar Error both 405 Method Not Allowed