Get with rest api null error

hello friends, I am getting data with the api, but when I try to type db, a null error returns, I couldn’t find where I made the mistake. could you please help me…

i added a record manually to check the connection with db, it finds this record, and the newly arrived record freezes the null error, there is a log in almost all columns, but the error is not obvious

package com.axelor.apps.base.service;

import com.axelor.apps.base.AxelorException;
import com.axelor.apps.base.db.ProductCategory;
import com.axelor.apps.base.db.repo.ProductCategoryRepository;
import com.axelor.apps.base.service.advanced.imports.ActionService;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;

import javax.inject.Inject;
import javax.transaction.Transactional;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.logging.Logger;

import com.axelor.rpc.ActionRequest;
import com.axelor.rpc.ActionResponse;


public class WildberriesServiceImpl {

    @Inject
    private ProductCategoryRepository productCategoryRepository;

    private static final Logger logger = Logger.getLogger(WildberriesServiceImpl.class.getName());

    // Wildberries API URL ve Token
    private static final String API_URL = "https://content-api.wildberries.ru/content/v2/object/parent/all";
    private static final String API_TOKEN = "token";
    @Inject
    private ActionService actionService;

    @Transactional(rollbackOn = {Exception.class})
    public void downloadProductCategoriesFromWildberries(ActionRequest request, ActionResponse response) {
        try {
            testApiConnection(API_TOKEN);
            String jsonResponse = fetchJsonData(API_URL, API_TOKEN);
            fetchAndProcessCategories(jsonResponse);
            logger.info("Kategoriler başarıyla indirildi.");
            response.setAlert("Kategoriler başarıyla alındı.");
        } catch (Exception e) {
            logger.severe("Kategorileri indirirken hata: " + e.getMessage());
            response.setError("Kategoriler alınırken bir hata oluştu: " + e.getMessage());
        }
    }

    private void testApiConnection(String token) throws Exception {
        URL url = new URL("https://content-api.wildberries.ru/ping");
        HttpURLConnection connection = (HttpURLConnection) url.openConnection();
        connection.setRequestMethod("GET");
        connection.setRequestProperty("Authorization", "Bearer " + token);

        int responseCode = connection.getResponseCode();
        if (responseCode != HttpURLConnection.HTTP_OK) {
            throw new RuntimeException("API bağlantı testi başarısız: HTTP hata kodu " + responseCode);
        }

        try (BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()))) {
            StringBuilder response = new StringBuilder();
            String line;
            while ((line = in.readLine()) != null) {
                response.append(line);
            }
            logger.info("API bağlantı testi başarılı: " + response.toString());
        }
    }

    private String fetchJsonData(String apiUrl, String apiToken) throws Exception {
        URL url = new URL(apiUrl);
        HttpURLConnection connection = (HttpURLConnection) url.openConnection();
        connection.setRequestMethod("GET");
        connection.setRequestProperty("Authorization", "Bearer " + apiToken);

        int responseCode = connection.getResponseCode();
        if (responseCode != HttpURLConnection.HTTP_OK) {
            throw new RuntimeException("Veri alma işlemi başarısız: HTTP hata kodu " + responseCode);
        }

        try (BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()))) {
            StringBuilder response = new StringBuilder();
            String line;
            while ((line = in.readLine()) != null) {
                response.append(line);
            }
            return response.toString();
        }
    }

    private void fetchAndProcessCategories(String jsonResponse) throws AxelorException {
        logger.info("Ham JSON Yanıtı: " + jsonResponse);
        JsonObject jsonObject = JsonParser.parseString(jsonResponse).getAsJsonObject();

        if (jsonObject.has("data") && jsonObject.get("data").isJsonArray()) {
            JsonArray jsonArray = jsonObject.getAsJsonArray("data");
            List<ProductCategory> categories = new ArrayList<>();

            for (JsonElement element : jsonArray) {
                JsonObject categoryObject = element.getAsJsonObject();
                ProductCategory category = new ProductCategory();

                // wbProductCategoryId ve name değerlerini alıyoruz
                Integer wbProductCategoryId = categoryObject.get("id").getAsInt();
                String name = categoryObject.get("name").getAsString().toUpperCase(); // name'i uppercase yapıyoruz

                // Kategoriyi dolduruyoruz
                category.setId(wbProductCategoryId.longValue()); // Integer'ı Long'a dönüştürüyoruz
                category.setWbProductCategoryId(wbProductCategoryId);
                category.setName(name);
                category.setCode(String.valueOf(wbProductCategoryId)); // Kodu ID ile aynı yapıyoruz

                categories.add(category);
            }

            saveCategories(categories);
        } else {
            logger.severe("Data dizisi bulunamadı veya geçerli bir dizi değil.");
            throw new AxelorException(1, "Data dizisi bulunamadı veya geçerli bir dizi değil.");
        }
    }

    private void saveCategories(List<ProductCategory> categories) throws AxelorException {
        try {
            for (ProductCategory category : categories) {
                logger.info("İşleniyor kategori: " + category.getName());

                // Kategori mevcut mu kontrolü
                if (isCategoryExists(category)) {
                    logger.info("Kategori zaten mevcut, atlanıyor: " + category.getName());
                    continue;
                }

                // Explicit field loglama - tüm alanları tek tek logla
                logCategoryDetails(category);

                logger.info("Kaydetmeye çalışılıyor kategori: " + category.getName() + " wbProductCategoryId: " + category.getWbProductCategoryId());

                try {
                    productCategoryRepository.save(category);
                    logger.info("Başarıyla kaydedildi kategori: " + category.getName());
                } catch (Exception e) {
                    logger.severe("Kategori kaydedilirken hata oluştu: " + category.getName());

                    // Hata sırasında kayıt edilmeye çalışılan kategori detayları
                    logger.severe("Hata sırasında kayıt edilmeye çalışılan kategori: " + category);
                    logger.severe("Hata mesajı: " + e.getMessage());
                    logger.severe("Yığın izi: " + Arrays.toString(e.getStackTrace()));

                    throw new AxelorException(1, "Kategori kaydedilemedi: %s. Hata: %s", category.getName(), e.getMessage());
                }
            }
        } catch (Exception e) {
            logger.severe("Kategorileri işlerken genel hata: " + e.getMessage());
            throw new AxelorException(1, "Veritabanına kategoriler kaydedilemedi: %s. Hata: %s", e.getMessage(), e.getCause());
        }
    }

    // Explicit field loglama metodu - Kategori detaylarını tek tek logla
    private void logCategoryDetails(ProductCategory category) {
        if (category == null) {
            logger.warning("Kategori objesi null!");
            return;
        }

        logger.info("Kategori Detayları: ");
        logger.info("ID: " + (category.getId() != null ? category.getId() : "null"));
        logger.info("wbProductCategoryId: " + (category.getWbProductCategoryId() != null ? category.getWbProductCategoryId() : "null"));
        logger.info("Name: " + (category.getName() != null ? category.getName() : "null"));
        logger.info("Code: " + (category.getCode() != null ? category.getCode() : "null"));
        logger.info("Created On: " + (category.getCreatedOn() != null ? category.getCreatedOn() : "null"));
        logger.info("Updated On: " + (category.getUpdatedOn() != null ? category.getUpdatedOn() : "null"));
        logger.info("Created By: " + (category.getCreatedBy() != null ? category.getCreatedBy().getFullName() : "null"));
        logger.info("Updated By: " + (category.getUpdatedBy() != null ? category.getUpdatedBy().getFullName() : "null"));
    }


    private boolean isCategoryExists(ProductCategory category) {
        ProductCategory existingCategoryByCode = productCategoryRepository.findByCode(String.valueOf(category.getWbProductCategoryId()));
        if (existingCategoryByCode != null) {
            logger.warning("Kategori wbProductCategoryId " + category.getWbProductCategoryId() + " ile mevcut. Kayıt atlanıyor: " + category.getName());
            return true;
        }

        ProductCategory existingCategoryByName = productCategoryRepository.findByName(category.getName());
        if (existingCategoryByName != null) {
            logger.warning("Kategori adı '" + category.getName() + "' ile mevcut. Kayıt atlanıyor: " + category.getWbProductCategoryId());
            return true;
        }

        return false;
    }
} 

error content

2024-10-07 15:21:04.430  INFO 318982 --- [nio-8080-exec-6] c.a.a.b.service.WildberriesServiceImpl   : API bağlantı testi başarılı: {    "TS": "2024-10-07T12:21:04Z",    "Status": "OK"}
2024-10-07 15:21:04.568  INFO 318982 --- [nio-8080-exec-6] c.a.a.b.service.WildberriesServiceImpl   : Ham JSON Yanıtı: {"data":[{"name":"Мебель мягкая","id":7580,"isVisible":true},{"name":"Игрушки","id":7,"isVisible":true},{"name":"Текстиль для дома","id":8693,"isVisible":true},{"name":"Спортивная обувь","id":3497,"isVisible":true},{"name":"Бытовая химия","id":8614,"isVisible":true},{"name":"Обувь","id":2,"isVisible":true},{"name":"Рукоделие","id":1284,"isVisible":true},{"name":"Техника для кухни","id":1521,"isVisible":true},{"name":"Белье","id":4,"isVisible":true},{"name":"Красота","id":49,"isVisible":true},{"name":"Хранение вещей","id":1598,"isVisible":true},{"name":"Ноутбуки и компьютеры","id":6238,"isVisible":true},{"name":"Электроника","id":479,"isVisible":true},{"name":"Периферия и аксессуары","id":6237,"isVisible":true},{"name":"Книжная продукция и диски","id":786,"isVisible":true},{"name":"Посуда и инвентарь","id":1590,"isVisible":true},{"name":"Для праздника","id":257,"isVisible":true},{"name":"Телевизоры и аудиотехника","id":6260,"isVisible":true},{"name":"Мототовары","id":6731,"isVisible":true},{"name":"Хозяйственные товары","id":1077,"isVisible":true},{"name":"Электротранспорт","id":2207,"isVisible":true},{"name":"Канцелярские товары","id":571,"isVisible":true},{"name":"Ювелирные украшения","id":204,"isVisible":true},{"name":"Бижутерия","id":200,"isVisible":true},{"name":"Товары для малышей","id":883,"isVisible":true},{"name":"Аксессуары для малышей","id":4823,"isVisible":true},{"name":"Аксессуары для волос","id":1465,"isVisible":true},{"name":"Сантехника","id":2051,"isVisible":true},{"name":"Профессиональные музыкальные инструменты","id":3324,"isVisible":true},{"name":"Бытовая техника","id":657,"isVisible":true},{"name":"Строительные материалы","id":2050,"isVisible":true},{"name":"Отделочные материалы","id":8555,"isVisible":true},{"name":"Оргтехника","id":858,"isVisible":true},{"name":"Спортивная одежда","id":1513,"isVisible":true},{"name":"Электроинструмент и оборудование","id":8751,"isVisible":true},{"name":"Одежда для малышей","id":4607,"isVisible":true},{"name":"Продукты","id":3109,"isVisible":true},{"name":"Здоровье","id":4268,"isVisible":true},{"name":"Белье для малышей","id":4735,"isVisible":true},{"name":"Товары для животных","id":723,"isVisible":true},{"name":"Одежда","id":1,"isVisible":true},{"name":"Головные уборы","id":6,"isVisible":true},{"name":"Аксессуары","id":3,"isVisible":true},{"name":"Декор интерьера","id":8695,"isVisible":true},{"name":"Освещение","id":8694,"isVisible":true},{"name":"Спортивный товар","id":239,"isVisible":true},{"name":"Автомобильные товары","id":760,"isVisible":true},{"name":"Крупная бытовая техника","id":5495,"isVisible":true},{"name":"Товары для курения","id":6249,"isVisible":true},{"name":"Игровые консоли и игры","id":6256,"isVisible":true},{"name":"Товары для взрослых","id":5038,"isVisible":true},{"name":"Мебель для сна","id":8745,"isVisible":true},{"name":"Умный дом и безопасность","id":6259,"isVisible":true},{"name":"Спортивные аксессуары","id":1605,"isVisible":true},{"name":"Мебель садовая","id":8748,"isVisible":true},{"name":"Детское питание","id":2638,"isVisible":true},{"name":"Автоэлектроника","id":6240,"isVisible":true},{"name":"Смартфоны и аксессуары","id":6258,"isVisible":true},{"name":"Товары для отдыха и кемпинга","id":6945,"isVisible":true},{"name":"Сетевое оборудование","id":6257,"isVisible":true},{"name":"Мебель малых форм","id":8747,"isVisible":true},{"name":"Фото и Видеотехника","id":6261,"isVisible":true},{"name":"Мебель корпусная и мебель для хранения","id":8746,"isVisible":true},{"name":"Все для садоводства","id":6943,"isVisible":true},{"name":"Спортивное питание и косметика","id":1081,"isVisible":true},{"name":"Шторы и аксессуары","id":1616,"isVisible":true},{"name":"Садовая техника","id":2240,"isVisible":true},{"name":"Мебель офисная и торговое оборудование","id":2479,"isVisible":true},{"name":"Спецодежда и СИЗы","id":6119,"isVisible":true},{"name":"Ручной инструмент и оснастка","id":1162,"isVisible":true},{"name":"Аксессуары для обуви","id":739,"isVisible":true},{"name":"Садовые инструменты","id":6946,"isVisible":true}],"error":false,"errorText":"","additionalErrors":null}
2024-10-07 15:21:04.573  INFO 318982 --- [nio-8080-exec-6] c.a.a.b.service.WildberriesServiceImpl   : İşleniyor kategori: МЕБЕЛЬ МЯГКАЯ
2024-10-07 15:21:04.577  WARN 318982 --- [nio-8080-exec-6] c.a.a.b.service.WildberriesServiceImpl   : Kategori wbProductCategoryId 7580 ile mevcut. Kayıt atlanıyor: МЕБЕЛЬ МЯГКАЯ
2024-10-07 15:21:04.578  INFO 318982 --- [nio-8080-exec-6] c.a.a.b.service.WildberriesServiceImpl   : Kategori zaten mevcut, atlanıyor: МЕБЕЛЬ МЯГКАЯ
2024-10-07 15:21:04.578  INFO 318982 --- [nio-8080-exec-6] c.a.a.b.service.WildberriesServiceImpl   : İşleniyor kategori: ИГРУШКИ
2024-10-07 15:21:04.581  INFO 318982 --- [nio-8080-exec-6] c.a.a.b.service.WildberriesServiceImpl   : Kategori Detayları: 
2024-10-07 15:21:04.581  INFO 318982 --- [nio-8080-exec-6] c.a.a.b.service.WildberriesServiceImpl   : ID: 7
2024-10-07 15:21:04.581  INFO 318982 --- [nio-8080-exec-6] c.a.a.b.service.WildberriesServiceImpl   : wbProductCategoryId: 7
2024-10-07 15:21:04.581  INFO 318982 --- [nio-8080-exec-6] c.a.a.b.service.WildberriesServiceImpl   : Name: ИГРУШКИ
2024-10-07 15:21:04.581  INFO 318982 --- [nio-8080-exec-6] c.a.a.b.service.WildberriesServiceImpl   : Code: 7
2024-10-07 15:21:04.581  INFO 318982 --- [nio-8080-exec-6] c.a.a.b.service.WildberriesServiceImpl   : Created On: null
2024-10-07 15:21:04.581  INFO 318982 --- [nio-8080-exec-6] c.a.a.b.service.WildberriesServiceImpl   : Updated On: null
2024-10-07 15:21:04.581  INFO 318982 --- [nio-8080-exec-6] c.a.a.b.service.WildberriesServiceImpl   : Created By: null
2024-10-07 15:21:04.581  INFO 318982 --- [nio-8080-exec-6] c.a.a.b.service.WildberriesServiceImpl   : Updated By: null
2024-10-07 15:21:04.582  INFO 318982 --- [nio-8080-exec-6] c.a.a.b.service.WildberriesServiceImpl   : Kaydetmeye çalışılıyor kategori: ИГРУШКИ wbProductCategoryId: 7
2024-10-07 15:21:04.583 ERROR 318982 --- [nio-8080-exec-6] c.a.a.b.service.WildberriesServiceImpl   : Kategori kaydedilirken hata oluştu: ИГРУШКИ
2024-10-07 15:21:04.584 ERROR 318982 --- [nio-8080-exec-6] c.a.a.b.service.WildberriesServiceImpl   : Hata sırasında kayıt edilmeye çalışılan kategori: ProductCategory{id=7, code=7, name=ИГРУШКИ, wbProductCategoryId=7, maxDiscount=0, growthCoef=1}
2024-10-07 15:21:04.584 ERROR 318982 --- [nio-8080-exec-6] c.a.a.b.service.WildberriesServiceImpl   : Hata mesajı: null
2024-10-07 15:21:04.584 ERROR 318982 --- [nio-8080-exec-6] c.a.a.b.service.WildberriesServiceImpl   : Yığın izi: [com.axelor.apps.base.tracking.GlobalAuditInterceptor.onSave(GlobalAuditInterceptor.java:118), org.hibernate.event.internal.AbstractSaveEventListener.substituteValuesIfNecessary(AbstractSaveEventListener.java:388), org.hibernate.event.internal.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:268), org.hibernate.event.internal.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:192), org.hibernate.event.internal.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:134), org.hibernate.event.internal.DefaultMergeEventListener.saveTransientEntity(DefaultMergeEventListener.java:273), org.hibernate.event.internal.DefaultMergeEventListener.entityIsTransient(DefaultMergeEventListener.java:246), org.hibernate.event.internal.DefaultMergeEventListener.onMerge(DefaultMergeEventListener.java:178), org.hibernate.event.internal.DefaultMergeEventListener.onMerge(DefaultMergeEventListener.java:74), org.hibernate.event.service.internal.EventListenerGroupImpl.fireEventOnEachListener(EventListenerGroupImpl.java:107), org.hibernate.internal.SessionImpl.fireMerge(SessionImpl.java:829), org.hibernate.internal.SessionImpl.merge(SessionImpl.java:816), com.axelor.db.JPA.merge(JPA.java:151), com.axelor.db.JPA.save(JPA.java:171), com.axelor.db.JpaRepository.save(JpaRepository.java:78), com.axelor.apps.base.service.WildberriesServiceImpl.saveCategories(WildberriesServiceImpl.java:144), com.axelor.apps.base.service.WildberriesServiceImpl.fetchAndProcessCategories(WildberriesServiceImpl.java:120), com.axelor.apps.base.service.WildberriesServiceImpl.downloadProductCategoriesFromWildberries(WildberriesServiceImpl.java:44), java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method), java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62), java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43), java.base/java.lang.reflect.Method.invoke(Method.java:566), com.axelor.meta.ActionHandler.call(ActionHandler.java:233), com.axelor.meta.schema.actions.ActionMethod.evaluate(ActionMethod.java:63), com.axelor.meta.schema.actions.Action.execute(Action.java:87), com.axelor.meta.schema.actions.Action.wrap(Action.java:100), com.axelor.meta.schema.actions.ActionGroup.evaluate(ActionGroup.java:222), com.axelor.meta.schema.actions.Action.execute(Action.java:83), com.axelor.meta.schema.actions.Action.wrap(Action.java:100), com.axelor.meta.ActionHandler.execute(ActionHandler.java:502), com.axelor.meta.ActionExecutor.execute(ActionExecutor.java:44), com.axelor.meta.ActionExecutor$$EnhancerByGuice$$84619276.GUICE$TRAMPOLINE(<generated>), com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:74), com.axelor.rpc.ResponseInterceptor.invoke(ResponseInterceptor.java:42), com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:75), com.google.inject.internal.InterceptorStackCallback.invoke(InterceptorStackCallback.java:55), com.axelor.meta.ActionExecutor$$EnhancerByGuice$$84619276.execute(<generated>), com.axelor.web.service.ActionService.execute(ActionService.java:92), com.axelor.web.service.ActionService$$EnhancerByGuice$$88379076.GUICE$TRAMPOLINE(<generated>), com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:74), com.axelor.rpc.RequestFilter.invoke(RequestFilter.java:42), com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:75), com.axelor.rpc.ResponseInterceptor.invoke(ResponseInterceptor.java:51), com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:75), com.google.inject.internal.InterceptorStackCallback.invoke(InterceptorStackCallback.java:55), com.axelor.web.service.ActionService$$EnhancerByGuice$$88379076.execute(<generated>), java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method), java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62), java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43), java.base/java.lang.reflect.Method.invoke(Method.java:566), org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:170), org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:130), org.jboss.resteasy.core.ResourceMethodInvoker.internalInvokeOnTarget(ResourceMethodInvoker.java:660), org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTargetAfterFilter(ResourceMethodInvoker.java:524), org.jboss.resteasy.core.ResourceMethodInvoker.lambda$invokeOnTarget$2(ResourceMethodInvoker.java:474), org.jboss.resteasy.core.interception.jaxrs.PreMatchContainerRequestContext.filter(PreMatchContainerRequestContext.java:364), org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMethodInvoker.java:476), org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:434), org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:408), org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:69), org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:492), org.jboss.resteasy.core.SynchronousDispatcher.lambda$invoke$4(SynchronousDispatcher.java:261), org.jboss.resteasy.core.SynchronousDispatcher.lambda$preprocess$0(SynchronousDispatcher.java:161), org.jboss.resteasy.core.interception.jaxrs.PreMatchContainerRequestContext.filter(PreMatchContainerRequestContext.java:364), org.jboss.resteasy.core.SynchronousDispatcher.preprocess(SynchronousDispatcher.java:164), org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:247), org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:249), org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:60), org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:55), javax.servlet.http.HttpServlet.service(HttpServlet.java:750), org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:209), org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153), org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51), org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178), org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153), com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:89), com.axelor.db.tenants.AbstractTenantFilter.doFilter(AbstractTenantFilter.java:57), com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82), org.apache.shiro.guice.web.SimpleFilterChain.doFilter(SimpleFilterChain.java:44), org.pac4j.jee.filter.SecurityFilter.lambda$internalFilter$0(SecurityFilter.java:94), org.pac4j.core.engine.DefaultSecurityLogic.perform(DefaultSecurityLogic.java:141), org.pac4j.jee.filter.SecurityFilter.internalFilter(SecurityFilter.java:92), org.pac4j.jee.config.AbstractConfigFilter.doFilter(AbstractConfigFilter.java:72), org.apache.shiro.guice.web.SimpleFilterChain.doFilter(SimpleFilterChain.java:41), org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108), org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137), org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:154), org.apache.shiro.guice.web.SimpleFilterChain.doFilter(SimpleFilterChain.java:41), org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:458), org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:373), org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90), org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83), org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387), org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:370), org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:154), com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82), com.axelor.app.internal.AppFilter.doFilter(AppFilter.java:74), com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82), com.google.inject.persist.PersistFilter.doFilter(PersistFilter.java:94), com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82), com.axelor.db.tenants.AbstractTenantFilter.doFilter(AbstractTenantFilter.java:57), com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82), com.axelor.web.servlet.CorsFilter.doFilter(CorsFilter.java:124), com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82), com.axelor.web.servlet.ProxyFilter.doFilter(ProxyFilter.java:30), com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82), com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:121), com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:133), org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178), org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153), org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:168), org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90), org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:481), org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130), org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93), org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74), org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342), org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:390), org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63), org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:928), org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1794), org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52), org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191), org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659), org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61), java.base/java.lang.Thread.run(Thread.java:829)]
2024-10-07 15:21:04.585 ERROR 318982 --- [nio-8080-exec-6] c.a.a.b.service.WildberriesServiceImpl   : Kategorileri işlerken genel hata: Kategori kaydedilemedi: ИГРУШКИ. Hata: null
2024-10-07 15:21:04.585 ERROR 318982 --- [nio-8080-exec-6] c.a.a.b.service.WildberriesServiceImpl   : Kategorileri indirirken hata: Veritabanına kategoriler kaydedilemedi: Kategori kaydedilemedi: ИГРУШКИ. Hata: null. Hata: null ```

hello again, maybe someone knows, is there a page where I can get a sample code in any module? for get and post api integration