<!-- here we have Spring XML file with all the namespaces here in the top of the XML file -->
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:camel="http://camel.apache.org/schema/spring"
xmlns:cxf="http://camel.apache.org/schema/cxf"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd
http://camel.apache.org/schema/cxf http://camel.apache.org/schema/cxf/camel-cxf.xsd">
<!-- this is Spring XML example of the Camel route in the ReportIncidentRoutes class -->
<!-- this is for demonstration purpose, to show how you can use Camel with XML DSL -->
<!-- here we define the CXF endpoint, where {{port}} refers to a placeholder so we can define the port number
in an external .properties file -->
<cxf:cxfEndpoint id="reportIncident"
address="http://localhost:{{port}}/camel-example-reportincident/webservices/incident"
wsdlURL="etc/report_incident.wsdl"
serviceClass="org.apache.camel.example.reportincident.ReportIncidentEndpoint"/>
<!-- We use a bean to make the response bean that CXF expects -->
<bean id="responseBean" class="org.apache.camel.example.reportincident.MyBean"/>
<!-- this is the bean we use to generate the dynamic file name -->
<bean id="filenameGenerator" class="org.apache.camel.example.reportincident.FilenameGenerator"/>
<!-- this CamelContext contains the equivalent route from the Java DSL, but in XML
so end users can see how to implement the route in both Java and XML -->
<camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
<!-- property which contains port number -->
<!-- we have file:target/custom.properties which can be optional and override existing values, we use this for testing purpose -->
<camel:propertyPlaceholder id="properties" location="classpath:incident.properties,file:target/custom.properties"/>
<!-- this is the first route that uses CXF as web service -->
<route>
<from uri="tim"/>
<convertBodyTo type="org.apache.camel.example.reportincident.InputReportIncident"/>
<setHeader headerName="CamelFileName">
<method bean="filenameGenerator" method="generateFilename"/>
</setHeader>
<to uri="velocity:etc/MailBody.vm"/>
<to uri="file://target/subfolder"/>
<transform>
<method bean="responseBean" method="getOK"/>
</transform>
</route>
<!-- this is the 2nd route that pickup files and send them as emails -->
<route>
<from uri="file://target/subfolder"/>
<setHeader headerName="subject">
<constant>new incident reported</constant>
</setHeader>
<to uri="smtp://someone@localhost?password=secret&[email protected]"/>
</route>
</camelContext>
</beans>
<no id> symbols[2]
<no id>