Class SoapOperationInboundConnectorBase<T>

Type Parameters:
T - Service interface type
All Implemented Interfaces:
ConnectorDefinition, InboundConnectorDefinition<org.apache.camel.model.RoutesDefinition>, DeclarativeElement, Orchestratable<ConnectorOrchestrationInfo>, IntegrationScenarioProviderDefinition, org.springframework.beans.factory.Aware, org.springframework.context.ApplicationContextAware

public abstract class SoapOperationInboundConnectorBase<T> extends GenericInboundConnectorBase
Base class for SOAP inbound connectors.

This class allows to bind one operation of a SOAP service interface to the integration scenario of the connector.

SIP will automatically create a SOAP service for the provided service interface and initiate a route that will invoke this connector only if the specified operation/method is called. It is possible to create multiple connectors that use the same service interface. However, no more than one connector can be specified for the same service and operation pair.

The base implementation will bind JAXB marshallers automatically.

In standard cases, adapter developers need only to implement getServiceInterfaceClass() and getServiceOperationName().

  • Constructor Details

    • SoapOperationInboundConnectorBase

      protected SoapOperationInboundConnectorBase()
  • Method Details

    • defineRequestUnmarshalling

      protected Optional<UnmarshallerDefinition> defineRequestUnmarshalling()
      Description copied from class: GenericInboundConnectorBase
      Handle meant to be overloaded if the definition of an unmarshaller for the request type is needed.
      Overrides:
      defineRequestUnmarshalling in class GenericInboundConnectorBase
      Returns:
      Unmarshaller for the request type
    • getJaxbContextPathForRequestModel

      protected String getJaxbContextPathForRequestModel()
      Returns the JAXB context path for the request model.
      Returns:
      Context path - defaults to the package name of the request model class
    • defineResponseMarshalling

      protected Optional<MarshallerDefinition> defineResponseMarshalling()
      Description copied from class: GenericInboundConnectorBase
      Handle meant to be overloaded if the definition of a marshaller for the response type is needed.
      Overrides:
      defineResponseMarshalling in class GenericInboundConnectorBase
      Returns:
      Marshaller for response type
    • getJaxbContextPathForResponseModel

      protected Optional<String> getJaxbContextPathForResponseModel()
      Returns the JAXB context path for the response model.
      Returns:
      Context path - defaults to the package name of the response model class
    • defineInitiatingEndpoint

      protected final org.apache.camel.builder.EndpointConsumerBuilder defineInitiatingEndpoint()
      Description copied from class: GenericInboundConnectorBase
      Defines the initiating endpoint for this connector.
      Specified by:
      defineInitiatingEndpoint in class GenericInboundConnectorBase
      Returns:
      the initiating endpoint
      See Also:
      • StaticEndpointBuilders
      • FileEndpointBuilderFactory.FileEndpointBuilder
    • getSoapServiceTieInEndpoint

      public final org.apache.camel.builder.endpoint.dsl.DirectEndpointBuilderFactory.DirectEndpointBuilder getSoapServiceTieInEndpoint()
      Returns the endpoint used for this operation of the SOAP service
      Returns:
    • getServiceInterfaceClass

      public Class<T> getServiceInterfaceClass()
      Returns the service interface class

      This is typically the service interface generated from a WSDL resource

      Returns:
      Service interface class
    • getServiceOperationName

      public abstract String getServiceOperationName()
      Returns the name of the operation that should be bound to the connector/integration scenario
      Returns:
      Service operation name
    • getDataFormat

      protected org.apache.camel.converter.jaxb.JaxbDataFormat getDataFormat() throws jakarta.xml.bind.JAXBException
      Throws:
      jakarta.xml.bind.JAXBException