cancel
Showing results for 
Search instead for 
Did you mean: 

What is Exposed Service URL for CDS-based oData v4 Operation

Former Member
0 Kudos

Hello,

We are continuing with our exploration of the Extension Framework for the CDS-based service provided by `@oData.Publish`.

We are trying to use the Service Operation annotation `@ExtendDataProvider( serviceName = "SomeService", operationName = "SomeOperation")` as described in `DataProviderExtensionForOperationsSample.java`; however we have not found any url that can actually access the compiled service.

According to the general documentation, we expected to start with the endpoint `/java/odata/v4/`.

We have tried all of the following variations with no success and are really desperate for some clarification.

  • `/java/odata/v4/<namespace>._.<serviceName>/<operationName>`
  • `/java/odata/v4/<namespace>._.<serviceName>.<operationName>`
  • `/java/odata/v4/<serviceName>/<operationName>`
  • `/java/odata/v4/<operationName>` (_in this case we removed serviceName as a parameter_)
  • `/java/odata/v4/<namespace>/<operationName>`
  • `/java/odata/v4/<namespace>._.<serviceName>/<operationName>.svc`

Could someone kindly provide us with what the actual service URL would be given a ServiceName = "SomeService" and an operationName = "SomeOperation".

(If this is not actually working, this would also be very helpful to know so that we can stop wasting time on it, though hopefully this is not the case).

Also - if anyone could confirm whether a unique ServiceName is required or whether an EntitySet can be provided as the serviceName, that would be much appreciated. and/or how to bind an operation to a specific EntitySet.

Thanks!

Former Member
0 Kudos

Hi Florian,

Thanks for this, but it does not quite address the scenario described.

What you've shown is the url for the Contexts and subordinate entities. We have that working fine. However we are now trying to extend that with an operation as shown in the sample file mentioned.

To differentiate. For the context `mydata`, we have extended with a create service as so

`@ExtendDataProvider( *entitySet* = "mydata", requestType = "CREATE")`

this works.

The _next_ challenge is following provided sample class for operations, which indicates a service extension

`@ExtendDataProvider( *serviceName* = "SomeService", *operationName* = "SomeOperation")`

for this, we have been able to find NO corresponding endpoint. Can you help?

Accepted Solutions (0)

Answers (1)

Answers (1)

neilprince
Participant
0 Kudos

Have you tried just /java/odata/v4/? This should show the list of service(s)

Regards

Neil