Exposing an SDF service as a Web service on WebLogic

About this task

To expose an SDF service as a Web service, you first have to copy the input and output xsds for the API that is exposed in the SDF service and edit them.

Note: If you want to overwrite the input or output XSD for any API, you must expose the API as an SDF service and then expose the SDF service as a Web service. JAX-WS does not support API output templates but the equivalent can be achieved by using the following procedure.
Tip: You can use the same procedure to design fully customized APIs exposed through the SDF. To do so, write your own XSD for the input and output of your API, and ensure that you avoid constructs that are not supported in JAX-B such as xsd:any.

Procedure

  1. Open the SDF and create a synchronous service that has an API node.
  2. Select the desired API.
  3. Save the SDF service.
  4. Copy the input and output XSD files for the API you exposed in the SDF from the following location:
    
    <INSTALL_DIR>/xapidocs/api_javadocs/XSD
    

    to:

    
    <INSTALL_DIR>/extensions/webservices
    
  5. Rename the files to match the name and exposed name that you give them in webservicebeans.xml.

    Use the following format:

    <name>_<exposed_name>_input.xsd

    <name>_<exposed_name>_output.xsd

Results

This is also the procedure you would use to extend a table, with this additional step: after copying and renaming the files, edit them to reference the new columns/API inputs/outputs.