Class SoapDataFormat
- java.lang.Object
-
- org.apache.camel.model.IdentifiedType
-
- org.apache.camel.model.DataFormatDefinition
-
- org.apache.camel.model.dataformat.SoapDataFormat
-
@Metadata(firstVersion="2.3.0", label="dataformat,transformation,xml", title="SOAP") public class SoapDataFormat extends DataFormatDefinition
Marshal Java objects to SOAP messages and back.
-
-
Constructor Summary
Constructors Constructor Description SoapDataFormat()
SoapDataFormat(String contextPath)
SoapDataFormat(String contextPath, Object elementNameStrategy)
SoapDataFormat(String contextPath, String elementNameStrategyRef)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String
getContextPath()
Object
getElementNameStrategy()
String
getElementNameStrategyRef()
String
getEncoding()
String
getNamespacePrefixRef()
String
getSchema()
String
getVersion()
void
setContextPath(String contextPath)
Package name where your JAXB classes are located.void
setElementNameStrategy(Object elementNameStrategy)
Sets an element strategy instance to use.void
setElementNameStrategyRef(String elementNameStrategyRef)
Refers to an element strategy to lookup from the registry.void
setEncoding(String encoding)
To overrule and use a specific encodingvoid
setNamespacePrefixRef(String namespacePrefixRef)
When marshalling using JAXB or SOAP then the JAXB implementation will automatic assign namespace prefixes, such as ns2, ns3, ns4 etc.void
setSchema(String schema)
To validate against an existing schema.void
setVersion(String version)
SOAP version should either be 1.1 or 1.2.-
Methods inherited from class org.apache.camel.model.DataFormatDefinition
getDataFormat, getDataFormatName, getShortName, setDataFormat, setDataFormatName
-
Methods inherited from class org.apache.camel.model.IdentifiedType
getId, setId
-
-
-
-
Method Detail
-
setContextPath
public void setContextPath(String contextPath)
Package name where your JAXB classes are located.
-
getContextPath
public String getContextPath()
-
setEncoding
public void setEncoding(String encoding)
To overrule and use a specific encoding
-
getEncoding
public String getEncoding()
-
setElementNameStrategyRef
public void setElementNameStrategyRef(String elementNameStrategyRef)
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.
-
getElementNameStrategyRef
public String getElementNameStrategyRef()
-
getVersion
public String getVersion()
-
setVersion
public void setVersion(String version)
SOAP version should either be 1.1 or 1.2. Is by default 1.1
-
setElementNameStrategy
public void setElementNameStrategy(Object elementNameStrategy)
Sets an element strategy instance to use. 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.
-
getElementNameStrategy
public Object getElementNameStrategy()
-
getNamespacePrefixRef
public String getNamespacePrefixRef()
-
setNamespacePrefixRef
public void setNamespacePrefixRef(String namespacePrefixRef)
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.
-
getSchema
public String getSchema()
-
setSchema
public void setSchema(String schema)
To validate against an existing schema. Your can use the prefix classpath:, file:* or *http: to specify how the resource should be resolved. You can separate multiple schema files by using the ',' character.
-
-