Jump to: navigation, search

Difference between revisions of "EclipseLink/Examples/DBWS/DBWSBasicAutoGenSchema"

Line 11: Line 11:
 
This example shows an extension to an existing use case where the Web service exposes the results of executing some custom SQL SELECT statements; however, the 'shape' of the returned result is determined at design-time, not runtime.
 
This example shows an extension to an existing use case where the Web service exposes the results of executing some custom SQL SELECT statements; however, the 'shape' of the returned result is determined at design-time, not runtime.
  
Under normal circumstances, executing some custom SQL <tt>SELECT</tt> statement returns <code>java.sql.ResultSet</code>'s from which one can determine the name and datatype of the columns of information. Since this information is not available until the SQL is executed at runtime, DBWS has a
+
Under normal circumstances, the custom SQL <tt>SELECT</tt> statement returns <code>java.sql.ResultSet</code>'s and the java.sql.ResultSetMetaData APIs (<code>getColumnCount</code>, <code>getColumnLabel</code>, <code>getColumnType</code>, etc.) can be used to determine the name and datatype of the returned information. DBWS uses the Simplified XML Format (SXF) to create an XML document to describe the <code>ResultSet</code>'s information. Unfortunately, since this document can change arbitrarily, the SXF schema is extremely 'loose'
 
+
 
+
Currently, DBWS determines the 'shape' of the returned result at the time the <tt>SELECT</tt> statement is executed (i.e. at runtime, not design-time). For example, the following <tt>DBWSBuilder</tt> file produces a SXF (Simplified XML Format) document where the element tag names are direct copies of column names:
+
 
<source lang="xml">
 
<source lang="xml">
 +
<?xml version="1.0" encoding="UTF-8"?>
 +
<xsd:schema
 +
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
 +
  >
 +
  <xsd:complexType name="simple-xml-format">
 +
    <xsd:sequence>
 +
      <xsd:any minOccurs="0"/>
 +
    </xsd:sequence>
 +
  </xsd:complexType>
 +
</xsd:schema>
 +
</source>

Revision as of 13:51, 13 June 2011


EclipseLink DBWS Service based on schema-formatted Results from custom SQL SELECT statements

This example shows an extension to an existing use case where the Web service exposes the results of executing some custom SQL SELECT statements; however, the 'shape' of the returned result is determined at design-time, not runtime.

Under normal circumstances, the custom SQL SELECT statement returns java.sql.ResultSet's and the java.sql.ResultSetMetaData APIs (getColumnCount, getColumnLabel, getColumnType, etc.) can be used to determine the name and datatype of the returned information. DBWS uses the Simplified XML Format (SXF) to create an XML document to describe the ResultSet's information. Unfortunately, since this document can change arbitrarily, the SXF schema is extremely 'loose'

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  >
  <xsd:complexType name="simple-xml-format">
    <xsd:sequence>
      <xsd:any minOccurs="0"/>
    </xsd:sequence>
  </xsd:complexType>
</xsd:schema>