Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Пробел в запросе REST-сервису / 9 сообщений из 9, страница 1 из 1
19.10.2017, 15:46
    #39538834
Zzzadruga
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пробел в запросе REST-сервису
Доброго времени суток, уважаемые форумчане. На данный момент на Jboss Fuse организовано следующее: получение сообщения по REST, отправка его в очередь, из очереди в БД и в зависимости от успешности, выдать ответ.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
@Path("/")
@Encoded
public class ServiceREST{
  @POST
  @Path("/value={value}")
  public Response post(@PathParam("value") String value)
  {
    return null;
  }
}



Все отлично работает, но если попробовать в value скормить значение с пробелом, то сообщение также доходит до базы данных, а ответ сервера следующий

Ошибка
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
<html>
   <head>
      <meta content="HTML Tidy for Java (vers. 26 сен 2004), see www.w3.org" name="generator"/>
      <meta content="text/html; charset=UTF-8" http-equiv="Content-Type"/>
      <title>Error 500 Server Error</title>
   </head>
   <body>
      <h2>HTTP ERROR 500</h2>
      <p><![CDATA[Problem accessing /cxf/report-rest/value=1 1. Reason:]]></p>
      <pre>Server Error</pre>
      <br/>
      <br/>
      <h3>Caused b45: http://localhost:8181/cxf/report-rest/value=1 1
        at java.net.URI.create(Unknown Source)
        at org.apache.cxf.transport.servlet.BaseUrlHelper.getBaseURL(BaseUrlHelper.java:48)
        at org.apache.cxf.transport.servlet.ServletController.getBaseURL(ServletController.java:74)
        at org.apache.cxf.transport.servlet.ServletController.updateDestination(ServletController.java:83)
        at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:207)
        at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:160)
        at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:180)
        at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:299)
        at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:218)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
        at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:274)
        at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:812)
        at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:587)
        at org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:71)
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
        at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577)
        at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)
        at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)
        at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:287)
        at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
        at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
        at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
        at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:80)
        at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
        at org.eclipse.jetty.server.Server.handleAsync(Server.java:549)
        at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:318)
        at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
        at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544)
        at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
        at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
        at java.lang.Thread.run(Unknown Source)
Caused by: java.net.URISyntaxException: Illegal character in path at index 45: http://localhost:8181/cxf/report-rest/value=1 1
        at java.net.URI$Parser.fail(Unknown Source)
        at java.net.URI$Parser.checkChars(Unknown Source)
        at java.net.URI$Parser.parseHierarchical(Unknown Source)
        at java.net.URI$Parser.parse(Unknown Source)
        at java.net.URI.<init>(Unknown Source)
        ... 32 more]]></pre>
      <h3>Caused by:</h3>
      <pre><![CDATA[java.net.URISyntaxException: Illegal character in path at index 45: http://localhost:8181/cxf/report-rest/value=1 1
        at java.net.URI$Parser.fail(Unknown Source)
        at java.net.URI$Parser.checkChars(Unknown Source)
        at java.net.URI$Parser.parseHierarchical(Unknown Source)
        at java.net.URI$Parser.parse(Unknown Source)
        at java.net.URI.<init>(Unknown Source)
        at java.net.URI.create(Unknown Source)
        at org.apache.cxf.transport.servlet.BaseUrlHelper.getBaseURL(BaseUrlHelper.java:48)
        at org.apache.cxf.transport.servlet.ServletController.getBaseURL(ServletController.java:74)
        at org.apache.cxf.transport.servlet.ServletController.updateDestination(ServletController.java:83)
        at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:207)
        at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:160)
        at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:180)
        at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:299)
        at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:218)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
        at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:274)
        at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:812)
        at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:587)
        at org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:71)
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
        at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577)
        at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)
        at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)
        at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:287)
        at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
        at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
        at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
        at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:80)
        at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
        at org.eclipse.jetty.server.Server.handleAsync(Server.java:549)
        at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:318)
        at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
        at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544)
        at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
        at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
        at java.lang.Thread.run(Unknown Source)]]></pre>
      <hr/>
      <i>
         <small>Powered by Jetty://</small>
      </i>
      <hr/>
   </body>
</html>




Как сделать так, чтобы сервер не ругался?

Заранее, спасибо за ответ
...
Рейтинг: 0 / 0
19.10.2017, 15:59
    #39538861
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пробел в запросе REST-сервису
Zzzadruga,

Похоже на баг контейнера.
...
Рейтинг: 0 / 0
19.10.2017, 16:00
    #39538863
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пробел в запросе REST-сервису
...
Рейтинг: 0 / 0
19.10.2017, 16:07
    #39538868
Zzzadruga
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пробел в запросе REST-сервису
Blazkowicz,
Спасибо!
Не подскажете, как я это могу исправить?
...
Рейтинг: 0 / 0
19.10.2017, 16:21
    #39538891
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пробел в запросе REST-сервису
ZzzadrugaНе подскажете, как я это могу исправить?
Обновить JBoss Fuse но новую версию
Обновить CXF внутри JBoss Fuse на новую версию
Найти патч, накатить его на вашу версию CXF и использовать пропатченый jar файл в JBoss Fuse
...
Рейтинг: 0 / 0
20.10.2017, 13:07
    #39539504
Zzzadruga
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пробел в запросе REST-сервису
Blazkowicz,
Был бы вам очень признателен, если вы мне с этим поможете :)
1. Обновил JBoss Fuse до последнего патча - там используется та же версия CXF
2. Попробовал обновить CXF. У него довольно много установленных различных зависимостей из мавен. Я попробовал сначала удалить все связанные с cxf зависимости и установить их более новые версии. Ну в итоге там они были завязаны еще с другими зависимостями и после перезагрузки сервера все посыпалось из-за несоответствия версий
3. А по поводу патча - опять же, где его найти и на что накатывать, я не знаю
...
Рейтинг: 0 / 0
20.10.2017, 13:18
    #39539514
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пробел в запросе REST-сервису
ZzzadrugaБыл бы вам очень признателен, если вы мне с этим поможете :)
Это вряд ли. Вы бы лучше им в саппорт написали.

Zzzadruga3. А по поводу патча - опять же, где его найти и на что накатывать, я не знаю
Там в тикете ссылки на гитхаб. Нужно стянуть исходники вашей версии, смержить с исправлениями этого тикета и собрать CXF.
...
Рейтинг: 0 / 0
20.10.2017, 13:24
    #39539519
Zzzadruga
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пробел в запросе REST-сервису
Blazkowicz,
там просто подписка же нужна, что б в саппорт писать
...
Рейтинг: 0 / 0
20.10.2017, 16:50
    #39539663
Zzzadruga
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пробел в запросе REST-сервису
Blazkowicz,
проблема решилась установкой последней обновленной версии. Она, правда, доступна только платным подписчикам, но я нашел лазейку
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Пробел в запросе REST-сервису / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]