According to the odata csdl protocol v4, a composable function should can be invoked with additional path segments, but actually it can't. For example:
if ~/GetConventionCustomerById(CustomerId=407)/Name is requested, then error I returned:
HTTP/1.1 404 Not Found
Content-Length: 326
Content-Type: application/json; charset=utf-8
Server: Microsoft-HTTPAPI/2.0
Date: Wed, 15 Jan 2014 14:16:11 GMT
{"Message":"No HTTP resource was found that matches the request URI 'http://jinfutanwebapi2:9001/odata/GetConventionCustomerById(CustomerId%3D407)/Name'.","MessageDetail":"No route providing a controller name was found to match request URI 'http://jinfutanwebapi2:9001/odata/GetConventionCustomerById(CustomerId%3D407)/Name'"}
if ~/GetConventionCustomerById(CustomerId=407)/Name is requested, then error I returned:
HTTP/1.1 404 Not Found
Content-Length: 326
Content-Type: application/json; charset=utf-8
Server: Microsoft-HTTPAPI/2.0
Date: Wed, 15 Jan 2014 14:16:11 GMT
{"Message":"No HTTP resource was found that matches the request URI 'http://jinfutanwebapi2:9001/odata/GetConventionCustomerById(CustomerId%3D407)/Name'.","MessageDetail":"No route providing a controller name was found to match request URI 'http://jinfutanwebapi2:9001/odata/GetConventionCustomerById(CustomerId%3D407)/Name'"}