|Apache Yoko Project Website > SideNav > Documentation > Configuration of Corba Binding|
CORBA bindings are described using a variety of WSDL extensibility elements within the WSDL binding element. In most cases, the CORBA binding description is generated automatically using the wsdltoidl & idltowsdl tools. Usually, it is unnecessary to modify generated CORBA bindings.
The WSDL extensions used to describe CORBA data mappings and CORBA transport details are conventionally prefixed by the namespace prefix, corba.(xmlns:corba="http://schemas.apache.org/yoko/bindings/corba")
The corba:binding element indicates that the binding is a CORBA binding. This element has one required attribute: repositoryID. repositoryID specifies the full type ID of the interface. The type ID is embedded in the object's IOR and therefore must conform to the IDs that are generated from an IDL compiler. These are of the form:
The corba:binding element also has an optional attribute, bases, that specifies that the interface being bound inherits from another interface. The value for bases is the type ID of the interface from which the bound interface inherits. For example, the following IDL:
would produce the following corba:binding:
The corba:operation element is an wsdl extensibility element of <operation> and describes the parts of the operation's messages. <corba:operation> takes a single attribute, name, which duplicates the name given in <operation>.
The corba:param element is a member of <corba:operation>. Each <part> of the input and output messages specified in the logical operation, except for the part representing the return value of the operation, must have a corresponding <corba:param>. The parameter order defined in the binding must match the order specified in the IDL definition of the operation. <corba:param> has the following required attributes:
The corba:return element is a member of <corba:operation> and specifies the return type, if any, of the operation. It only has two attributes:
The corba:raises element is a member of <corba:operation> and describes any exceptions the operation can raise. The exceptions are defined as fault messages in the logical definition of the operation. Each fault message must have a corresponding corba:raises element. The corba:raises element has one required attribute, exception, which specifies the type of data returned in the exception.
In addition to operations specified in <corba:operation> tags, within the <operation> block, each <operation> in the binding must also specify empty input and output elements as required by the WSDL specification. The CORBA binding specification, however, does not use them.
For each fault message defined in the logical description of the operation, a corresponding fault element must be provided in the <operation>, as required by the WSDL specification. The name attribute of the fault element specifies the name of the schema type representing the data passed in the fault message.
A logical interface for a system to retrieve bank account information might look similar to Bank Port Type.
Bank port type:
The CORBA binding for Bank is shown below.
Bank CORBA Binding:
<wsdl:binding name="BankCORBABinding" type="tns:Bank">