// spring-boot-auto-configure options: START
:page-partial:
:doctitle: Camel Spring Boot Starter for soap

== Spring Boot Auto-Configuration

When using soap with Spring Boot make sure to use the following Maven dependency to have support for auto configuration:

[source,xml]
----
<dependency>
  <groupId>org.apache.camel.springboot</groupId>
  <artifactId>camel-soap-starter</artifactId>
  <version>x.x.x</version>
  <!-- use the same version as your Camel core version -->
</dependency>
----


The component supports 8 options, which are listed below.



[width="100%",cols="2,5,^1,2",options="header"]
|===
| Name | Description | Default | Type
| *camel.dataformat.soapjaxb.content-type-header* | Whether the data format should set the Content-Type header with the type from the data format if the data format is capable of doing so. For example application/xml for data formats marshalling to XML, or application/json for data formats marshalling to JSON etc. | false | Boolean
| *camel.dataformat.soapjaxb.context-path* | Package name where your JAXB classes are located. |  | String
| *camel.dataformat.soapjaxb.element-name-strategy-ref* | Refers to an element strategy to lookup from the registry. An element name strategy is used for two purposes. The first is to find a xml element name for a given object and soap action when marshaling the object into a SOAP message. The second is to find an Exception class for a given soap fault name. The following three element strategy class name is provided out of the box. QNameStrategy - Uses a fixed qName that is configured on instantiation. Exception lookup is not supported TypeNameStrategy - Uses the name and namespace from the XMLType annotation of the given type. If no namespace is set then package-info is used. Exception lookup is not supported ServiceInterfaceStrategy - Uses information from a webservice interface to determine the type name and to find the exception class for a SOAP fault All three classes is located in the package name org.apache.camel.dataformat.soap.name If you have generated the web service stub code with cxf-codegen or a similar tool then you probably will want to use the ServiceInterfaceStrategy. In the case you have no annotated service interface you should use QNameStrategy or TypeNameStrategy. |  | String
| *camel.dataformat.soapjaxb.enabled* | Whether to enable auto configuration of the soapjaxb data format. This is enabled by default. |  | Boolean
| *camel.dataformat.soapjaxb.encoding* | To overrule and use a specific encoding |  | String
| *camel.dataformat.soapjaxb.namespace-prefix-ref* | When marshalling using JAXB or SOAP then the JAXB implementation will automatic assign namespace prefixes, such as ns2, ns3, ns4 etc. To control this mapping, Camel allows you to refer to a map which contains the desired mapping. |  | String
| *camel.dataformat.soapjaxb.schema* | To validate against an existing schema. Your can use the prefix classpath:, file: or http: to specify how the resource should by resolved. You can separate multiple schema files by using the ',' character. |  | String
| *camel.dataformat.soapjaxb.version* | SOAP version should either be 1.1 or 1.2. Is by default 1.1 | 1.1 | String
|===
// spring-boot-auto-configure options: END
