We're getting a 501 error in the DOH. The routine we're trying to call takes many parameters.
@openapi.openedge.export(type="REST", useReturnValue="false", writeDataSetBeforeImage="true"). @progress.service.resourceMapping(type="REST", operation="invoke", URI="/gridvalidate", alias="", mediaType="application/json"). METHOD PUBLIC VOID GridValidate (INPUT pcParam AS CHARACTER, INPUT pcTable AS CHARACTER, INPUT pcID AS CHARACTER, INPUT DATASET dsItem, INPUT-OUTPUT DATASET dsPrice):
Its the datasets which I think causew us issues. The dsPrice is the main dataset for the business entity. Thats included at the top in the annotation. The dsItem doesnt have an annotation and I'm not sure how to give it one as I already have a schemaName reference.
1. Can someone tell me how to turn on logging so I can get more info out of the DOH.
2. What does 501 mean as far as the DOH is concerned?
Thanks in advance
The reason I mentioned the annotations was the .gen file doesnt have any defn for dsItem. Would this cause it issues? This is because the annotation at the top of the file only reference to the other dataset.
I'll do some logging.
OK. That makes sense. That's whats causing the issue.Its definitely missing.
OK. I have had to do this differently.
I was unable to get anything into the .map file. It just never read it even though it sits right next to the .gen file.
I've also not been able to get an addtional dataset into the .gen either. I even dropped the tt definition into the sole include which was being used for the dataset definition and it didn't import it all. In the end I attached the tt to the dataset to ensure it would get the schema added. I know I could have added the tt defn to the .gen file manually but I didn't like the idea of doping that.
It works although not as expected. My main issue now is how to get thrown errors sent back to the client. DOH just reports an exception which I'd like thrown back. My handler is built on top of the DOH so I choose what requests to send its way or handle myself. A thrown error is something I can catch before it goes back to the client.