Web API 2: OData 4: Actions returning 404

admin

Administrator
Staff member
I have an
Code:
OData v4
action method which is not working; note however that it was working fine in
Code:
OData v3
(I am obviously in the process of trying to update my project)

<strong>OData Action Method:</strong>

Code:
[HttpPost]
public Translation Translate(ODataActionParameters parameters)
{
    // Implementation
}

<strong>Configuration:</strong>

Code:
ODataModelBuilder builder = new ODataConventionModelBuilder();
builder.EntitySet&lt;Page&gt;("Pages");
//etc (Other Entity Sets)

var pageEntityType = builder.EntityType&lt;Page&gt;();
var translateAction = pageEntityType.Collection.Action("Translate");
translateAction.Parameter&lt;Guid&gt;("pageId");
translateAction.Parameter&lt;string&gt;("cultureCode");
translateAction.Returns&lt;Translation&gt;();

//etc (Other Actions)

var route = config.MapODataServiceRoute("OData_CMS", "odata/cms", builder.GetEdmModel());

<strong>Client AJAX Call:</strong>

Code:
var data = {
    pageId: $("#CultureSelector_PageId").val(),
    cultureCode: $("#CultureSelector_CultureCode").val()
};

$.ajax({
    url: "/odata/cms/Pages/Translate",
    type: "POST",
    contentType: "application/json; charset=utf-8",
    data: JSON.stringify(data),
    dataType: "json",
    async: false
})
.done(function (json) {
    //etc

I tried to see if anything has changed regarding setup for OData actions in version 4, but it seems the same (refer to: <a href="http://www.asp.net/web-api/overview...-web-api/odata-v4/odata-actions-and-functions" rel="nofollow">Actions and Functions in OData v4 Using ASP.NET Web API 2.2</a>)

<strong>EDIT</strong>

I found out that
Code:
OData v4
uses a
Code:
Default
namespace and implemented that, as follows:

Firstly, just by changing my AJAX call to:

Code:
url: "/odata/cms/Pages/Default.Translate",

That didn't work, so I also added:

Code:
[ODataRoute("Default.Translate")]
and

Code:
[EnableQuery(AllowedQueryOptions = AllowedQueryOptions.All)]

to my action, as per the instructions at this link: <a href="http://damienbod.wordpress.com/2014/06/16/web-api-and-odata-v4-crud-and-actions-part-3/" rel="nofollow">http://damienbod.wordpress.com/2014/06/16/web-api-and-odata-v4-crud-and-actions-part-3/</a>..

Also not working.. I have followed the steps to the letter... either I'm being blind and missing something here or there's a serious problem with the latest version of
Code:
OData
for
Code:
Web API
.