XML Schema "mule-ajax.xsd"
Target Namespace:
http://www.mulesoft.org/schema/mule/ajax
Defined Components:
8 global elements, 4 local elements, 4 complexTypes, 2 attribute groups
Default Namespace-Qualified Form:
Local Elements: qualified; Local Attributes: unqualified
Schema Location:
http://www.mulesoft.org/schema/mule/ajax/3.1/mule-ajax.xsd; see XML source
Imports Schemas (5):
mule-jetty.xsd [src], mule-schemadoc.xsd [src], mule-servlet.xsd [src], mule.xsd [src], xml.xsd [src]
Annotation
The new AJAX connector allows Mule events to be sent and received in a web browser. The connector includes a JavaScript client that can be used to listen for events, send events and perform RPC calls. The AJAX connector works when deployed in Mule stand-alone or embedded in a servlet container such as Apache Tomcat.
XML Source
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<xsd:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.mulesoft.org/schema/mule/ajax" xmlns="http://www.mulesoft.org/schema/mule/ajax" xmlns:jetty="http://www.mulesoft.org/schema/mule/jetty" xmlns:mule="http://www.mulesoft.org/schema/mule/core" xmlns:schemadoc="http://www.mulesoft.org/schema/mule/schemadoc" xmlns:servlet="http://www.mulesoft.org/schema/mule/servlet" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace"/>
<xsd:annotation>
<xsd:documentation>
The new AJAX connector allows Mule events to be sent and received in a web browser. The
connector includes a JavaScript client that can be used to listen for events, send events and perform RPC
calls. The AJAX connector works when deployed in Mule stand-alone or embedded in a servlet container such as
Apache Tomcat.
</xsd:documentation>
<xsd:appinfo>
<schemadoc:short-name>AJAX</schemadoc:short-name>
<schemadoc:page-title>Ajax Transport</schemadoc:page-title>
<schemadoc:transport-features dispatchEvents="true" receiveEvents="true" requestEvents="false" streaming="true" transactions="false">
<schemadoc:MEPs default="one-way" supported="one-way"/>
</schemadoc:transport-features>
</xsd:appinfo>
</xsd:annotation>
<xsd:element name="servlet-connector" substitutionGroup="mule:abstract-connector" type="servlet:servletConnectorType"/>
<xsd:element name="connector" substitutionGroup="mule:abstract-connector" type="ajaxConnectorType">
<xsd:annotation>
<xsd:documentation>
Allows Mule to expose Mule Services over HTTP using a Jetty HTTP server and Cometd. A single Jetty
server is created for each connector instance. One connector can serve many endpoints. Users should
rarely need to have more than one AJAX servlet connector.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="ajaxConnectorType">
<xsd:complexContent>
<xsd:extension base="mule:abstractConnectorType">
<xsd:sequence maxOccurs="1" minOccurs="0">
<xsd:element maxOccurs="1" minOccurs="0" name="client" type="mule:tlsClientKeyStoreType"/>
<xsd:element maxOccurs="1" minOccurs="0" name="key-store" type="mule:tlsKeyStoreType"/>
<xsd:element maxOccurs="1" minOccurs="0" name="server" type="mule:tlsServerTrustStoreType"/>
<xsd:element maxOccurs="1" minOccurs="0" name="protocol-handler" type="mule:tlsProtocolHandler"/>
</xsd:sequence>
<xsd:attributeGroup ref="connectorAttibutes"/>
<xsd:attribute name="serverUrl" type="xsd:string" use="required">
<xsd:annotation>
<xsd:documentation>
When using AJAX embedded (not within a servlet container) a URL needs to be configured to
create an AJAX server hosted in Mule. The URL should be in the form of
http://[host]:[port]/[path] note that https can also be used, but you will need to set the
TLS information on the connector.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="resourceBase" type="xsd:string" use="optional">
<xsd:annotation>
<xsd:documentation>
Specifies a local path where files will be served from. The local path gets mapped directly to the path on the 'serverUrl'.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="inbound-endpoint" substitutionGroup="mule:abstract-inbound-endpoint" type="ajaxInboundEndpointType">
<xsd:annotation>
<xsd:documentation>
Allows a Mule service to receive AJAX events over HTTP using a Jetty server. This is different from the
equivalent {{servlet-inbound-endpoint}} because it uses an embedded servlet container rather that
reliying on a pre-existing servlet container instance. This endpoint type should not be used if running
Mule embedded in a servlet container.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="ajaxInboundEndpointType">
<xsd:complexContent>
<!--
The only valid exchange-pattern is one-way which is the default. No need to make
the exchange-pattern attribute configurable.
-->
<xsd:attribute name="channel" type="xsd:string" use="required">
<xsd:annotation>
<xsd:documentation>
the ajax channel to bind the service endpoint to. This channel path is independent context
path that your application is deployed to in the servlet container.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="outbound-endpoint" substitutionGroup="mule:abstract-outbound-endpoint" type="ajaxOutboundEndpointType">
<xsd:annotation>
<xsd:documentation>
Allows a Mule service to send AJAX events over HTTP using Bayeux. JavaScript clients can register
interest in these events using the Mule JavaScript client.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="ajaxOutboundEndpointType">
<xsd:complexContent>
<!--
The only valid exchange-pattern is one-way which is the default. No need to make
the exchange-pattern attribute configurable.
-->
<xsd:attributeGroup ref="outboundCometdAttributes"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="endpoint" substitutionGroup="mule:abstract-global-endpoint" type="ajaxGlobalEndpointType">
<xsd:annotation>
<xsd:documentation>
Allows users to configure a global AJAX endpoint. Global endpoints can be referenced in the
configuration and further configuration added. Think of global endpoints as template endpoint
configurations. Using global endpoints has the advantage that endpoint configuration can be separated
from the service flow.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="ajaxGlobalEndpointType">
<xsd:complexContent>
<!--
The only valid exchange-pattern is one-way which is the default. No need to make
the exchange-pattern attribute configurable.
-->
<xsd:attribute name="channel" type="xsd:string" use="required">
<xsd:annotation>
<xsd:documentation>
the ajax channel to bind the service endpoint to. This channel path is independent context
path that your application is deployed to in the servlet container.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<!-- SERVLET ENDPOINTS -->
<xsd:annotation>
<xsd:documentation>
Allows a Mule service to receive AJAX events sent via a servlet container. This endpoint should be used if Mule is embedded inside a servlet container. This endpoint will bind to the servlet http connection (typically port 8080).
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:annotation>
<xsd:documentation>
Allows a Mule service endpoint to send AJAX events to a browser using cometd. The default outbound transformer will convert the payload of the event to JSON, The only other formats that are useful at the browser are XML and plain text. However, neither are as easierto use and JSON is recommended. To use a different format you just need to add a different transformer to the endpoint endpoint configuration.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="servlet-endpoint" substitutionGroup="mule:abstract-global-endpoint" type="ajaxGlobalEndpointType">
<xsd:annotation>
<xsd:documentation>
Allows users to configure a global Servlet endpoint.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:attributeGroup name="outboundCometdAttributes">
<xsd:attribute name="channel" type="xsd:string" use="required">
<xsd:annotation>
<xsd:documentation>
the ajax channel to bind the service endpoint to. This channel path is independent context path that
your application is deployed to in the servlet container.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="cacheMessages" type="xsd:boolean">
<xsd:annotation>
<xsd:documentation>
If set to true the dispatcher will cache messages if there are no clients subscribed to this
channel.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="messageCacheSize" type="xsd:int">
<xsd:annotation>
<xsd:documentation>
If cache messages is set to true, this value determines the size of the memory cache. The cache
will automatically expire older items to make room for newer items.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:attributeGroup>
<xsd:attributeGroup name="connectorAttibutes">
<xsd:attribute name="logLevel" type="mule:substitutableInt">
<xsd:annotation>
<xsd:documentation>
0=none, 1=info, 2=debug
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="timeout" type="mule:substitutableInt">
<xsd:annotation>
<xsd:documentation>
The server side poll timeout in milliseconds (default 250000). This is how long the server
will hold a reconnect request before responding.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="interval" type="mule:substitutableInt">
<xsd:annotation>
<xsd:documentation>
he client side poll timeout in milliseconds (default 0). How long a client will wait between
reconnects
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="maxInterval" type="mule:substitutableInt">
<xsd:annotation>
<xsd:documentation>
The max client side poll timeout in milliseconds (default 30000). A client will be removed
if a connection is not received in this time.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="jsonCommented" type="mule:substitutableBoolean">
<xsd:annotation>
<xsd:documentation>
If "true" (default) then the server will accept JSON wrapped in a comment and will generate
JSON wrapped in a comment. This is a defence against Ajax Hijacking.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="multiFrameInterval" type="mule:substitutableInt">
<xsd:annotation>
<xsd:documentation>
The client side poll timeout if multiple connections are detected from the same browser
(default 1500).
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="refsThreshold" type="mule:substitutableInt">
<xsd:annotation>
<xsd:documentation>
The number of message refs at which the a single message response will be cached instead of
being generated for every client delivered to. Done to optimize a single message being sent
to multiple clients.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<!--TODO SUPPORT FILTERS-->
</xsd:attributeGroup>
</xsd:schema>

XML schema documentation generated with DocFlex/XML SDK 1.8.1b6 using DocFlex/XML XSDDoc 2.2.1 template set. All content model diagrams generated by Altova XMLSpy via DocFlex/XML XMLSpy Integration.