powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Пробел в запросе REST-сервису
9 сообщений из 9, страница 1 из 1
Пробел в запросе REST-сервису
    #39538834
Zzzadruga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток, уважаемые форумчане. На данный момент на 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
Пробел в запросе REST-сервису
    #39538861
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zzzadruga,

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

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


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