Red Hat Training

A Red Hat training course is available for Red Hat Fuse

37.7. TypeConverter for SAXSource

Overview

Apache Camel supports a type converter mechanism, which is used to perform implicit and explicit type conversions of message bodies and message headers. The type converter mechanism is extensible and it so happens that the provider demonstration requires a custom type converter that can convert String objects to SAXSource objects.

String to SAXSource type converter

The String to SAXSource type converter is implemented in the AdditionalConverters class, as follows:
// Java
package com.fusesource.customerwscamelcxfprovider;

import java.io.ByteArrayInputStream;
import javax.xml.transform.sax.SAXSource;
import org.apache.camel.Converter;
import org.xml.sax.InputSource;

@Converter
public class AdditionalConverters {
  
  @Converter
  public static SAXSource toSAXSource(String xml) { 
      return new SAXSource(new InputSource(new ByteArrayInputStream(xml.getBytes())));
  }
}

Reference

For full details of the type converter mechanism in Apache Camel, see Section 40.3, “Built-In Type Converters” and Chapter 42, Type Converters.