Почему @GZIP не возвращает ответ в jboss7.1.0 eap - PullRequest
0 голосов
/ 24 сентября 2019

Я пытаюсь получить ответ от Почтальона, где я развернул файл war на eap-сервере JBoss7.1.0.Но я не получаю никакого ответа в Почтальоне.В логах ошибок нет.Я использовал @GZIP в ответе, я слышал, что JBoss не поддерживает GZIP, и, возможно, именно поэтому он не дает ответ.Тот же самый файл войны давал ответ на старом Сервере JBoss5.1 без проблемы. Каковы мои варианты решения проблемы.Если я прокомментирую // @ GZIP, то время, которое он тратит, огромно, что приводит к краху самого Почтальона.Как исправить эту проблему в JBoss7.1.0

    @POST

    @Path("/copyCatalog")
    @GZIP
    @Consumes(MediaType.APPLICATION_XML)
    @Produces(MediaType.APPLICATION_XML)
    public com.gee.gecs.cosmos.webservice.autocat.insertupdateresponse.CatalogData getcopyCatalog(CopyCatalogData cd) {

        //CopyCatalogResponse response = new CopyCatalogResponse();
        //CopyCatalogResponse copyCatalogRes =new CopyCatalogResponse();

        com.gee.gecs.cosmos.webservice.autocat.insertupdateresponse.CatalogData copyCatalogRes=
            new com.gee.gecs.cosmos.webservice.autocat.insertupdateresponse.CatalogData();


        try {
            AutoCatRequestProcessorCopyCatalog requestProcessor = new AutoCatRequestProcessorCopyCatalog(cd, copyCatalogRes);
            requestProcessor.processRequest();

        } catch (AutoCatException e) {
            copyCatalogRes.setResponsecode(exceptionMap.get(e.getFaultCode()));
            copyCatalogRes.setResponsestatus(e.getFaultMessage());

        }
        return copyCatalogRes;
    }

Журналы на сервере JBoss

15:43:06,773 INFO  [com.gee.gecs.cosmos.webservice.autocat.util.AutoCatRequestProcessorCopyCatalog] (default task-2) inside  copy catalog functionality
15:43:30,631 INFO  [com.gee.gecs.cosmos.webservice.autocat.util.AutoCatRequestProcessorCopyCatalog] (default task-2) New Ctlg_ver_in 16479765
15:43:32,470 INFO  [com.gee.gecs.cosmos.webservice.autocat.cache.ICAMAutoCATCacheSingleton] (default task-2) Start: ICAMAutoCATCacheSingleton getICAMAutoCATCache()
15:43:32,471 INFO  [com.gee.gecs.cosmos.webservice.autocat.cache.ICAMAutoCATCacheSingleton] (default task-2) End: ICAMAutoCATCacheSingleton getICAMAutoCATCache()

Postman

1 Ответ

0 голосов
/ 25 сентября 2019

Проблема была решена с помощью веб-утилит googlecode.Добавили зависимость в pom.xml и добавили фильтры в web.xml

<dependency>
    <groupId>com.googlecode.webutilities</groupId>
    <artifactId>webutilities</artifactId>
    <version>0.0.8</version>
</dependency>

В web.xml мы добавили фильтр сжатия:

<filter>
        <filter-name>compressionFilter</filter-name>
        <filter-class>com.googlecode.webutilities.filters.CompressionFilter</filter-class>
        <init-param> 
                <param-name>compressionThreshold</param-name>
                <param-value>1024</param-value> <!-- compress anything above 1kb -->
        </init-param>
        <init-param> 
                <param-name>ignoreURLPattern</param-name>
                <param-value>.*\.(flv|mp3|mpg)</param-value> <!-- regex -->
        </init-param>
        <init-param> 
                <param-name>ignoreMIMEPattern</param-name>
                <param-value>image/.*|video/.*|multipart/x-gzip</param-value> <!-- ignore -->
        </init-param>
        <init-param> 
                <param-name>ignoreUserAgentsPattern</param-name>
                <param-value>.*MSIE.*</param-value> <!-- regex -->
        </init-param>
 </filter>

 <filter-mapping>
   <filter-name>compressionFilter</filter-name>
   <url-pattern>/services/xxx/xxxx</url-pattern>
 </filter-mapping>
...