Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "EclipseLink/UserGuide/DBWS/Overview/Design time"
(→DBWSBuilder Command-line arguments) |
|||
Line 126: | Line 126: | ||
|- | |- | ||
|} | |} | ||
− | |||
Note that the files <tt>swaref.xsd</tt> and <tt>web.xml</tt> have names and content determined by their roles in Web deployment and cannot be changed. | Note that the files <tt>swaref.xsd</tt> and <tt>web.xml</tt> have names and content determined by their roles in Web deployment and cannot be changed. | ||
+ | |||
+ | ==== Use Cases ==== | ||
+ | Using the <tt>DBWSBuilder</tt> utility, one can generate an EclipseLink DBWS service from the following sources: | ||
+ | * [[tbd|an existing relational database table]]; | ||
+ | * [[tbd|one or more SQL <tt>SELECT</tt> statements]]; | ||
+ | * [[tbd|a stored procedure]]. | ||
+ | There are also advanced use cases - please refer to foo for more details |
Revision as of 11:40, 8 December 2011
EclipseLink DBWS
EclipseLink | |
Website | |
Download | |
Community | |
Mailing List • Forums • IRC • mattermost | |
Issues | |
Open • Help Wanted • Bug Day | |
Contribute | |
Browse Source |
Creating EclipseLink DBWS Services using the DBWSBuilder utility
The EclipseLink DBWS design-time utility DBWSBuilder is a Java application that processes an EclipseLink DBWS builder XML file to produce a deployable archive (typically a .war file) containing all the required deployment artifacts (WSDL, .xsd schema, web.xml, etc.) for a JAX-WS 2.0 compliant Web Service. There are script files located in the <ECLIPSELINK_HOME>\utils\dbws directory for invoking the DBWSBuilder utility. The scripts ending in .cmd are for Windows use while those that end with .sh are for all other operating systems. Before running the dbwsbuilder.cmd script, please ensure that the following environment variables in the <ECLIPSELINK_HOME>\utils\dbws\setenv.cmd (or setenv.sh file) are set:
- JAVA_HOME
- DRIVER_CLASSPATH
DBWSBuilder Command-line arguments
prompt > dbwsbuilder.cmd -builderFile {path_to_dbws_builder.xml} -stageDir {path_to_stageDir} -packageAs[:archive_flag - archive, noArchive, ignore] {packager} [additional args] Available packagers: -packageAs:[default=not supported] jdev -packageAs:[default=archive] javase [jarFilename] -packageAs:[default=archive] wls [warFilename] -packageAs:[default=archive] glassfish [warFilename] -packageAs:[default=archive] jboss [warFilename] -packageAs:[default=archive] war [warFilename] -packageAs:[default=archive] was [warFilename] -packageAs:[default=not supported] eclipse
Argument | Status | Description |
---|---|---|
-builderFile | Required | path_to_dbws_builder.xml - location of dbws_builder.xml file
If the file does not exist, then a brief message is displayed: DBWSBuilder unable to locate dbws-builder.xml file c:\foo\bar.xml |
-stageDir | Required | path_to_stageDir - directory to use for staging output
If the directory does not exist, then a brief message is displayed: DBWSBuilder unable to locate stage directory c:\temp\blah |
-packageAs | Required | packager - type of packager to use to build the deployment archive. The optional archive_flag allows one to create an 'exploded directory' view of the archive. If the optional [warFilename] is not provided, then the name of the archive is based on the name of the project. If the packager does not exist, then the usage message above is displayed with the list of supported packagers:
|
archive_flag | Optional | The archive_flag by default is set to archive which packages the generated files into a Java archive (typically a .war file). When set to noArchive, one can create an 'exploded directory' view of the archive. |
additional args | Optional | The additional arguments are passed to the packager. The IDE packagers (jdev, eclipse) require no additional arguments. The Application server packagers (wls, glassfish, jboss, was) can be provided with 1 additional argument: the filename of the archive. If the filename is not provided, then by default the name of the archive is based upon the projectName property from the dbws-builder.xml file |
Typical .war file layout:
root of war file \---WEB-INF | | web.xml | +---classes | +---META-INF | | eclipselink-dbws.xml | | eclipselink-dbws-or.xml | | eclipselink-dbws-ox.xml | | eclipselink-dbws-sessions.xml | | | \---_dbws | DBWSProvider.class -- auto-generated JAX-WS 2.0 Provider | ProviderListener.class -- auto-generated Servlet Listener | \---wsdl eclipselink-dbws-schema.xsd eclipselink-dbws.wsdl swaref.xsd -- optional
File | Description |
---|---|
web.xml | The Web application deployment file (required for deployment as a JAX-WS Web service - see JSR-109 for more details). |
eclipselink-dbws.xml | The EclipseLink DBWS service descriptor file (described in the EclipseLink User Guide). |
eclipselink-dbws-or.xml | The EclipseLink ORM project XML file. For more information, see Introduction to Relational Projects (ELUG). |
eclipselink-dbws-ox.xml | The EclipseLink OXM project XML file. For more information, see Introduction to XML Projects (ELUG). |
eclipselink-dbws-sessions.xml | The EclipseLink sessions.xml file for the EclipseLink DBWS service. It contains references to the EclipseLink ORM and OXM project XML files. For more information, see Introduction to EclipseLink Sessions (ELUG). |
eclipselink-dbws-schema.xsd | Contains XML type definitions for operation arguments and return types. The DBWSBuilder utility automatically generates this file from database metadata to derive element-tag names and types. |
eclipselink-dbws.wsdl | Contains entries for all operations in the EclipseLink DBWS service. (required for deployment as a JAX-WS Web service - see JSR-109 for more details). |
swaref.xsd | (optional) Contains XML type definitions for SOAP attachments. |
Note that the files swaref.xsd and web.xml have names and content determined by their roles in Web deployment and cannot be changed.
Use Cases
Using the DBWSBuilder utility, one can generate an EclipseLink DBWS service from the following sources:
There are also advanced use cases - please refer to foo for more details