diff --git a/activiti/activiti-config/src/test/java/org/apache/servicemix/activiti/config/CamelAwareELResolverTest.java b/activiti/activiti-config/src/test/java/org/apache/servicemix/activiti/config/CamelAwareELResolverTest.java
index 0269c13..f1d75d9 100644
--- a/activiti/activiti-config/src/test/java/org/apache/servicemix/activiti/config/CamelAwareELResolverTest.java
+++ b/activiti/activiti-config/src/test/java/org/apache/servicemix/activiti/config/CamelAwareELResolverTest.java
@@ -1,3 +1,19 @@
+/*
+ * 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.
+ */
 package org.apache.servicemix.activiti.config;
 
 import org.activiti.engine.impl.javax.el.ELContext;
diff --git a/assembly/src/main/filtered-resources/startup-obr.properties b/assembly/src/main/filtered-resources/startup-obr.properties
index 1670ece..5eaf2e1 100644
--- a/assembly/src/main/filtered-resources/startup-obr.properties
+++ b/assembly/src/main/filtered-resources/startup-obr.properties
@@ -1,3 +1,19 @@
+#
+#    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.
+#
 
 # enabling features OBR resolver support
 org/apache/felix/org.apache.felix.bundlerepository/${felix.obr.version}/org.apache.felix.bundlerepository-${felix.obr.version}.jar=10
diff --git a/assembly/src/main/resources/setenv-unix b/assembly/src/main/resources/setenv-unix
index 899b597..3e3761b 100644
--- a/assembly/src/main/resources/setenv-unix
+++ b/assembly/src/main/resources/setenv-unix
@@ -1 +1,18 @@
+#
+#    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.
+#
+
 export JAVA_MAX_PERM_MEM=256M
diff --git a/assembly/src/main/resources/setenv-win b/assembly/src/main/resources/setenv-win
index d658385..ba8a743 100644
--- a/assembly/src/main/resources/setenv-win
+++ b/assembly/src/main/resources/setenv-win
@@ -1 +1,18 @@
+rem
+rem    Licensed to the Apache Software Foundation (ASF) under one or more
+rem    contributor license agreements.  See the NOTICE file distributed with
+rem    this work for additional information regarding copyright ownership.
+rem    The ASF licenses this file to You under the Apache License, Version 2.0
+rem    (the "License"); you may not use this file except in compliance with
+rem    the License.  You may obtain a copy of the License at
+rem
+rem       http://www.apache.org/licenses/LICENSE-2.0
+rem
+rem    Unless required by applicable law or agreed to in writing, software
+rem    distributed under the License is distributed on an "AS IS" BASIS,
+rem    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+rem    See the License for the specific language governing permissions and
+rem    limitations under the License.
+rem
+
 set JAVA_MAX_PERM_MEM=256M
diff --git a/examples/akka/akka-camel/pom.xml b/examples/akka/akka-camel/pom.xml
index 92a4bcb..36a3f93 100644
--- a/examples/akka/akka-camel/pom.xml
+++ b/examples/akka/akka-camel/pom.xml
@@ -1,6 +1,24 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
 
+  <!--
+
+    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.
+  -->
+
   <parent>
     <artifactId>akka-examples</artifactId>
     <groupId>org.apache.servicemix.examples</groupId>
diff --git a/examples/akka/akka-camel/src/main/resources/application.conf b/examples/akka/akka-camel/src/main/resources/application.conf
index 17a8cc2..b55b303 100644
--- a/examples/akka/akka-camel/src/main/resources/application.conf
+++ b/examples/akka/akka-camel/src/main/resources/application.conf
@@ -1,3 +1,22 @@
+################################################################################
+#
+#    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.
+#
+################################################################################
+
 akka {
   actor.deployment {
   # there's no extra configuration here at the moment, but you could
diff --git a/examples/cxf/cxf-jaxrs-blueprint/src/main/resources/org/apache/servicemix/examples/cxf/jaxrs/client/add_customer.xml b/examples/cxf/cxf-jaxrs-blueprint/src/main/resources/org/apache/servicemix/examples/cxf/jaxrs/client/add_customer.xml
index 0b2af7f..0631ef4 100755
--- a/examples/cxf/cxf-jaxrs-blueprint/src/main/resources/org/apache/servicemix/examples/cxf/jaxrs/client/add_customer.xml
+++ b/examples/cxf/cxf-jaxrs-blueprint/src/main/resources/org/apache/servicemix/examples/cxf/jaxrs/client/add_customer.xml
@@ -1,3 +1,20 @@
+<!--
+
+    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.
+-->
 <Customer>
   <name>Jack</name>
 </Customer> 
diff --git a/examples/cxf/cxf-jaxrs-blueprint/src/main/resources/org/apache/servicemix/examples/cxf/jaxrs/client/update_customer.xml b/examples/cxf/cxf-jaxrs-blueprint/src/main/resources/org/apache/servicemix/examples/cxf/jaxrs/client/update_customer.xml
index 9bdb64b..83c7a25 100755
--- a/examples/cxf/cxf-jaxrs-blueprint/src/main/resources/org/apache/servicemix/examples/cxf/jaxrs/client/update_customer.xml
+++ b/examples/cxf/cxf-jaxrs-blueprint/src/main/resources/org/apache/servicemix/examples/cxf/jaxrs/client/update_customer.xml
@@ -1,3 +1,20 @@
+<!--
+
+    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.
+-->
 <Customer>
   <name>Mary</name>
   <id>123</id>
diff --git a/examples/cxf/cxf-jaxrs/src/main/resources/org/apache/servicemix/examples/cxf/jaxrs/client/add_customer.xml b/examples/cxf/cxf-jaxrs/src/main/resources/org/apache/servicemix/examples/cxf/jaxrs/client/add_customer.xml
index 0b2af7f..0631ef4 100644
--- a/examples/cxf/cxf-jaxrs/src/main/resources/org/apache/servicemix/examples/cxf/jaxrs/client/add_customer.xml
+++ b/examples/cxf/cxf-jaxrs/src/main/resources/org/apache/servicemix/examples/cxf/jaxrs/client/add_customer.xml
@@ -1,3 +1,20 @@
+<!--
+
+    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.
+-->
 <Customer>
   <name>Jack</name>
 </Customer> 
diff --git a/examples/cxf/cxf-jaxrs/src/main/resources/org/apache/servicemix/examples/cxf/jaxrs/client/update_customer.xml b/examples/cxf/cxf-jaxrs/src/main/resources/org/apache/servicemix/examples/cxf/jaxrs/client/update_customer.xml
index 9bdb64b..83c7a25 100644
--- a/examples/cxf/cxf-jaxrs/src/main/resources/org/apache/servicemix/examples/cxf/jaxrs/client/update_customer.xml
+++ b/examples/cxf/cxf-jaxrs/src/main/resources/org/apache/servicemix/examples/cxf/jaxrs/client/update_customer.xml
@@ -1,3 +1,20 @@
+<!--
+
+    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.
+-->
 <Customer>
   <name>Mary</name>
   <id>123</id>
diff --git a/examples/cxf/cxf-ws-addressing/src/main/resources/org/apache/servicemix/examples/cxf/wsaddressing/request.xml b/examples/cxf/cxf-ws-addressing/src/main/resources/org/apache/servicemix/examples/cxf/wsaddressing/request.xml
index d0756d7..eb00d1b 100644
--- a/examples/cxf/cxf-ws-addressing/src/main/resources/org/apache/servicemix/examples/cxf/wsaddressing/request.xml
+++ b/examples/cxf/cxf-ws-addressing/src/main/resources/org/apache/servicemix/examples/cxf/wsaddressing/request.xml
@@ -1,4 +1,21 @@
 <?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.
+-->
 <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Header>
       <MessageID xmlns="http://www.w3.org/2005/08/addressing">urn:uuid:123456789</MessageID>
diff --git a/examples/cxf/cxf-ws-rm/src/main/resources/HelloWorld.wsdl b/examples/cxf/cxf-ws-rm/src/main/resources/HelloWorld.wsdl
index 4450026..ca75272 100644
--- a/examples/cxf/cxf-ws-rm/src/main/resources/HelloWorld.wsdl
+++ b/examples/cxf/cxf-ws-rm/src/main/resources/HelloWorld.wsdl
@@ -1,4 +1,23 @@
-<?xml version='1.0' encoding='UTF-8'?><wsdl:definitions name="HelloWorldImplService" targetNamespace="http://cxf.examples.servicemix.apache.org/" xmlns:ns1="http://schemas.xmlsoap.org/soap/http" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://cxf.examples.servicemix.apache.org/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+<?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.
+-->
+<wsdl:definitions name="HelloWorldImplService" targetNamespace="http://cxf.examples.servicemix.apache.org/" xmlns:ns1="http://schemas.xmlsoap.org/soap/http" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://cxf.examples.servicemix.apache.org/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <wsdl:types>
     <xs:schema attributeFormDefault="unqualified" elementFormDefault="unqualified" targetNamespace="http://cxf.examples.servicemix.apache.org/" xmlns="http://cxf.examples.servicemix.apache.org/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
       <xs:complexType name="sayHi">
diff --git a/examples/cxf/cxf-ws-security-blueprint/src/main/resources/log4j.properties b/examples/cxf/cxf-ws-security-blueprint/src/main/resources/log4j.properties
index 36af21f..7c36afe 100644
--- a/examples/cxf/cxf-ws-security-blueprint/src/main/resources/log4j.properties
+++ b/examples/cxf/cxf-ws-security-blueprint/src/main/resources/log4j.properties
@@ -1,3 +1,20 @@
+#
+#    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.
+#
+
 # Root logger option
 log4j.rootLogger=INFO, stdout
 
diff --git a/examples/cxf/cxf-ws-security-osgi/src/main/resources/log4j.properties b/examples/cxf/cxf-ws-security-osgi/src/main/resources/log4j.properties
index 1da8230..215a032 100644
--- a/examples/cxf/cxf-ws-security-osgi/src/main/resources/log4j.properties
+++ b/examples/cxf/cxf-ws-security-osgi/src/main/resources/log4j.properties
@@ -1,3 +1,20 @@
+#
+#    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.
+#
+
 # Root logger option
 log4j.rootLogger=INFO, stdout
 
diff --git a/examples/cxf/cxf-ws-security-signature/src/main/resources/org/apache/servicemix/examples/cxf/request.xml b/examples/cxf/cxf-ws-security-signature/src/main/resources/org/apache/servicemix/examples/cxf/request.xml
index 568f684..8ae3d0b 100644
--- a/examples/cxf/cxf-ws-security-signature/src/main/resources/org/apache/servicemix/examples/cxf/request.xml
+++ b/examples/cxf/cxf-ws-security-signature/src/main/resources/org/apache/servicemix/examples/cxf/request.xml
@@ -1 +1,18 @@
+<!--
+
+    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.
+-->
 <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Header><wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" soap:mustUnderstand="1"><wsse:BinarySecurityToken EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" wsu:Id="X509-56A4FA49B9789303C913375794129791">MIICNjCCAZ8CBEo1POgwDQYJKoZIhvcNAQEEBQAwYjELMAkGA1UEBhMCSU4xCzAJBgNVBAgTAk1QMQ8wDQYDVQQHEwZJTkRPUkUxDzANBgNVBAoTBkFwYWNoZTEMMAoGA1UECxMDRGV2MRYwFAYDVQQDEw1NYXlhbmsgTWlzaHJhMB4XDTA5MDYxNDE4MDk0NFoXDTE5MDYxMjE4MDk0NFowYjELMAkGA1UEBhMCSU4xCzAJBgNVBAgTAk1QMQ8wDQYDVQQHEwZJTkRPUkUxDzANBgNVBAoTBkFwYWNoZTEMMAoGA1UECxMDRGV2MRYwFAYDVQQDEw1NYXlhbmsgTWlzaHJhMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCdPhcimx7/CFX4H8isKEKCbRK6Kr+qeCMCby9I/Q/NY1bNqy6nsD+Y5BxSc2yCUnyLsRdmAHIxUwRQ9X5s8FP9+T1nwuoPzBvjcoZqWgDhe9RvydkijuzsFan/PY4oemd5EIoQu80ZpcFqb00xyDY3DkPgymXNsZ2uAM1ccsx90QIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAGXIE7pFNInlyjHnq89zgvHJfZNE44El6Cd5V55JvL+LZUnynU2Y8WaUwD2Qvc1QTr9R7u6nhZ8abyB7TSx3idiN6KUSNtBHOeWUTmfGbAJqO/J6R2A9J20KCvss28D05rRI3z52VQHnMBzgirL6M5ClWBZfl2Q3bNKnOImjoNhK</wsse:BinarySecurityToken><ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Id="SIG-3"><ds:SignedInfo><ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"><ec:InclusiveNamespaces xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#" PrefixList="soap"/></ds:CanonicalizationMethod><ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><ds:Reference URI="#id-2"><ds:Transforms><ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"><ec:InclusiveNamespaces xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#" PrefixList=""/></ds:Transform></ds:Transforms><ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><ds:DigestValue>kK3EYmWcAMgQmq0d+yhzRuG4Myg=</ds:DigestValue></ds:Reference></ds:SignedInfo><ds:SignatureValue>H0MlO30M1NNQ1M8h1CYvRxWpCKYH9qTkRDpsIZCIdAkjW5lQlWNQ7svUCKpZZzo+dFlS/JeU1dHIXVp7JxB+dLiRBMuuJ4Z4ONwzsBA03Kx+/jNYc3aScLRwW85DMTaVnTqHLIPoO4uhJyUfKicOF3/BHp1A+Ctj5zeBb0LmIN8=</ds:SignatureValue><ds:KeyInfo Id="KI-56A4FA49B9789303C913375794129862"><wsse:SecurityTokenReference wsu:Id="STR-56A4FA49B9789303C913375794129893"><wsse:Reference URI="#X509-56A4FA49B9789303C913375794129791" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3"/></wsse:SecurityTokenReference></ds:KeyInfo></ds:Signature><wsse:UsernameToken wsu:Id="UsernameToken-1"><wsse:Username>clientx509v1</wsse:Username><wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">storepassword</wsse:Password></wsse:UsernameToken></wsse:Security></soap:Header><soap:Body xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="id-2"><ns2:sayHello xmlns:ns2="http://cxf.apache.org/wsse/handler/helloworld"><toWhom>CXF</toWhom></ns2:sayHello></soap:Body></soap:Envelope>
diff --git a/pom.xml b/pom.xml
index 8ce6505..273c374 100644
--- a/pom.xml
+++ b/pom.xml
@@ -476,19 +476,9 @@
                         </executions>
                         <configuration>
                             <reportFile>${project.build.directory}/${project.build.finalName}.rat</reportFile>
-                            <excludeSubProjects>false</excludeSubProjects>
                             <excludes>
-                                <exclude>**/target/**/*</exclude>
-                                <!-- IDEA files -->
-                                <exclude>**/*.iml</exclude>
-                                <exclude>**/*.ipr</exclude>
-                                <exclude>**/*.iws</exclude>
-                                <!-- Eclipse files -->
-                                <exclude>**/.*</exclude>
-                                <exclude>**/eclipse-classes/**/*</exclude>
-                                <exclude>**/dependency-reduced-pom.xml</exclude>
-                                <exclude>assembly/src/main/distribution/text/licenses/**</exclude>
-                                <exclude>cxf/cxf-transport-nmr/src/main/build-resources/wsdl.*</exclude>
+                                <exclude>**/*.csv</exclude>
+                                <exclude>**/src/main/resources/licenses/**</exclude>
                             </excludes>
                         </configuration>
                     </plugin>
