The Java Remote Interface (RMI) to WSDL Compiler

The Novell exteNd Web Services SDK rmi2wsdl compiler transforms Java RMI into a WSDL document. This allows Java programmers to easily construct WSDL documents for their Web Service so they can be published on the Internet or shared with business partners. The rmi2wsdl compiler has a lot in common with the wsdl2java compiler and this section therefore has many references to the wsdl2java section.

This guide to the Novell exteNd Web Services SDK rmi2wsdl compiler consists of the following sections:

  1. Introduction - a description of how RMI relates to WSDL.
  2. Data Types - the data types supported by the wsdl2java compiler.
  3. Faults - how exceptions map to WSDL messages.
  4. Custom Types - how to add new types to the rmi2wsdl compiler using type mapper.
You can also refer to the rmi2wsdl man page for a detailed description of the compiler's command line options.

Introduction

Java RMI maps to WSDL as summarized in Table 1:
 
Java WSDL
Types Types
Parameters, return values and exceptions Messages
Method Operation
Interface Port Type

Table 1: Equivalence of RMI and WSDL concepts.

The rmi2wsdl compiler further generates SOAP binding information and a service type derived from the -soap command line paramarter.  This parameter specifies the SOAP address where the Web Service is running.

Data Types

The rmi2wsdl compiler support exactly the same data types as the wsdl2java compiler.

Faults

The rmi2soap compiler treats exceptions as Java Beans. When the compiler encounters an exception it performs bean introspection and creates a WSDL message with one part for each bean property. The type for the part becomes the Java to XML type mapping available for said type.

Custom Types

As with the wsdl2java compiler, the rmi2soap is fully integrated with the type mapper component of Novell exteNd WSSDK. Again, you must provide a resource called xmlrpc.type.mappings as described in the wsdl2java compiler documentation.

Copyright © 2001-2003, Novell, Inc. All rights reserved.