<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<xsd:schema xmlns="http://www.mulesource.org/schema/mule/ejb/2.0"
            xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            xmlns:mule="http://www.mulesource.org/schema/mule/core/2.0"
            xmlns:rmi="http://www.mulesource.org/schema/mule/rmi/2.0"
            targetNamespace="http://www.mulesource.org/schema/mule/ejb/2.0"
            elementFormDefault="qualified"
            attributeFormDefault="unqualified">

    <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/>
    <xsd:import namespace="http://www.mulesource.org/schema/mule/core/2.0" 
                schemaLocation="http://www.mulesource.org/schema/mule/core/2.0/mule.xsd" />
    <xsd:import namespace="http://www.mulesource.org/schema/mule/rmi/2.0"
                schemaLocation="http://www.mulesource.org/schema/mule/rmi/2.0/mule-rmi.xsd"/>

    <xsd:element name="connector" type="ejbConnectorType" substitutionGroup="mule:abstract-connector">
        <xsd:annotation>
            <xsd:documentation>
                Connector for EJB beans.
            </xsd:documentation>
        </xsd:annotation>
    </xsd:element>
    <xsd:complexType name="ejbConnectorType">
        <xsd:complexContent>
            <xsd:extension base="mule:jndiConnectorType">
                <xsd:attribute name="pollingFrequency" type="mule:substitutableLong">
                    <xsd:annotation>
                        <xsd:documentation>
                            Period (ms) between polling connections.
                        </xsd:documentation>
                    </xsd:annotation>
                </xsd:attribute>
                <xsd:attribute name="securityManager-ref" type="xsd:NMTOKEN">
                    <xsd:annotation>
                        <xsd:documentation>
                            Bean reference to the security manager that should be used.
                        </xsd:documentation>
                    </xsd:annotation>
                </xsd:attribute>
                <xsd:attribute name="securityPolicy" type="xsd:string">
                    <xsd:annotation>
                        <xsd:documentation>
                            The security policy (file name) used to enable connections.
                        </xsd:documentation>
                    </xsd:annotation>
                </xsd:attribute>
                <xsd:attribute name="serverClassName" type="xsd:NMTOKEN">
                    <xsd:annotation>
                        <xsd:documentation>
                            The target class name.
                        </xsd:documentation>
                    </xsd:annotation>
                </xsd:attribute>
                <xsd:attribute name="serverCodebase" type="xsd:string">
                    <xsd:annotation>
                        <xsd:documentation>
                            The target method.
                        </xsd:documentation>
                    </xsd:annotation>
                </xsd:attribute>
            </xsd:extension>
        </xsd:complexContent>
    </xsd:complexType>

    <xsd:element name="inbound-endpoint" type="rmi:inboundEndpointType" substitutionGroup="mule:abstract-inbound-endpoint"/>

    <xsd:element name="outbound-endpoint" type="rmi:outboundEndpointType" substitutionGroup="mule:abstract-outbound-endpoint"/>

    <xsd:element name="endpoint" type="rmi:globalEndpointType" substitutionGroup="mule:abstract-global-endpoint"/>

</xsd:schema>
