<?xml version="1.0" encoding="UTF-8"?>
<!--
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements. See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership. The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License. You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied. See the License for the
 * specific language governing permissions and limitations
 * under the License.
-->
<definitions name="typedef" targetNamespace="http://schemas.apache.org/idl/typedef.idl" 
    xmlns="http://schemas.xmlsoap.org/wsdl/" 
    xmlns:corba="http://cxf.apache.org/bindings/corba" 
    xmlns:corbatm="http://schemas.apache.org/typemap/corba/typedef.idl" 
    xmlns:tns="http://schemas.apache.org/idl/typedef.idl" 
    xmlns:wsa="http://www.w3.org/2005/08/addressing" 
    xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
    xmlns:xsd1="http://schemas.apache.org/idltypes/typedef.idl">
    <corba:typeMapping 
        targetNamespace="http://schemas.apache.org/typemap/corba/typedef.idl">
        <corba:anonsequence bound="0" elemtype="corba:long" name="X._3_A" 
            type="xsd1:X._3_A"/>
        <corba:anonsequence bound="0" elemtype="corbatm:X._3_A" name="X._2_A" 
            type="xsd1:X._2_A"/>
        <corba:anonsequence bound="0" elemtype="corbatm:X._2_A" name="X._1_A" 
            type="xsd1:X._1_A"/>
        <corba:anonarray bound="3" elemtype="corbatm:X._1_A" name="X._20_A" 
            type="xsd1:X._20_A"/>
        <corba:anonarray bound="2" elemtype="corbatm:X._20_A" name="X._21_A" 
            type="xsd1:X._21_A"/>
        <corba:array bound="1" elemtype="corbatm:X._21_A" name="X.A" 
            repositoryID="IDL:X/A:1.0" type="xsd1:X.A"/>
        <corba:alias basetype="corba:long" name="X.MyLong" 
            repositoryID="IDL:X/MyLong:1.0" type="xsd:int"/>
        <corba:anonarray bound="6" elemtype="corba:string" name="X._22_B" 
            type="xsd1:X._22_B"/>
        <corba:anonarray bound="5" elemtype="corbatm:X._22_B" name="X._23_B" 
            type="xsd1:X._23_B"/>
        <corba:array bound="4" elemtype="corbatm:X._23_B" name="X.B" 
            repositoryID="IDL:X/B:1.0" type="xsd1:X.B"/>
        <corba:alias basetype="corba:string" name="X.C" repositoryID="IDL:X/C:1.0" 
            type="xsd:string"/>
        <corba:anonstring bound="20" name="X._11_D" type="xsd1:X._11_D"/>
        <corba:anonsequence bound="0" elemtype="corbatm:X._11_D" name="X._10_D" 
            type="xsd1:X._10_D"/>
        <corba:anonsequence bound="0" elemtype="corbatm:X._10_D" name="X._9_D" 
            type="xsd1:X._9_D"/>
        <corba:array bound="2" elemtype="corbatm:X._9_D" name="X.D" 
            repositoryID="IDL:X/D:1.0" type="xsd1:X.D"/>
        <corba:anonstring bound="10" name="X._24_String10" type="xsd1:X.String10"/>
        <corba:alias basetype="corbatm:X._24_String10" name="X.String10" 
            repositoryID="IDL:X/String10:1.0" type="xsd1:X.String10"/>
        <corba:anonsequence bound="0" elemtype="corbatm:X.String10" name="X._12_E" 
            type="xsd1:X._12_E"/>
        <corba:sequence bound="0" elemtype="corbatm:X._12_E" name="X.E" 
            repositoryID="IDL:X/E:1.0" type="xsd1:X.E"/>
        <corba:anonstring bound="1" name="X.op_f._13_p1" type="xsd1:X.op_f._13_p1"/>
        <corba:anonstring bound="2" name="X.op_f._14_p2" type="xsd1:X.op_f._14_p2"/>
        <corba:anonstring bound="3" name="X.op_f._15_p3" type="xsd1:X.op_f._15_p3"/>
        <corba:anonstring bound="4" name="X._16_op_f" type="xsd1:X._16_op_f"/>
        <corba:anonstring bound="20" name="X._17_op_g" type="xsd1:X._17_op_g"/>
        <corba:anonfixed digits="4" name="X._18_H" scale="2" type="xsd:decimal"/>
        <corba:sequence bound="0" elemtype="corbatm:X._18_H" name="X.H" 
            repositoryID="IDL:X/H:1.0" type="xsd1:X.H"/>
        <corba:struct name="X.myStruct" repositoryID="IDL:X/myStruct:1.0" 
            type="xsd1:X.myStruct">
            <corba:member idltype="corba:long" name="l"/>
            <corba:member idltype="corba:short" name="o"/>
        </corba:struct>
        <corba:alias basetype="corbatm:X.myStruct" name="X.Z" repositoryID="IDL:X/Z:1.0" 
            type="xsd1:X.myStruct"/>
        <corba:union discriminator="corba:long" name="X.myUnion" 
            repositoryID="IDL:X/myUnion:1.0" type="xsd1:X.myUnion">
            <corba:unionbranch idltype="corba:long" name="l">
                <corba:case label="0"/>
            </corba:unionbranch>
            <corba:unionbranch idltype="corba:string" name="str">
                <corba:case label="1"/>
            </corba:unionbranch>
            <corba:unionbranch idltype="corba:float" name="f">
                <corba:case label="2"/>
            </corba:unionbranch>
            <corba:unionbranch default="true" idltype="corba:octet" name="o"/>
        </corba:union>
        <corba:alias basetype="corbatm:X.myUnion" name="X.U" repositoryID="IDL:X/U:1.0" 
            type="xsd1:X.myUnion"/>       
        <corba:const idltype="corba:short" name="X.P" type="xsd:short" value="5"/>
        <corba:sequence bound="5" elemtype="corba:string" name="X.strSeq" 
            repositoryID="IDL:X/strSeq:1.0" type="xsd1:X.strSeq"/>
        <corba:enum name="X.myEnum" repositoryID="IDL:X/myEnum:1.0" type="xsd1:X.myEnum">
            <corba:enumerator value="AA"/>
            <corba:enumerator value="BB"/>
            <corba:enumerator value="CC"/>
        </corba:enum>
        <corba:alias basetype="corbatm:X.myEnum" name="X.tEnum" 
            repositoryID="IDL:X/tEnum:1.0" type="xsd1:X.myEnum"/>
        <corba:alias basetype="corba:any" name="X.tAny" repositoryID="IDL:X/tAny:1.0" 
            type="xsd:anyType"/>
        <corba:exception name="X.eNotFound" repositoryID="IDL:X/eNotFound:1.0" 
            type="xsd1:X.eNotFound">
            <corba:member idltype="corba:string" name="reason"/>
            <corba:member idltype="corba:string" name="type"/>
        </corba:exception>
        <corba:alias basetype="corba:char" name="X.tChar" repositoryID="IDL:X/tChar:1.0" 
            type="xsd:byte"/>
    </corba:typeMapping>
    <types>
     <schema targetNamespace="http://schemas.apache.org/idltypes/typedef.idl" 
            xmlns="http://www.w3.org/2001/XMLSchema" 
            xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
            <complexType name="X._3_A">
                <sequence>
                    <element maxOccurs="unbounded" minOccurs="0" name="item" type="int"/>
                </sequence>
            </complexType>
            <complexType name="X._2_A">
                <sequence>
                    <element maxOccurs="unbounded" minOccurs="0" name="item" 
                        type="xsd1:X._3_A"/>
                </sequence>
            </complexType>
            <complexType name="X._1_A">
                <sequence>
                    <element maxOccurs="unbounded" minOccurs="0" name="item" 
                        type="xsd1:X._2_A"/>
                </sequence>
            </complexType>
            <complexType name="X._4_A">
                <sequence>
                    <element maxOccurs="3" minOccurs="3" name="item" type="xsd1:X._1_A"/>
                </sequence>
            </complexType>
            <complexType name="X._5_A">
                <sequence>
                    <element maxOccurs="2" minOccurs="2" name="item" type="xsd1:X._4_A"/>
                </sequence>
            </complexType>
            <complexType name="X.A">
                <sequence>
                    <element maxOccurs="1" minOccurs="1" name="item" type="xsd1:X._5_A"/>
                </sequence>
            </complexType>
            <complexType name="X._7_B">
                <sequence>
                    <element maxOccurs="6" minOccurs="6" name="item" type="string"/>
                </sequence>
            </complexType>
            <complexType name="X._8_B">
                <sequence>
                    <element maxOccurs="5" minOccurs="5" name="item" type="xsd1:X._7_B"/>
                </sequence>
            </complexType>
            <complexType name="X.B">
                <sequence>
                    <element maxOccurs="4" minOccurs="4" name="item" type="xsd1:X._8_B"/>
                </sequence>
            </complexType>
            <simpleType name="X._11_D">
                <restriction base="string">
                    <maxLength value="20"/>
                </restriction>
            </simpleType>
            <complexType name="X._10_D">
                <sequence>
                    <element maxOccurs="unbounded" minOccurs="0" name="item" 
                        type="xsd1:X._11_D"/>
                </sequence>
            </complexType>
            <complexType name="X._9_D">
                <sequence>
                    <element maxOccurs="unbounded" minOccurs="0" name="item" 
                        type="xsd1:X._10_D"/>
                </sequence>
            </complexType>
            <complexType name="X.D">
                <sequence>
                    <element maxOccurs="2" minOccurs="2" name="item" type="xsd1:X._9_D"/>
                </sequence>
            </complexType>
            <simpleType name="X.String10">
                <restriction base="string">
                    <maxLength value="10"/>
                </restriction>
            </simpleType>
            <complexType name="X._12_E">
                <sequence>
                    <element maxOccurs="unbounded" minOccurs="0" name="item" 
                        type="xsd1:X.String10"/>
                </sequence>
            </complexType>
            <complexType name="X.E">
                <sequence>
                    <element maxOccurs="unbounded" minOccurs="0" name="item" 
                        type="xsd1:X._12_E"/>
                </sequence>
            </complexType>
            <simpleType name="X.op_f._13_p1">
                <restriction base="string">
                    <maxLength value="1"/>
                </restriction>
            </simpleType>
            <simpleType name="X.op_f._14_p2">
                <restriction base="string">
                    <maxLength value="2"/>
                </restriction>
            </simpleType>
            <simpleType name="X.op_f._15_p3">
                <restriction base="string">
                    <maxLength value="3"/>
                </restriction>
            </simpleType>
            <simpleType name="X._16_op_f">
                <restriction base="string">
                    <maxLength value="4"/>
                </restriction>
            </simpleType>
            <simpleType name="X._17_op_g">
                <restriction base="string">
                    <maxLength value="20"/>
                </restriction>
            </simpleType>
            <complexType name="X.H">
                <sequence>
                    <element maxOccurs="unbounded" minOccurs="0" name="item" 
                        type="decimal"/>
                </sequence>
            </complexType>
            <complexType name="X.myStruct">
                <sequence>
                    <element name="l" type="int"/>
                    <element name="o" type="short"/>
                </sequence>
            </complexType>
            <complexType name="X.myUnion">
                <choice>
                    <element name="l" type="int"/>
                    <element name="str" type="string"/>
                    <element name="f" type="float"/>
                    <element name="o" type="unsignedByte"/>
                </choice>
            </complexType>
            <complexType name="X._omg_myUnion">
                <sequence>
                    <element maxOccurs="1" minOccurs="1" name="discriminator" type="int"/>
                    <choice maxOccurs="1" minOccurs="0">
                        <element name="l" type="int"/>
                        <element name="str" type="string"/>
                        <element name="f" type="float"/>
                        <element name="o" type="unsignedByte"/>
                    </choice>
                </sequence>
            </complexType>
            <complexType name="X.strSeq">
                <sequence>
                    <element maxOccurs="5" minOccurs="0" name="item" type="string"/>
                </sequence>
            </complexType>
            <simpleType name="X.myEnum">
                <restriction base="string">
                    <enumeration value="AA"/>
                    <enumeration value="BB"/>
                    <enumeration value="CC"/>
                </restriction>
            </simpleType>
            <complexType name="X.eNotFound">
                <sequence>
                    <element name="reason" type="string"/>
                    <element name="type" type="string"/>
                </sequence>
            </complexType>
            <element name="X.op_a">
                <complexType>
                    <sequence>
                        <element name="p1" type="xsd1:X.A"/>
                        <element name="p2" type="xsd1:X.A"/>
                    </sequence>
                </complexType>
            </element>
            <element name="X.op_aResult">
                <complexType>
                    <sequence>
                        <element name="return" type="xsd1:X.A"/>
                        <element name="p2" type="xsd1:X.A"/>
                        <element name="p3" type="xsd1:X.A"/>
                    </sequence>
                </complexType>
            </element>
            <element name="X.op_b">
                <complexType>
                    <sequence>
                        <element name="p1" type="xsd1:X.B"/>
                        <element name="p2" type="xsd1:X.B"/>
                    </sequence>
                </complexType>
            </element>
            <element name="X.op_bResult">
                <complexType>
                    <sequence>
                        <element name="return" type="xsd1:X.B"/>
                        <element name="p2" type="xsd1:X.B"/>
                        <element name="p3" type="xsd1:X.B"/>
                    </sequence>
                </complexType>
            </element>
            <element name="X.op_c">
                <complexType>
                    <sequence>
                        <element name="p1" type="string"/>
                        <element name="p2" type="string"/>
                    </sequence>
                </complexType>
            </element>
            <element name="X.op_cResult">
                <complexType>
                    <sequence>
                        <element name="return" type="string"/>
                        <element name="p2" type="string"/>
                        <element name="p3" type="string"/>
                    </sequence>
                </complexType>
            </element>
            <element name="X.op_d">
                <complexType>
                    <sequence>
                        <element name="p1" type="xsd1:X.D"/>
                        <element name="p2" type="xsd1:X.D"/>
                    </sequence>
                </complexType>
            </element>
            <element name="X.op_dResult">
                <complexType>
                    <sequence>
                        <element name="return" type="xsd1:X.D"/>
                        <element name="p2" type="xsd1:X.D"/>
                        <element name="p3" type="xsd1:X.D"/>
                    </sequence>
                </complexType>
            </element>
            <element name="X.op_e">
                <complexType>
                    <sequence>
                        <element name="p1" type="xsd1:X.E"/>
                        <element name="p2" type="xsd1:X.E"/>
                    </sequence>
                </complexType>
            </element>
            <element name="X.op_eResult">
                <complexType>
                    <sequence>
                        <element name="return" type="xsd1:X.E"/>
                        <element name="p2" type="xsd1:X.E"/>
                        <element name="p3" type="xsd1:X.E"/>
                    </sequence>
                </complexType>
            </element>
            <element name="X.op_f">
                <complexType>
                    <sequence>
                        <element name="p1" type="xsd1:X.op_f._13_p1"/>
                        <element name="p2" type="xsd1:X.op_f._14_p2"/>
                    </sequence>
                </complexType>
            </element>
            <element name="X.op_fResult">
                <complexType>
                    <sequence>
                        <element name="return" type="xsd1:X._16_op_f"/>
                        <element name="p2" type="xsd1:X.op_f._14_p2"/>
                        <element name="p3" type="xsd1:X.op_f._15_p3"/>
                    </sequence>
                </complexType>
            </element>
            <element name="X._get_op_g">
                <complexType>
                    <sequence>
          </sequence>
                </complexType>
            </element>
            <element name="X._get_op_gResult">
                <complexType>
                    <sequence>
                        <element name="return" type="xsd1:X._17_op_g"/>
                    </sequence>
                </complexType>
            </element>
            <element name="X._set_op_g">
                <complexType>
                    <sequence>
                        <element name="_arg" type="xsd1:X._17_op_g"/>
                    </sequence>
                </complexType>
            </element>
            <element name="X._set_op_gResult">
                <complexType>
                    <sequence>
          </sequence>
                </complexType>
            </element>
            <element name="X.op_h">
                <complexType>
                    <sequence>
                        <element name="p1" type="xsd1:X.H"/>
                        <element name="p2" type="xsd1:X.H"/>
                    </sequence>
                </complexType>
            </element>
            <element name="X.op_hResult">
                <complexType>
                    <sequence>
                        <element name="return" type="xsd1:X.H"/>
                        <element name="p2" type="xsd1:X.H"/>
                        <element name="p3" type="xsd1:X.H"/>
                    </sequence>
                </complexType>
            </element>
            <element name="X.op_z">
                <complexType>
                    <sequence>
                        <element name="p1" type="xsd1:X.myStruct"/>
                        <element name="p2" type="xsd1:X.myStruct"/>
                    </sequence>
                </complexType>
            </element>
            <element name="X.op_zResult">
                <complexType>
                    <sequence>
                        <element name="return" type="xsd1:X.myStruct"/>
                        <element name="p2" type="xsd1:X.myStruct"/>
                        <element name="p3" type="xsd1:X.myStruct"/>
                    </sequence>
                </complexType>
            </element>
            <element name="X.op_U">
                <complexType>
                    <sequence>
                        <element name="p1" type="xsd1:X.myUnion"/>
                        <element name="p2" type="xsd1:X.myUnion"/>
                    </sequence>
                </complexType>
            </element>
            <element name="X.op_UResult">
                <complexType>
                    <sequence>
                        <element name="return" type="xsd1:X.myUnion"/>
                        <element name="p2" type="xsd1:X.myUnion"/>
                        <element name="p3" type="xsd1:X.myUnion"/>
                    </sequence>
                </complexType>
            </element>
            <element name="X.op_p">
                <complexType>
                    <sequence>
                        <element name="p1" type="xsd1:X.strSeq"/>
                        <element name="p2" type="xsd1:X.strSeq"/>
                    </sequence>
                </complexType>
            </element>
            <element name="X.op_pResult">
                <complexType>
                    <sequence>
                        <element name="return" type="xsd1:X.strSeq"/>
                        <element name="p2" type="xsd1:X.strSeq"/>
                        <element name="p3" type="xsd1:X.strSeq"/>
                    </sequence>
                </complexType>
            </element>
            <element name="X.op_tEnum">
                <complexType>
                    <sequence>
                        <element name="p1" type="xsd1:X.myEnum"/>
                        <element name="p2" type="xsd1:X.myEnum"/>
                    </sequence>
                </complexType>
            </element>
            <element name="X.op_tEnumResult">
                <complexType>
                    <sequence>
                        <element name="return" type="xsd1:X.myEnum"/>
                        <element name="p2" type="xsd1:X.myEnum"/>
                        <element name="p3" type="xsd1:X.myEnum"/>
                    </sequence>
                </complexType>
            </element>
            <element name="X.op_tAny">
                <complexType>
                    <sequence>
                        <element name="p1" type="anyType"/>
                        <element name="p2" type="anyType"/>
                    </sequence>
                </complexType>
            </element>
            <element name="X.op_tAnyResult">
                <complexType>
                    <sequence>
                        <element name="return" type="anyType"/>
                        <element name="p2" type="anyType"/>
                        <element name="p3" type="anyType"/>
                    </sequence>
                </complexType>
            </element>
            <element name="X.op_tChar">
                <complexType>
                    <sequence>
                        <element name="p1" type="byte"/>
                        <element name="p2" type="byte"/>
                    </sequence>
                </complexType>
            </element>
            <element name="X.op_tCharResult">
                <complexType>
                    <sequence>
                        <element name="return" type="byte"/>
                        <element name="p2" type="byte"/>
                        <element name="p3" type="byte"/>
                    </sequence>
                </complexType>
            </element>
        </schema>
    </types>
    <message name="X.op_a">
        <part element="xsd1:X.op_a" name="parameters"/>
    </message>
    <message name="X.op_aResponse">
        <part element="xsd1:X.op_aResult" name="parameters"/>
    </message>
    <message name="X.op_b">
        <part element="xsd1:X.op_b" name="parameters"/>
    </message>
    <message name="X.op_bResponse">
        <part element="xsd1:X.op_bResult" name="parameters"/>
    </message>
    <message name="X.op_c">
        <part element="xsd1:X.op_c" name="parameters"/>
    </message>
    <message name="X.op_cResponse">
        <part element="xsd1:X.op_cResult" name="parameters"/>
    </message>
    <message name="X.op_d">
        <part element="xsd1:X.op_d" name="parameters"/>
    </message>
    <message name="X.op_dResponse">
        <part element="xsd1:X.op_dResult" name="parameters"/>
    </message>
    <message name="X.op_e">
        <part element="xsd1:X.op_e" name="parameters"/>
    </message>
    <message name="X.op_eResponse">
        <part element="xsd1:X.op_eResult" name="parameters"/>
    </message>
    <message name="X.op_f">
        <part element="xsd1:X.op_f" name="parameters"/>
    </message>
    <message name="X.op_fResponse">
        <part element="xsd1:X.op_fResult" name="parameters"/>
    </message>
    <message name="X._get_op_g">
        <part element="xsd1:X._get_op_g" name="parameters"/>
    </message>
    <message name="X._get_op_gResponse">
        <part element="xsd1:X._get_op_gResult" name="parameters"/>
    </message>
    <message name="X._set_op_g">
        <part element="xsd1:X._set_op_g" name="parameters"/>
    </message>
    <message name="X._set_op_gResponse">
        <part element="xsd1:X._set_op_gResult" name="parameters"/>
    </message>
    <message name="X.op_h">
        <part element="xsd1:X.op_h" name="parameters"/>
    </message>
    <message name="X.op_hResponse">
        <part element="xsd1:X.op_hResult" name="parameters"/>
    </message>
    <message name="X.op_z">
        <part element="xsd1:X.op_z" name="parameters"/>
    </message>
    <message name="X.op_zResponse">
        <part element="xsd1:X.op_zResult" name="parameters"/>
    </message>
    <message name="X.op_U">
        <part element="xsd1:X.op_U" name="parameters"/>
    </message>
    <message name="X.op_UResponse">
        <part element="xsd1:X.op_UResult" name="parameters"/>
    </message>
    <message name="X.op_p">
        <part element="xsd1:X.op_p" name="parameters"/>
    </message>
    <message name="X.op_pResponse">
        <part element="xsd1:X.op_pResult" name="parameters"/>
    </message>
    <message name="X.op_tEnum">
        <part element="xsd1:X.op_tEnum" name="parameters"/>
    </message>
    <message name="X.op_tEnumResponse">
        <part element="xsd1:X.op_tEnumResult" name="parameters"/>
    </message>
    <message name="X.op_tAny">
        <part element="xsd1:X.op_tAny" name="parameters"/>
    </message>
    <message name="X.op_tAnyResponse">
        <part element="xsd1:X.op_tAnyResult" name="parameters"/>
    </message>
    <message name="X.op_tChar">
        <part element="xsd1:X.op_tChar" name="parameters"/>
    </message>
    <message name="X.op_tCharResponse">
        <part element="xsd1:X.op_tCharResult" name="parameters"/>
    </message>
    <portType name="X">
        <operation name="op_a">
            <input message="tns:X.op_a" name="op_a"/>
            <output message="tns:X.op_aResponse" name="op_aResponse"/>
        </operation>
        <operation name="op_b">
            <input message="tns:X.op_b" name="op_b"/>
            <output message="tns:X.op_bResponse" name="op_bResponse"/>
        </operation>
        <operation name="op_c">
            <input message="tns:X.op_c" name="op_c"/>
            <output message="tns:X.op_cResponse" name="op_cResponse"/>
        </operation>
        <operation name="op_d">
            <input message="tns:X.op_d" name="op_d"/>
            <output message="tns:X.op_dResponse" name="op_dResponse"/>
        </operation>
        <operation name="op_e">
            <input message="tns:X.op_e" name="op_e"/>
            <output message="tns:X.op_eResponse" name="op_eResponse"/>
        </operation>
        <operation name="op_f">
            <input message="tns:X.op_f" name="op_f"/>
            <output message="tns:X.op_fResponse" name="op_fResponse"/>
        </operation>
        <operation name="_get_op_g">
            <input message="tns:X._get_op_g" name="_get_op_g"/>
            <output message="tns:X._get_op_gResponse" name="_get_op_gResponse"/>
        </operation>
        <operation name="_set_op_g">
            <input message="tns:X._set_op_g" name="_set_op_g"/>
            <output message="tns:X._set_op_gResponse" name="_set_op_gResponse"/>
        </operation>
        <operation name="op_h">
            <input message="tns:X.op_h" name="op_h"/>
            <output message="tns:X.op_hResponse" name="op_hResponse"/>
        </operation>
        <operation name="op_z">
            <input message="tns:X.op_z" name="op_z"/>
            <output message="tns:X.op_zResponse" name="op_zResponse"/>
        </operation>
        <operation name="op_U">
            <input message="tns:X.op_U" name="op_U"/>
            <output message="tns:X.op_UResponse" name="op_UResponse"/>
        </operation>
        <operation name="op_p">
            <input message="tns:X.op_p" name="op_p"/>
            <output message="tns:X.op_pResponse" name="op_pResponse"/>
        </operation>
        <operation name="op_tEnum">
            <input message="tns:X.op_tEnum" name="op_tEnum"/>
            <output message="tns:X.op_tEnumResponse" name="op_tEnumResponse"/>
        </operation>
        <operation name="op_tAny">
            <input message="tns:X.op_tAny" name="op_tAny"/>
            <output message="tns:X.op_tAnyResponse" name="op_tAnyResponse"/>
        </operation>
        <operation name="op_tChar">
            <input message="tns:X.op_tChar" name="op_tChar"/>
            <output message="tns:X.op_tCharResponse" name="op_tCharResponse"/>
        </operation>
    </portType>
    <binding name="XCORBABinding" type="tns:X">
        <corba:binding repositoryID="IDL:X:1.0"/>
        <operation name="op_a">
            <corba:operation name="op_a">
                <corba:param idltype="corbatm:X.A" mode="in" name="p1"/>
                <corba:param idltype="corbatm:X.A" mode="inout" name="p2"/>
                <corba:param idltype="corbatm:X.A" mode="out" name="p3"/>
                <corba:return idltype="corbatm:X.A" name="return"/>
            </corba:operation>
            <input name="op_a"/>
            <output name="op_aResponse"/>
        </operation>
        <operation name="op_b">
            <corba:operation name="op_b">
                <corba:param idltype="corbatm:X.B" mode="in" name="p1"/>
                <corba:param idltype="corbatm:X.B" mode="inout" name="p2"/>
                <corba:param idltype="corbatm:X.B" mode="out" name="p3"/>
                <corba:return idltype="corbatm:X.B" name="return"/>
            </corba:operation>
            <input name="op_b"/>
            <output name="op_bResponse"/>
        </operation>
        <operation name="op_c">
            <corba:operation name="op_c">
                <corba:param idltype="corbatm:X.C" mode="in" name="p1"/>
                <corba:param idltype="corbatm:X.C" mode="inout" name="p2"/>
                <corba:param idltype="corbatm:X.C" mode="out" name="p3"/>
                <corba:return idltype="corbatm:X.C" name="return"/>
            </corba:operation>
            <input name="op_c"/>
            <output name="op_cResponse"/>
        </operation>
        <operation name="op_d">
            <corba:operation name="op_d">
                <corba:param idltype="corbatm:X.D" mode="in" name="p1"/>
                <corba:param idltype="corbatm:X.D" mode="inout" name="p2"/>
                <corba:param idltype="corbatm:X.D" mode="out" name="p3"/>
                <corba:return idltype="corbatm:X.D" name="return"/>
            </corba:operation>
            <input name="op_d"/>
            <output name="op_dResponse"/>
        </operation>
        <operation name="op_e">
            <corba:operation name="op_e">
                <corba:param idltype="corbatm:X.E" mode="in" name="p1"/>
                <corba:param idltype="corbatm:X.E" mode="inout" name="p2"/>
                <corba:param idltype="corbatm:X.E" mode="out" name="p3"/>
                <corba:return idltype="corbatm:X.E" name="return"/>
            </corba:operation>
            <input name="op_e"/>
            <output name="op_eResponse"/>
        </operation>
        <operation name="op_f">
            <corba:operation name="op_f">
                <corba:param idltype="corbatm:X.op_f._13_p1" mode="in" name="p1"/>
                <corba:param idltype="corbatm:X.op_f._14_p2" mode="inout" name="p2"/>
                <corba:param idltype="corbatm:X.op_f._15_p3" mode="out" name="p3"/>
                <corba:return idltype="corbatm:X._16_op_f" name="return"/>
            </corba:operation>
            <input name="op_f"/>
            <output name="op_fResponse"/>
        </operation>
        <operation name="_get_op_g">
            <corba:operation name="_get_op_g">
                <corba:return idltype="corbatm:X._17_op_g" name="return"/>
            </corba:operation>
            <input name="_get_op_g"/>
            <output name="_get_op_gResponse"/>
        </operation>
        <operation name="_set_op_g">
            <corba:operation name="_set_op_g">
                <corba:param idltype="corbatm:X._17_op_g" mode="in" name="_arg"/>
            </corba:operation>
            <input name="_set_op_g"/>
            <output name="_set_op_gResponse"/>
        </operation>
        <operation name="op_h">
            <corba:operation name="op_h">
                <corba:param idltype="corbatm:X.H" mode="in" name="p1"/>
                <corba:param idltype="corbatm:X.H" mode="inout" name="p2"/>
                <corba:param idltype="corbatm:X.H" mode="out" name="p3"/>
                <corba:return idltype="corbatm:X.H" name="return"/>
            </corba:operation>
            <input name="op_h"/>
            <output name="op_hResponse"/>
        </operation>
        <operation name="op_z">
            <corba:operation name="op_z">
                <corba:param idltype="corbatm:X.Z" mode="in" name="p1"/>
                <corba:param idltype="corbatm:X.Z" mode="inout" name="p2"/>
                <corba:param idltype="corbatm:X.Z" mode="out" name="p3"/>
                <corba:return idltype="corbatm:X.Z" name="return"/>
            </corba:operation>
            <input name="op_z"/>
            <output name="op_zResponse"/>
        </operation>
        <operation name="op_U">
            <corba:operation name="op_U">
                <corba:param idltype="corbatm:X.U" mode="in" name="p1"/>
                <corba:param idltype="corbatm:X.U" mode="inout" name="p2"/>
                <corba:param idltype="corbatm:X.U" mode="out" name="p3"/>
                <corba:return idltype="corbatm:X.U" name="return"/>
            </corba:operation>
            <input name="op_U"/>
            <output name="op_UResponse"/>
        </operation>
        <operation name="op_p">
            <corba:operation name="op_p">
                <corba:param idltype="corbatm:X.strSeq" mode="in" name="p1"/>
                <corba:param idltype="corbatm:X.strSeq" mode="inout" name="p2"/>
                <corba:param idltype="corbatm:X.strSeq" mode="out" name="p3"/>
                <corba:return idltype="corbatm:X.strSeq" name="return"/>
            </corba:operation>
            <input name="op_p"/>
            <output name="op_pResponse"/>
        </operation>
        <operation name="op_tEnum">
            <corba:operation name="op_tEnum">
                <corba:param idltype="corbatm:X.tEnum" mode="in" name="p1"/>
                <corba:param idltype="corbatm:X.tEnum" mode="inout" name="p2"/>
                <corba:param idltype="corbatm:X.tEnum" mode="out" name="p3"/>
                <corba:return idltype="corbatm:X.tEnum" name="return"/>
            </corba:operation>
            <input name="op_tEnum"/>
            <output name="op_tEnumResponse"/>
        </operation>
        <operation name="op_tAny">
            <corba:operation name="op_tAny">
                <corba:param idltype="corbatm:X.tAny" mode="in" name="p1"/>
                <corba:param idltype="corbatm:X.tAny" mode="inout" name="p2"/>
                <corba:param idltype="corbatm:X.tAny" mode="out" name="p3"/>
                <corba:return idltype="corbatm:X.tAny" name="return"/>
            </corba:operation>
            <input name="op_tAny"/>
            <output name="op_tAnyResponse"/>
        </operation>
        <operation name="op_tChar">
            <corba:operation name="op_tChar">
                <corba:param idltype="corbatm:X.tChar" mode="in" name="p1"/>
                <corba:param idltype="corbatm:X.tChar" mode="inout" name="p2"/>
                <corba:param idltype="corbatm:X.tChar" mode="out" name="p3"/>
                <corba:return idltype="corbatm:X.tChar" name="return"/>
            </corba:operation>
            <input name="op_tChar"/>
            <output name="op_tCharResponse"/>
        </operation>
    </binding>
    <service name="XCORBAService">
        <port binding="tns:XCORBABinding" name="XCORBAPort">
            <corba:address location="IOR:"/>
        </port>
    </service>        
</definitions>
