Since PTC also uses swagger you can generate the openAPI. There is a utility to do this.
This would produce the openAPI catalog for the ProdMgmt V7 domain
https://<WINC_SERVER>/Windchill/netmarkets/html/wrs/odata-to-swagger.jsp?v=7&d=ProdMgmt
this will produce the following output:
{
"openapi" : "3.0.1",
"info" : {
"title" : "PTC.ProdMgmt",
"description" : "PTC Product Management Domain",
"version" : "7"
},
"servers" : [ {
"url" : "https://<WINC_SERVER>/Windchill/servlet/odata/v7/ProdMgmt"
} ],
"tags" : [ {
"name" : "Service Endpoints"
} ],
"paths" : {
"" : { },
"/CheckInParts" : {
"post" : {
"tags" : [ "Service Endpoints" ],
"summary" : "Execute CheckInParts",
"description" : "Execute CheckInParts",
"operationId" : "Action_CheckInParts",
"parameters" : [ {
"name" : "$select",
"in" : "query",
"schema" : {
"type" : "string"
}
}, {
"name" : "$filter",
"in" : "query",
"schema" : {
"type" : "string"
}
},
....
With this you are able to generate all the classes.
My problem is, especially for the ProdMgmt Domain with MPMLink installed, that the classes are so long, that the IDE has some problems with it. Also the security is missing. You need to add following to the json if you are using basic auth:
"securityDefinitions": {
"basicAuth": {
"type": "basic"
}
},
"security": [
{
"basicAuth": []
}
],
Please provide afterwards your experience. It would help me also to figure out if my experience matches with yours.