= AS2 Component
:doctitle: AS2
:shortname: as2
:artifactid: camel-as2
:description: Transfer data securely and reliably using the AS2 protocol (RFC4130).
:since: 2.22
:supportlevel: Stable
:tabs-sync-option:
:component-header: Both producer and consumer are supported
//Manually maintained attributes
:camel-spring-boot-name: as2

*Since Camel {since}*

*{component-header}*

The AS2 component provides transport of EDI messages using the HTTP transfer protocol
as specified in https://tools.ietf.org/html/rfc4130[RFC4130]. 

Maven users will need to add the following dependency to their pom.xml
for this component:

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

== URI format

----
as2://apiName/methodName
----

apiName can be one of:

* client
* server


// component options: START
include::partial$component-configure-options.adoc[]
include::partial$component-endpoint-options.adoc[]
include::partial$component-endpoint-headers.adoc[]
// component options: END

[NOTE]
====
This is an API-based component, so per-call parameters can be supplied through `Camel`-prefixed
exchange headers in addition to the endpoint options. If the route consumes messages from untrusted
producers, strip these internal headers at the trust boundary -- for example with
`removeHeaders("Camel*")` -- before the message reaches this component, so that a sender cannot
override the API call. See xref:manual::security-model.adoc[the Camel security model] for details.
====


include::spring-boot:partial$starter.adoc[]
