Skip to end of metadata
Go to start of metadata

OWLSBuilder is a library for building OWL-S service descriptions from java web services. The library supports the generation of service ontology descriptions from annotated java classes in much the same way as JAX-WS does for conventional web services.

Underlying services must be described according to JAX-WS conventions, these services can be deployed in any compatible JAX-WS container (e.g. CXF , AXIS2, Glassfish etc).

The tool supports the generation of OWL-S service descriptions (including profiles, atomic processes, and (currently WSDL and Java) groundings).

OWLSBuilder can be run in two modes: on-line or off-line. In on-line mode, it is deployed on the Apache CXF web service framework, and service descriptions can be generated on the fly for services deployed with OWLSBuilder annotations. Off-line mode is a simple command line interface which takes a compiled service with the appropriate annotations, and outputs a service description: it allows for loading ontologies from a local directory, making it of running truly off-line.

Getting the software

The sotware and source package is available from sourceforge:

Required dependencies:

You need to get:

  • apache-cxf 2.2.x
  • Owl-s API 3.0 (you need our modified version for WSDL groundings to work)
  • JAX-WS (2.1 works, 2.0 (bundled in java 6) might not)
  • ALIVE service repository tools > 0.2.5

all of the required dependencies can be checked out of SVN here:

To compile, edit and, set dep.dir to the location of the above jars, and cxf.dir to the root of the CXF directory.


  • "Fixed" Owl-S API: The library uses the OWL-S API v3.0 while working on the plugin we discovered a number of minor bugs, while they are being fixed in the main line please use our version of the library. The changes do not effect the interface.
  • Qualified namespaces:
    The OWL-S API and the generated groundings require that soap body elements are qualified by a namespace, this is not the case by default in JAXB, to fix this add the following to the in your service classes:
    		attributeFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED,
    		elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
  • No labels