[teiid-issues] [JBoss JIRA] (TEIID-4374) Procedure missing for an OData metadata request to a Swagger VDB

Ramesh Reddy (JIRA) issues at jboss.org
Mon Aug 15 09:00:00 EDT 2016


    [ https://issues.jboss.org/browse/TEIID-4374?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13279084#comment-13279084 ] 

Ramesh Reddy commented on TEIID-4374:
-------------------------------------

> are you saying I should create a wrapper that includes the parameters and the body? What are the semantics for this?

No, with simple parameters Teiid will do necessary conversions to call the Swagger service. As a user you need focus on the executing with SQL interface exposed. Only in the case where BODY parameter is projected as CLOB, then you would need to build the target input document according to the Swagger schema defined then pass through the SQL interface.

> How would you distinguish between path and query parameters? 
You don't, Teiid is providing a abstraction layer to swagger service in relational database terms, in this case as a stored procedure.

> Is it then the responsibility of your code (the Swagger translator) 
Yes, it is swagger translator which converts to final form.

 >the Teiid OData interface code to unwrap this?
OData interface is built on top of the SQL interface exposed by Teiid. If the procedure is exposed as "Action", then it is ALWAYS a POST call. Then you need to follow the metadata of the OData interface to execute that call. With the POST the only way to send parameters is in BODY. But do not confuse this with Swagger service definition, you need to follow the OData metadata here.  If this is exposed as "Function" then it is GET call.

> Procedure missing for an OData metadata request to a Swagger VDB
> ----------------------------------------------------------------
>
>                 Key: TEIID-4374
>                 URL: https://issues.jboss.org/browse/TEIID-4374
>             Project: Teiid
>          Issue Type: Bug
>          Components: Misc. Connectors
>    Affects Versions: 9.0, 9.0.1, 9.0.2
>         Environment: Windows 10 Pro x64
> Java 8
>            Reporter: Van Dillon
>            Assignee: Ramesh Reddy
>              Labels: Beta1
>             Fix For: 9.1
>
>         Attachments: resource-adapter-rhq.xml, rhq-metadata.xml, rhq-vdb.xml, swagger.json
>
>
> When a REST PUT path defined in Swagger has a path parameter and a body it does not appear in OData metadata.
> See the attached swagger.json for an example. The operation 'executeOperation' does not appear in OData metadata.
> The code that determines if a procedure is allowed is in:
> org.teiid.olingo.service.ODataSchemaBuilder.allowedProcedure()
> The comment seems to indicate that as long as there is only a single LOB, multiple 'in' parameters are allowed.  But the actual code does not allow any other 'in' parameters if there is a LOB parameter.



--
This message was sent by Atlassian JIRA
(v6.4.11#64026)


More information about the teiid-issues mailing list