Description
See also discussion at https://community.jboss.org/thread/219690
Teiid 8.2
Example from https://docs.jboss.org/author/display/teiid82final/REST+Service+Through+VDB
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <vdb name="sample" version="1"> <property name="UseConnectorMetadata" value="true" /> <property name="{http://teiid.org/rest}auto-generate" value="true"/> <property name="{http://teiid.org/rest}security-type" value="HttpBasic"/> <property name="{http://teiid.org/rest}security-domain" value="teiid-security"/> <property name="{http://teiid.org/rest}security-role" value="example-role"/> <property name="{http://teiid.org/rest}passthrough-auth" value="true"/> <model name="PM1"> <source name="text-connector" translator-name="loopback" /> <metadata type="DDL"><![CDATA[ CREATE FOREIGN TABLE G1 (e1 string, e2 integer); CREATE FOREIGN TABLE G2 (e1 string, e2 integer); ]]> </metadata> </model> <model name="View" type ="VIRTUAL"> <metadata type="DDL"><![CDATA[ SET NAMESPACE 'http://teiid.org/rest' AS REST; CREATE VIRTUAL PROCEDURE g1Table(IN p1 integer) RETURNS TABLE (xml_out xml) OPTIONS (UPDATECOUNT 0, "REST:METHOD" 'GET', "REST:URI" 'g1/{p1}') AS BEGIN SELECT XMLELEMENT(NAME "rows", XMLATTRIBUTES (g1Table.p1 as p1), XMLAGG(XMLELEMENT(NAME "row", XMLFOREST(e1, e2)))) AS xml_out FROM PM1.G1; END ]]> </metadata> </model> </vdb>
Open URL: http://localhost:8080/sample_1/view/g1/1
Error log was generated:
org.jboss.resteasy.spi.UnhandledException: java.lang.NullPointerException
org.jboss.resteasy.core.SynchronousDispatcher.handleApplicationException(SynchronousDispatcher.java:340)
org.jboss.resteasy.core.SynchronousDispatcher.handleException(SynchronousDispatcher.java:214)
org.jboss.resteasy.core.SynchronousDispatcher.handleInvokerException(SynchronousDispatcher.java:190)
org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:540)
org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:502)
org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:119)
org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:208)
org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:55)
org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:50)
javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
root cause
java.lang.NullPointerException
org.teiid.jboss.rest.TeiidRSProvider.execute(TeiidRSProvider.java:64)
org.teiid.jboss.rest.View.g1Tableapplication_xml(Unknown Source)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:155)
org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:257)
org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:222)
org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:211)
org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:525)
org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:502)
org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:119)
org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:208)
org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:55)
org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:50)
javax.servlet.http.HttpServlet.service(HttpServlet.java:847)