diff --git a/wrapperjakarta/pom.xml b/wrapperjakarta/pom.xml
index 4ce5cd464..081e17d78 100644
--- a/wrapperjakarta/pom.xml
+++ b/wrapperjakarta/pom.xml
@@ -68,6 +68,12 @@
+
+
+ com.fasterxml.jackson.core
+ jackson-core
+ 2.15.2
+
com.fasterxml.jackson.core
diff --git a/wrapperjakarta/src/main/java/com/genexus/ws/JAXRSObjectMapper.java b/wrapperjakarta/src/main/java/com/genexus/ws/JAXRSObjectMapper.java
new file mode 100644
index 000000000..027625ab8
--- /dev/null
+++ b/wrapperjakarta/src/main/java/com/genexus/ws/JAXRSObjectMapper.java
@@ -0,0 +1,29 @@
+package com.genexus.ws;
+
+import com.fasterxml.jackson.core.StreamReadConstraints;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import jakarta.ws.rs.ext.ContextResolver;
+import jakarta.ws.rs.ext.Provider;
+
+@Provider
+public class JAXRSObjectMapper implements ContextResolver {
+
+ private final ObjectMapper mapper;
+
+ public JAXRSObjectMapper() {
+ this.mapper = createObjectMapper();
+ }
+
+ @Override
+ public ObjectMapper getContext(Class> type) {
+ return mapper;
+ }
+
+ private ObjectMapper createObjectMapper() {
+ ObjectMapper mapper = new ObjectMapper();
+ String bodyLengthLimit = System.getProperty("gx.jackson.bodylengthlimit");
+ if (bodyLengthLimit != null)
+ mapper.getFactory().setStreamReadConstraints(StreamReadConstraints.builder().maxStringLength(Integer.parseInt(bodyLengthLimit)).build());
+ return mapper;
+ }
+}
diff --git a/wrapperjavax/src/main/java/com/genexus/ws/JAXRSObjectMapper.java b/wrapperjavax/src/main/java/com/genexus/ws/JAXRSObjectMapper.java
new file mode 100644
index 000000000..6ac300b71
--- /dev/null
+++ b/wrapperjavax/src/main/java/com/genexus/ws/JAXRSObjectMapper.java
@@ -0,0 +1,25 @@
+package com.genexus.ws;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+import javax.ws.rs.ext.ContextResolver;
+import javax.ws.rs.ext.Provider;
+
+@Provider
+public class JAXRSObjectMapper implements ContextResolver {
+
+ private final ObjectMapper mapper;
+
+ public JAXRSObjectMapper() {
+ this.mapper = createObjectMapper();
+ }
+
+ @Override
+ public ObjectMapper getContext(Class> type) {
+ return mapper;
+ }
+
+ private ObjectMapper createObjectMapper() {
+ ObjectMapper mapper = new ObjectMapper();
+ return mapper;
+ }
+}