<?xml version="1.0" encoding="UTF-8"?>
<!--
 !
 ! Copyright 2006 The Apache Software Foundation.
 !
 ! Licensed 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.
 !-->
<serviceGroup>
    <service name="EventBrokerService" scope="transportsession">

        <transports>
            <transport>https</transport>
        </transports>
        <description>
            To administer eventing for all the services.
        </description>
        <parameter name="AuthorizationAction" locked="false">/permission/admin/manage/event</parameter>
        <operation name="renew">
			<messageReceiver class="org.wso2.carbon.event.ws.internal.receivers.CarbonEventingMessageReceiver"/>
			<actionMapping>http://schemas.xmlsoap.org/ws/2004/08/eventing/Renew</actionMapping>
			<outputActionMapping>http://schemas.xmlsoap.org/ws/2004/08/eventing/RenewResponse</outputActionMapping>
            <parameter name="AuthorizationAction" locked="false">/permission/admin/manage/event</parameter>
		</operation>

		<operation name="getStatus">
			<messageReceiver class="org.wso2.carbon.event.ws.internal.receivers.CarbonEventingMessageReceiver"/>
			<actionMapping>http://schemas.xmlsoap.org/ws/2004/08/eventing/GetStatus</actionMapping>
			<outputActionMapping>http://schemas.xmlsoap.org/ws/2004/08/eventing/GetStatusResponse</outputActionMapping>
            <parameter name="AuthorizationAction" locked="false">/permission/admin/manage/event</parameter>
		</operation>

		<operation name="subscriptionEnd">
			<messageReceiver class="org.wso2.carbon.event.ws.internal.receivers.CarbonEventingMessageReceiver"/>
			<actionMapping>http://schemas.xmlsoap.org/ws/2004/08/eventing/SubscriptionEnd</actionMapping>
            <parameter name="AuthorizationAction" locked="false">/permission/admin/manage/event</parameter>
		</operation>

		<operation name="subscribe">
			<messageReceiver class="org.wso2.carbon.event.ws.internal.receivers.CarbonEventingMessageReceiver"/>
			<actionMapping>http://schemas.xmlsoap.org/ws/2004/08/eventing/Subscribe</actionMapping>
			<outputActionMapping>http://schemas.xmlsoap.org/ws/2004/08/eventing/SubscribeResponse</outputActionMapping>
            <parameter name="AuthorizationAction" locked="false">/permission/admin/manage/event</parameter>
		</operation>

		<operation name="unsubscribe">
			<messageReceiver class="org.wso2.carbon.event.ws.internal.receivers.CarbonEventingMessageReceiver"/>
			<actionMapping>http://schemas.xmlsoap.org/ws/2004/08/eventing/Unsubscribe</actionMapping>
			<outputActionMapping>http://schemas.xmlsoap.org/ws/2004/08/eventing/UnsubscribeResponse</outputActionMapping>
            <parameter name="AuthorizationAction" locked="false">/permission/admin/manage/event</parameter>
		</operation>

		<operation name="getSubscriptions">
			<messageReceiver class="org.wso2.carbon.event.ws.internal.receivers.CarbonEventingMessageReceiver"/>
			<actionMapping>http://ws.apache.org/ws/2007/05/eventing-extended/getSubscriptions</actionMapping>
			<outputActionMapping>http://ws.apache.org/ws/2007/05/eventing-extended/getSubscriptionsResponse</outputActionMapping>
            <parameter name="AuthorizationAction" locked="false">/permission/admin/manage/event</parameter>
		</operation>
		
		<operation name="installEventSink">
			<messageReceiver class="org.wso2.carbon.event.ws.internal.receivers.CarbonEventingMessageReceiver"/>
			<actionMapping>http://schemas.xmlsoap.org/ws/2004/08/eventing/installEventSink</actionMapping>
			<outputActionMapping>http://schemas.xmlsoap.org/ws/2004/08/eventing/installEventSinkResponse</outputActionMapping>
            <parameter name="AuthorizationAction" locked="false">/permission/admin/manage/event</parameter>
		</operation>		
		
		
		<operation name="publish">
			<messageReceiver
				class="org.wso2.carbon.event.ws.internal.receivers.CarbonEventingMessageReceiver" />
            <parameter name="AuthorizationAction" locked="false">/permission/admin/manage/event</parameter>
		</operation>
        
        <parameter name="adminService" locked="true">true</parameter>
     </service>
     
     <service name="EventPublishService" scope="transportsession">
        <parameter name="AuthorizationAction" locked="false">/permission/admin/manage/event</parameter>
        <transports>
            <transport>http</transport>
            <transport>https</transport>
        </transports>
        <description>
            To Publish to Broker Service
        </description>
        <operation name="publish">
			<messageReceiver
				class="org.wso2.carbon.event.ws.internal.receivers.CarbonEventingMessageReceiver" />
            <parameter name="AuthorizationAction" locked="false">/permission/admin/manage/event</parameter>
		</operation>
	</service>
	
    <parameter name="hiddenService" locked="true">true</parameter>
    <!-- 
    <parameter name="AuthorizationAction" locked="true">manage-configuration</parameter>
     -->
</serviceGroup>
