[
https://issues.jboss.org/browse/TEIID-5183?page=com.atlassian.jira.plugin...
]
dalex dalex commented on TEIID-5183:
------------------------------------
Hi [~shawkins] first of all thx a lot for the quick fix, I applied all changes from the
issue and it's really better now. Could you please check another interesting case,
seems there is some bug related to swagger procs execution.
1. Configure the following swagger ra (it uses
http://api.apis.guru/v2/specs/deutschebahn.com/fahrplan/v1/ endpoint):
{code:xml}
<resource-adapter id="swagger">
<module slot="main"
id="org.jboss.teiid.resource-adapter.webservice"/>
<transaction-support>NoTransaction</transaction-support>
<connection-definitions>
<connection-definition
class-name="org.teiid.resource.adapter.ws.WSManagedConnectionFactory"
jndi-name="java:/swagger" enabled="true"
use-java-context="true" pool-name="teiid-swagger-ds">
<config-property name="EndPoint">
http://api.apis.guru/v2/specs/deutschebahn.com/fahrplan/v1/
</config-property>
</connection-definition>
</connection-definitions>
</resource-adapter>
{code}
2. Try to run the following query:
{code:sql}
call mswagger."location/name"('Hannover');;
{code}
it will return a table containing only null values though if you have a look at the
https://api.deutschebahn.com/freeplan/v1/location/Hannover link you will see that all
values are correct and should be shown as values in the table.
NPE in Swagger translator
-------------------------
Key: TEIID-5183
URL:
https://issues.jboss.org/browse/TEIID-5183
Project: Teiid
Issue Type: Bug
Components: Misc. Connectors
Affects Versions: 9.3.4
Environment: teiid-9.3.4 on WildFly Full 10.0.0.Final (WildFly Core
2.0.10.Final)
Reporter: dalex dalex
Assignee: Steven Hawkins
Fix For: 10.1, 9.3.6, 10.0.2
When using the
http://api.apis.guru/v2/specs/azure.com/redis/2017-10-01/ link as an
endpoint for swagger resource adapter Teiid throws up the following error message (in
bootstrapping phase), though with
http://petstore.swagger.io/v2 endpoint according to the
https://teiid.gitbooks.io/documents/reference/Swagger_Translator.html documentation the
translator works:
{code:noformat}
2017-12-18 16:14:43,975 WARN [org.teiid.RUNTIME] (Worker1_async-teiid-threads1)
TEIID50036 VDB test.1 model "mswagger" metadata failed to load.
Reason:java.lang.NullPointerExceptio
n: java.lang.NullPointerException
at org.teiid.metadata.MetadataFactory.setUUID(MetadataFactory.java:155)
at
org.teiid.metadata.MetadataFactory.addProcedureParameter(MetadataFactory.java:421)
at
org.teiid.translator.swagger.SwaggerMetadataProcessor.addProcedureParameters(SwaggerMetadataProcessor.java:560)
at
org.teiid.translator.swagger.SwaggerMetadataProcessor.addProcedure(SwaggerMetadataProcessor.java:261)
at
org.teiid.translator.swagger.SwaggerMetadataProcessor.process(SwaggerMetadataProcessor.java:206)
at
org.teiid.translator.swagger.SwaggerMetadataProcessor.process(SwaggerMetadataProcessor.java:74)
at org.teiid.translator.ExecutionFactory.getMetadata(ExecutionFactory.java:961)
at
org.teiid.query.metadata.NativeMetadataRepository.getMetadata(NativeMetadataRepository.java:96)
at
org.teiid.query.metadata.NativeMetadataRepository.loadMetadata(NativeMetadataRepository.java:62)
at
org.teiid.query.metadata.ChainingMetadataRepository.loadMetadata(ChainingMetadataRepository.java:55)
at org.teiid.jboss.VDBService$6.run(VDBService.java:341)
at org.teiid.jboss.VDBService$7.run(VDBService.java:392)
at
org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:284)
at
org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119)
at
org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:210)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
{code}
The
http://api.apis.guru/v2/specs/azure.com/redis/2017-10-01/ endpoint supports swagger
API according to the
https://apis.guru/browse-apis/ link and I can see json output when
requesting the
http://api.apis.guru/v2/specs/azure.com/redis/2017-10-01/swagger.json link.
Probably the NPE appears because of RefParameter type which is not handled in
SwaggerMetadataProcessor.addProcedureParameters method which leads to name = null.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)