<?xml version = "1.0" encoding = "UTF-8"?>
<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd" parameterReloadSecs="5" >
	<providers>
		<!-- FileGateway -->
		<fs-provider name="firstFSprovider">
			<fs-bus busid="EventFileProvider" >
				<fs-message-filter
					directory="C:\Projekte_camunda\EsbJbpmExample\build\dirs\input"
					input-suffix=".txt"
					work-suffix=".work"
					post-delete="false"
					post-directory="C:\Projekte_camunda\EsbJbpmExample\build\dirs\output"
					post-suffix=".done"
					error-delete="false"
					error-directory="C:\Projekte_camunda\EsbJbpmExample\build\dirs\error"
					error-suffix=".error"/>
			</fs-bus>
		</fs-provider>
		<jms-provider name="JBossMessaging" connection-factory="ConnectionFactory">
			<jms-bus busid="FilePickupESBChannel">
				<jms-message-filter dest-type="QUEUE" dest-name="FilePickupQueue"/>
			</jms-bus>
			<jms-bus busid="CreateCaseESBChannel">
				<jms-message-filter dest-type="QUEUE" dest-name="CreateCaseQueue"/>
			</jms-bus>
			<jms-bus busid="CaseCompletionESBChannel">
				<jms-message-filter dest-type="QUEUE" dest-name="CaseCompletionQueue"/>
			</jms-bus>
			<jms-bus busid="CaseCompletionGWChannel">
				<jms-message-filter dest-type="QUEUE" dest-name="CaseCompletionGatewayQueue"/>
			</jms-bus>
		</jms-provider>
	</providers>
	<services>
		<service category="EsbShowcase" name="FilePickupService" description="pick up events">
			<listeners>
				<fs-listener name="File-Gateway" busidref="EventFileProvider"
						maxThreads="1" is-gateway="true" schedule-frequency="10"/>
				<jms-listener name="ESB-Listener" busidref="FilePickupESBChannel" maxThreads="1"/>
			</listeners>
			<actions>
	            <action name="readFile" class="com.camunda.esbex.esbaction.ReadFileContentAction" />
	            <action name="dump1" class="org.jboss.soa.esb.actions.SystemPrintln">
	                <property name="printfull" value="true"/>
	            </action>		
	            <action name="startProcessInstance" class="org.jboss.soa.esb.services.jbpm.actions.BpmProcessor">
	               <property name="command" value="StartProcessInstanceCommand" />
	               <property name="process-definition-name" value="EsbShowcase"/>   	               
	               <property name="object-paths">                        
	                   <object-path esb="BODY_CONTENT" bpm="theBody" />
	                   <object-path esb="content" bpm="caseContent" /> 
	               </property>
	            </action>
	            <action name="dump2" class="org.jboss.soa.esb.actions.SystemPrintln">
	                <property name="printfull" value="true"/>
	            </action>
			</actions>
		</service>	
        <service category="EsbShowcase" name="CreateCaseService" description="invoked within the process">
            <listeners>
                <jms-listener name="ESB-Listener" busidref="CreateCaseESBChannel" maxThreads="1"/>
            </listeners>
            <actions>
	           <action name="dump1" class="org.jboss.soa.esb.actions.SystemPrintln">
	               <property name="message" value="CreateCaseService:dump1"/>
	               <property name="printfull" value="true"/>
	           </action> 			            
               <action name="prepareWSParam" class="com.camunda.esbex.esbaction.PrepareWebserviceParameter" />
	           <action name="dump2" class="org.jboss.soa.esb.actions.SystemPrintln">
	               <property name="message" value="CreateCaseService:dump2"/>
	               <property name="printfull" value="true"/>
	           </action> 			            
				<action name="soapui-client-action" class="org.jboss.soa.esb.actions.soap.SOAPClient">
					<property name="wsdl" value="http://127.0.0.1:8080/casemanagement-casemanagement./CaseManagementService?wsdl" />
					<!--  <property name="paramsLocation" value="ws-parameter"/> maybe doesn't work because of Bug JBESB1409 -->
					<property name="operation" value="createCase" />
 					<property name="responseAsOgnlMap" value="true" />	
					<property name="SOAPAction" value="createCase" />				
				</action>	            
	           <action name="dump3" class="org.jboss.soa.esb.actions.SystemPrintln">
	               <property name="message" value="CreateCaseService:dump3"/>
	               <property name="printfull" value="true"/>
	           </action> 			            
            </actions>
        </service>
        <service category="EsbShowcase" name="CaseCompletionService" description="signal process instance after case completion">
            <listeners>
                <jms-listener name="JMS-Gateway" busidref="CaseCompletionGWChannel" maxThreads="1" is-gateway="true" />
                <jms-listener name="ESB-Listener" busidref="CaseCompletionESBChannel" maxThreads="1"/>
            </listeners>
            <actions>
   	              <action name="dump5" class="org.jboss.soa.esb.actions.SystemPrintln">
		               <property name="printfull" value="true"/>
		          </action> 			            
   	              <action name="correlate" class="com.camunda.esbex.esbaction.CorrelateCaseToProcessAction" />
                  <action  name="signalProcessInstance" class="org.jboss.soa.esb.services.jbpm.actions.BpmProcessor">
                    <property name="command" value="SignalCommand" />
                    <property name="object-paths">                        
                        <object-path esb="BODY_CONTENT" bpm="theBody" /> 
                        <object-path esb="body" bpm="theData" /> 
                    </property>
                 </action>
            </actions>
        </service>
      </services>
</jbossesb>
