alvinalexander.com | career | drupal | java | mac | mysql | perl | scala | uml | unix  

Apache CXF example source code file (jms.xsd)

This example Apache CXF source code file (jms.xsd) is included in the DevDaily.com "Java Source Code Warehouse" project. The intent of this project is to help you "Learn Java by Example" TM.

Java - Apache CXF tags/keywords

cxf, java, jms, jms, license, license, message, message, mqseries, replyto, replyto, see, soapjmsisfault, used

The Apache CXF jms.xsd source code

<?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.
-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
  xmlns:jms="http://cxf.apache.org/transports/jms" 
  xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 
  xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" 
  targetNamespace="http://cxf.apache.org/transports/jms"
  xmlns:pt="http://cxf.apache.org/configuration/parameterized-types" 
  elementFormDefault="qualified" jaxb:version="2.0">
  
    <xs:import namespace="http://schemas.xmlsoap.org/wsdl/"
        schemaLocation="http://schemas.xmlsoap.org/wsdl/2003-02-11.xsd"/>
    <xs:import namespace="http://cxf.apache.org/configuration/parameterized-types"
        schemaLocation="http://cxf.apache.org/schemas/configuration/parameterized-types.xsd"/>
    
    <!-- Valid wsdl elements -->
    <xs:element name="client" type="jms:ClientBehaviorPolicyType"/>
    <xs:element name="server" type="jms:ServerBehaviorPolicyType"/>
    <xs:element name="clientConfig" type="jms:ClientConfig"/>
    <xs:element name="serverConfig" type="jms:ServerConfig"/>
    <xs:element name="address" type="jms:AddressType"/>
    <xs:element name="sessionPool" type="jms:SessionPoolType"/>

    <xs:complexType name="SessionPoolType">
        <xs:annotation>
            <xs:documentation>JMS Session pool configuration policy
        </xs:annotation>
        <xs:complexContent>
            <xs:extension base="wsdl:tExtensibilityElement">
        		<xs:attribute name="lowWaterMark" type="pt:ParameterizedInt" default="20"/>
        		<xs:attribute name="highWaterMark" type="pt:ParameterizedInt" default="500" />
        	</xs:extension>
		</xs:complexContent>
    </xs:complexType>
    
    <xs:complexType name="ClientConfig">
    	<xs:complexContent>
    		<xs:extension base="wsdl:tExtensibilityElement">
    			<xs:attribute name="clientReceiveTimeout" type="pt:ParameterizedLong"
    				default="60000" />
    			<xs:attribute name="messageTimeToLive" type="pt:ParameterizedLong"
    				default="0" />
                <xs:attribute name="conduitSelectorPrefix" type="xs:string" use="optional"/>    				
                <xs:attribute name="useConduitIdSelector" type="pt:ParameterizedBoolean" use="optional"/>
                <xs:attribute name="enforceSpec" type="pt:ParameterizedBoolean" use="optional" default="true"/>
    		</xs:extension>
    	</xs:complexContent>
    </xs:complexType>

    <xs:complexType name="ServerConfig">
		<xs:complexContent>
            <xs:extension base="wsdl:tExtensibilityElement">
        		<xs:attribute name="messageTimeToLive" type="pt:ParameterizedLong" default="0" />
        		<xs:attribute name="durableSubscriptionClientId" type="xs:string" />
			</xs:extension>
		</xs:complexContent>        	
    </xs:complexType>

    <xs:complexType name="JMSPropertyType">
        <xs:sequence>
            <xs:element name="name" type="xs:string"/>
            <xs:element name="value" type="xs:string"/>
        </xs:sequence>
    </xs:complexType>
    
    <xs:complexType name="JMSMessageHeadersType">
        <xs:annotation>
            <xs:documentation>JMS properties.
        </xs:annotation>
        <xs:sequence>
            <xs:element name="property" type="jms:JMSPropertyType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
        
        <!-- JMS Header properties -->
        <xs:attribute name="JMSCorrelationID" type="xs:string"/>
        <xs:attribute name="JMSDeliveryMode" type="pt:ParameterizedInt"/>
        <xs:attribute name="JMSExpiration" type="pt:ParameterizedLong"/>
        <xs:attribute name="JMSMessageID" type="xs:string"/>
        <xs:attribute name="JMSPriority" type="pt:ParameterizedInt"/>
        <xs:attribute name="JMSRedelivered" type="pt:ParameterizedBoolean"/>
        <xs:attribute name="JMSReplyTo" type="xs:string"/>
        <xs:attribute name="JMSTimeStamp" type="pt:ParameterizedLong"/>
        <xs:attribute name="JMSType" type="xs:string"/>
        <xs:attribute name="TimeToLive" type="pt:ParameterizedLong"/>
        
        <!-- JMS Message properties for SOAP over JMS specification  -->
        <xs:attribute name="SOAPJMSTargetService" type="xs:string"/>
    	<xs:attribute name="SOAPJMSBindingVersion" type="xs:string"/>
    	<xs:attribute name="SOAPJMSContentType" type="xs:string"/>
    	<xs:attribute name="SOAPJMSSOAPAction" type="xs:anyURI"/>
    	<xs:attribute name="SOAPJMSIsFault" type="pt:ParameterizedBoolean"/>
    	<xs:attribute name="SOAPJMSRequestURI" type="xs:string"/>
    </xs:complexType>
    
    <!-- 
    <xs:complexType name="SOAPOverJMSMessageType">
    	<xs:annotation>
    		<xs:documentation>SOAP Over JMS Message Properties
    	</xs:annotation>
    	<xs:sequence>
    		<xs:element name="property" type="jms:JMSPropertyType" minOccurs="0" maxOccurs="unbounded"/>
    	</xs:sequence>
    	<xs:attribute name="SOAPJMSTargetService" type="xs:string"/>
    	<xs:attribute name="SOAPJMSBindingVersion" type="xs:string"/>
    	<xs:attribute name="SOAPJMSContentType" type="xs:string"/>
    	<xs:attribute name="SOAPJMSSOAPAction" type="xs:anyURI"/>
    	<xs:attribute name="SOAPJMSIsFault" type="xs:boolean"/>
    	<xs:attribute name="SOAPJMSRequestURI" type="xs:string"/>
    </xs:complexType>
     -->
    
    <xs:simpleType name="JMSClientReceiveTimeOut">
        <xs:restriction base="pt:ParameterizedLong"/>
    </xs:simpleType>
    
    <xs:simpleType name="DestinationStyleType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="queue"/>
            <xs:enumeration value="topic"/>
        </xs:restriction>
    </xs:simpleType>
   
   <xs:complexType name="JMSNamingPropertyType">
        <xs:annotation>
            <xs:documentation>
                javaNaming properties name/value pair.
            </xs:documentation>
        </xs:annotation>
        
        <xs:attribute name="name" type="xs:string" use="required">
            <xs:annotation>
                <xs:documentation>
                    Name of Java Naming Property
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="value" type="xs:string" use="required">
            <xs:annotation>
                <xs:documentation>
                    Value of Java Naming Property
                </xs:documentation>
            </xs:annotation>
        </xs:attribute> 
    </xs:complexType>
    
    <xs:simpleType name="MessageFormatType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="text"/>
            <xs:enumeration value="binary"/>
            <xs:enumeration value="byte"/>
        </xs:restriction>
    </xs:simpleType>
    
    <xs:complexType name="AddressType">
    	<xs:complexContent>
    		<xs:extension base="wsdl:tExtensibilityElement">
    			<xs:sequence>
    				<xs:element name="JMSNamingProperty"
    					type="jms:JMSNamingPropertyType" minOccurs="0"
    					maxOccurs="unbounded" />
    			</xs:sequence>
    			<xs:attribute name="destinationStyle"
    				type="jms:DestinationStyleType" default="queue">
    				<xs:annotation>
    					<xs:documentation>
    						JMS Destination style queue or topic.
    					</xs:documentation>
    				</xs:annotation>
    			</xs:attribute>

    			<xs:attribute name="jndiConnectionFactoryName"
    				type="xs:string" use="required">
    				<xs:annotation>
    					<xs:documentation>
    						Type of the JNDI Connection factory
    						queueConnectionFactory or
    						topicConnectionFactory.
    					</xs:documentation>
    				</xs:annotation>
    			</xs:attribute>
    			<xs:attribute name="jndiDestinationName"
    				type="xs:string">
    				<xs:annotation>
    					<xs:documentation>
    						Name of the JNDI Destination queue or topic.
    					</xs:documentation>
    				</xs:annotation>
    			</xs:attribute>

    			<xs:attribute name="jmsDestinationName"
    				type="xs:string">
    				<xs:annotation>
    					<xs:documentation>
    						JMS destination queue name or topic name.
    					</xs:documentation>
    				</xs:annotation>
    			</xs:attribute>

    			<xs:attribute name="jndiReplyDestinationName"
    				type="xs:string">
    				<xs:annotation>
    					<xs:documentation>
    						JMS Message Replyto destination when static
    						queues are used for reply.
    					</xs:documentation>
    				</xs:annotation>
    			</xs:attribute>

    			<xs:attribute name="jmsReplyDestinationName"
    				type="xs:string">
    				<xs:annotation>
    					<xs:documentation>
    						JMS Replyto destination queue name when
    						using static queues for reply.
    					</xs:documentation>
    				</xs:annotation>
    			</xs:attribute>
    			
    			<xs:attribute name="jndiReplyToDestinationName"
    				type="xs:string">
    				<xs:annotation>
    					<xs:documentation>
    						Used when the ReplyTo address on the message needs to be different
    						than the listening address of the consumer. This mostly applies to 
    						MQSeries users who are interacting with remote queues.
    					</xs:documentation>
    				</xs:annotation>
    			</xs:attribute>

    			<xs:attribute name="jmsReplyToDestinationName"
    				type="xs:string">
    				<xs:annotation>
    					<xs:documentation>
    						Used when the ReplyTo address on the message needs to be different
    						than the listening address of the consumer. This mostly applies to 
    						MQSeries users who are interacting with remote queues.
    					</xs:documentation>
    				</xs:annotation>
    			</xs:attribute>    			

    			<xs:attribute name="connectionUserName"
    				type="xs:string">
    				<xs:annotation>
    					<xs:documentation>
    						UserName to use while creating JMS
    						queue/topic connection.
    					</xs:documentation>
    				</xs:annotation>
    			</xs:attribute>
    			<xs:attribute name="connectionPassword"
    				type="xs:string">
    				<xs:annotation>
    					<xs:documentation>
    						Password to use while creating JMS
    						queue/topic connection.
    					</xs:documentation>
    				</xs:annotation>
    			</xs:attribute>
    			<xs:attribute name="useJms11" type="pt:ParameterizedBoolean" use="optional"/>
    			<xs:attribute name="reconnectOnException" type="pt:ParameterizedBoolean" use="optional"/>
    		</xs:extension>
    	</xs:complexContent>
    </xs:complexType>

    <xs:complexType name="ClientBehaviorPolicyType">
        <xs:complexContent>
            <xs:extension base="wsdl:tExtensibilityElement">
                <xs:attribute name="messageType" type="jms:MessageFormatType" default="text">
                    <xs:annotation>
                        <xs:documentation>Type of the JMS Message payload, currently supported text and binary.
                    </xs:annotation>
                </xs:attribute>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    
    <xs:complexType name="ServerBehaviorPolicyType">
        <xs:annotation>
            <xs:documentation>JMS configuration policy for CXF Server.
            These are used for configuring JMS port on CXF server side.
            </xs:documentation>
        </xs:annotation>
        <xs:complexContent>
            <xs:extension base="wsdl:tExtensibilityElement">
                <xs:annotation>
                    <xs:documentation>Sets selection criteria for messages received by server
                </xs:annotation>
                <xs:attribute name="messageSelector" type="xs:string">
                    <xs:annotation>
                        <xs:documentation>
                          JMS Message Selector attribute to filter messages from the queue.
                        </xs:documentation>
                    </xs:annotation>
                </xs:attribute>
                <xs:attribute name="useMessageIDAsCorrelationID" type="pt:ParameterizedBoolean" default="false">
                    <xs:annotation>
                        <xs:documentation>
                          Flag to indicate whether to use JMS Message Id as correlation ID. It is serverside only so should go in ServerPolicy
                        </xs:documentation>
                    </xs:annotation>
                </xs:attribute>
                <xs:attribute name="transactional" type="pt:ParameterizedBoolean" default="false">
                    <xs:annotation>
                        <xs:documentation>
                          Flag to specify whether to use JMS transaction support on server side.
                        </xs:documentation>
                    </xs:annotation>
                </xs:attribute>
                <xs:attribute name="durableSubscriberName" type="xs:string">
                    <xs:annotation>
                        <xs:documentation>
                           Specifies the name of the Durable Subscription
                        </xs:documentation>
                    </xs:annotation>
                </xs:attribute>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    
    <xs:complexType name="JMSFaultType">
    	<xs:sequence>
      		<xs:element name="FaultCode" type="xs:QName"/>
      		<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    	</xs:sequence>
    	<xs:anyAttribute namespace="##any" processContents="lax"/>
  	</xs:complexType>
    
</xs:schema>

Other Apache CXF examples (source code examples)

Here is a short list of links related to this Apache CXF jms.xsd source code file:

... this post is sponsored by my books ...

#1 New Release!

FP Best Seller

 

new blog posts

 

Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.

A percentage of advertising revenue from
pages under the /java/jwarehouse URI on this website is
paid back to open source projects.