diff --git a/src/main/java/de/ozgcloud/xta/client/XtaClient.java b/src/main/java/de/ozgcloud/xta/client/XtaClient.java
index c5c7492847e4b9d7006b30af6ac935906f5b05f7..afe601dfa9dc4b6c13c65048d9bf823d6b819ba3 100644
--- a/src/main/java/de/ozgcloud/xta/client/XtaClient.java
+++ b/src/main/java/de/ozgcloud/xta/client/XtaClient.java
@@ -84,9 +84,9 @@ public class XtaClient {
 	 * </p>
 	 *
 	 * @param processMessage The consumer to process each fetched message.
-	 * @return The transport reports for all fetched/processed messages. A message which has not been closed has an
-	 * {@link XtaMessageStatus#OPEN OPEN} status. If a message has been closed, the status is either {@link XtaMessageStatus#GREEN GREEN},
-	 * {@link XtaMessageStatus#YELLOW YELLOW} or {@link XtaMessageStatus#RED RED}.
+	 * @return The transport reports for all fetched/processed messages. A message which has not been closed has an {@link XtaMessageStatus#OPEN OPEN}
+	 * status. If a message has been closed, the status is either {@link XtaMessageStatus#GREEN GREEN}, {@link XtaMessageStatus#YELLOW YELLOW} or
+	 * {@link XtaMessageStatus#RED RED}.
 	 * @throws XtaClientException If a technical problem occurs while fetching messages.
 	 */
 	public List<XtaTransportReport> fetchMessages(@NotNull Consumer<XtaMessage> processMessage) throws XtaClientException {
@@ -200,7 +200,8 @@ public class XtaClient {
 	 * reader. If both checks pass, sends the message to the reader. Finally, returns the transport report for the sent message.
 	 * </p>
 	 * <p>
-	 * <b>Note:</b> message size and id are set by the server, and thus may initially be null.
+	 * <b>Note:</b> message size and id are set by the server, and thus may initially be null. This applies to the message metadata as well as
+	 * to the message and attachment files.
 	 * </p>
 	 *
 	 * @param messageWithoutMessageId The message to send without id and size.
diff --git a/src/main/java/de/ozgcloud/xta/client/config/XtaClientConfig.java b/src/main/java/de/ozgcloud/xta/client/config/XtaClientConfig.java
index a98b2ee4ab8c128ebd2dbe51f7a2b1f691575687..ffc3e923295669675e024795d70726d2cc2aec57 100644
--- a/src/main/java/de/ozgcloud/xta/client/config/XtaClientConfig.java
+++ b/src/main/java/de/ozgcloud/xta/client/config/XtaClientConfig.java
@@ -32,6 +32,9 @@ public class XtaClientConfig {
 	 * <p>
 	 * Usually, in order to use the client identifiers, an according client certificate needs to be configured.
 	 * </p>
+	 * <p>
+	 *     <b>Note:</b> The identifier type is assumed to be {@code xoev}.
+	 * </p>
 	 */
 	@Builder.Default
 	private final List<@Valid XtaIdentifier> clientIdentifiers = emptyList();
diff --git a/src/main/java/de/ozgcloud/xta/client/xdomea/XdomeaXtaMessageCreator.java b/src/main/java/de/ozgcloud/xta/client/xdomea/XdomeaXtaMessageCreator.java
index 05c1949899aef4596294624f72055859fd210620..17fc6b5fbcf9dec31c45aaa18793b23e97f5a655 100644
--- a/src/main/java/de/ozgcloud/xta/client/xdomea/XdomeaXtaMessageCreator.java
+++ b/src/main/java/de/ozgcloud/xta/client/xdomea/XdomeaXtaMessageCreator.java
@@ -22,6 +22,30 @@ import de.ozgcloud.xta.client.xdomea.reader.ZipFileEntryReader;
 import lombok.Builder;
 import lombok.RequiredArgsConstructor;
 
+/**
+ * Creator of {@link XtaMessage}s for Xdomea.
+ *
+ * <p>
+ *     The XdomeaXtaMessageCreator is used to create an {@link XtaMessage} for an Xdomea zip file.
+ *     The resulting message may be send via the {@link de.ozgcloud.xta.client.XtaClient XtaClient}.
+ * </p>
+ *
+ *
+ * Example:
+ * <pre>
+ * var xtaMessageCreator = XdomeaXtaMessageCreator.createInstance();
+ * var zipFileName = "d5be7468-e620-4126-a40e-61a7f9b46345_Geschaeftsgang.Geschaeftsgang.0201.zip";
+ * var zipFileContentDataHandler = new DataHandler(new FileDataSource("/path/to/" + zipFileName));
+ * var xdomeaXtaFile = XtaFile.builder()
+ *   .name(zipFileName)
+ *   .content(zipFileContentDataHandler)
+ *   .contentType("application/zip")
+ *   .build();
+ * var xtaMessage = xtaMessageCreator.createMessage(xdomeaXtaFile);
+ *
+ * XtaClient.from(...).sendMessage(xtaMessage);
+ * </pre>
+ */
 @Builder
 @RequiredArgsConstructor
 public class XdomeaXtaMessageCreator {
@@ -36,6 +60,21 @@ public class XdomeaXtaMessageCreator {
 		return XdomeaXtaMessageCreatorFactory.createInstance().create();
 	}
 
+	/**
+	 * Creates an {@link XtaMessage} from the given xdomea zip file.
+	 *
+	 * <p>
+	 * The zip file has to follow the XTA/Xdomea generic transport specification.
+	 * According to the specification, only the Xdomea messages of type 0201, 0401 and 0402 are supported.
+	 * </p>
+	 *
+	 * <p>
+	 *     <small>The XTA/Xdomea generic transport specification is unofficially available as <i>"Transportfestlegungen Generischer Antragsdienst.pdf"</i>.</small>
+	 * </p>
+	 * @param xdomeaZipFile the xdomea zip file
+	 * @return the xta message with metadata derived from the xdomea zip file
+	 * @throws XtaClientException if no valid metadata could be derived from the xdomea zip file.
+	 */
 	public XtaMessage createMessage(XtaFile xdomeaZipFile) throws XtaClientException {
 		return XtaMessage.builder()
 				.metaData(deriveValidMetaData(xdomeaZipFile))
diff --git a/src/test/java/de/ozgcloud/xta/client/extension/XtaMessageExampleLoader.java b/src/test/java/de/ozgcloud/xta/client/extension/XtaMessageExampleLoader.java
index 8fa45ece8e7128c5eae684261ad4fd84c89faaee..a4207e63d8e1969f0ac0465fdf64cb78fb91c1ed 100644
--- a/src/test/java/de/ozgcloud/xta/client/extension/XtaMessageExampleLoader.java
+++ b/src/test/java/de/ozgcloud/xta/client/extension/XtaMessageExampleLoader.java
@@ -17,6 +17,7 @@ import java.util.function.Supplier;
 import java.util.regex.Pattern;
 
 import jakarta.activation.DataHandler;
+import jakarta.activation.FileDataSource;
 import jakarta.annotation.Nullable;
 import jakarta.mail.util.ByteArrayDataSource;
 import jakarta.validation.constraints.NotBlank;
@@ -179,7 +180,7 @@ public class XtaMessageExampleLoader {
 	}
 
 	private static DataHandler createContentDataHandler(byte[] data) {
-		return new DataHandler(new ByteArrayDataSource(data, "application/octet-stream"));
+		return new DataHandler(new FileDataSource("application/octet-stream"));
 	}
 
 	private static byte[] readBytesFromResource(String path) {
diff --git a/src/test/java/de/ozgcloud/xta/client/xdomea/XdomeaXtaMessageCreatorITCase.java b/src/test/java/de/ozgcloud/xta/client/xdomea/XdomeaXtaMessageCreatorITCase.java
index 7ff3ffd6754a4682db3cf3c660134f77127a6ee0..84c3eea862fd6197ddae096f5f2171cb61f31cd2 100644
--- a/src/test/java/de/ozgcloud/xta/client/xdomea/XdomeaXtaMessageCreatorITCase.java
+++ b/src/test/java/de/ozgcloud/xta/client/xdomea/XdomeaXtaMessageCreatorITCase.java
@@ -22,7 +22,7 @@ class XdomeaXtaMessageCreatorITCase {
 
 	@BeforeEach
 	void setup() {
-		creator = XdomeaXtaMessageCreatorFactory.createInstance().create();
+		creator = XdomeaXtaMessageCreator.createInstance();
 	}
 
 	@DisplayName("create message")