java.lang.RuntimeException: wXb6Vnl31u :: Ошибка для HTML= 001 003 004 005 006 007 008 009
010

Пример 1: Поиск клиента по фамилии И имени "Сидоров 011 Андрей"

012 013

Запрос (Request):

014 015
016  {
017      "boCode": "CLIENT",                             // Код БО (Как получить? Смотрите ниже)
018      "headCodes": ["SURNAME", "NAME"],               // Коды полей которые будут отображены в результате
019      "orderingFieldCode": "NAME",                    // Сортировка по имени
020      "orderState": "ASC",                            // По возрастанию
021      "paging": {
022          "offset": 0,                                // Начиная с 0
023          "limit": 10,                                // Получить только 10 элементов
024      },
025      "state": "ALL",                                 // Записи в работе (Не REMOVED или ARCHIVED)
026      "touchedFilter": "ALL",                         // И новые и старые записи будут видны нам
027      "brackets" :  [                                 
028          {
029              "id": "DTb445uu",                       // Рандомный уникальный идентификатор бракета
030              "parentId": null,                       
031              "parentTreeIds": [],                    
032              "connectionType": "AND",                // Связь со следующим бракетом в списке brackets
033                                                      // AND - значит что совпадение по фамилии И по имени
034              "brackets": [],                         // дочерние бракеты (позже при сложных фильтрах)
035              "dynamicFilters": [
036                  {
037                      "id": "nl4Fcy3Z",               // Рандомный идентификатор фильтра
038                      "fieldId": "xQK11@uul08penSM",  // Идентификатор поля (Как получить? Смотрите ниже)
039                      "type": "INPUT_TEXT",           // Тип поля (Как получить? Смотрите ниже)
040                      "value": "Сидоров"              // Значение поля (Как получить? Смотрите ниже)
041                  }]
042          },
043          {
044              "id": "DTb445ui",                       // Идентификатор бракета
045              "parentId": null,                       // Пусто так как родителя нет
046              "parentTreeIds": [],                    // Пусто так как нет родителей 
047              "connectionType": "AND",                // Связь со следующим будущим фильтром
048              "brackets": [],
049              "dynamicFilters":[
050                  {
051                      "id": "nl4Fcy3Z",               // Рандомный идентификатор фильтра
052                      "fieldId": "oDZwyNuzRXrACu7w",  // Идентификатор поля (Как получить? Смотрите ниже)
053                      "type": "INPUT_TEXT",           // Тип поля (Как получить? Смотрите ниже)
054                      "value": "Андрей"               // Значение поля (Как получить? Смотрите ниже)
055                  }
056              ]
057          }
058      ] 
059  }
060  
061  
062 063

Предусловия для запроса:

064 065
    066
  1. 067

    Создадим БО "Клиент" с текстовыми полями "Фамилия" и "Имя"

    068 069

    070
  2. 071 072
  3. 073

    Изменим код бизнес-объекта на CLIENT (Как изменить код 075 бизнес-объекта?)

    076 077

    078
  4. 079 080
  5. 081

    Также изменим коды полей: у поля Фамилия будет 082 SURNAME, у поля Имя 083 будет NAME. Как изменить коды полей?

    085 086

    088
  6. 089 090
  7. 091

    У данного БО создадим следующих клиентов:

    092 093

    094
  8. 095
096 097

Предусловия для составления бракетов:

098 099

Как вы видели в запросе для бракетов нам нужно получить 100 id и type полей по которым мы 101 будем фильтровать:

102 103
    104
  1. 105

    Нажимаем на иконку шестеренки у поля Фамилия:

    106 107

    108
  2. 109 110
  3. Видим что id равен 111 xQK11@uul08penSM, а 112 type равен 113 INPUT_TEXT (тут нужно убрать префикс 114 Value_)
  4. 115 116
  5. И тоже, самое получаем у поля "Имя": id = 117 oDZwyNuzRXrACu7w, 118 type = INPUT_TEXT 119 (тут нужно убрать префикс 120 Value_).
  6. 121
122 123

Ответ (Response):

124 125

Запрос сработал успешно и нашёл клиента которого мы искали 126 "Сидоров Андрей"

127 128
129  {
130     "boCode": "CLIENT",
131     "businessObjectId": "7x9hWxwZ@xa2D3gB",    // Идентификатор БО
132     "heads": [
133        {
134           "fieldId": "xQK11@uul08penSM",       // Идентификатор Поля
135           "name": "Фамилия",                   // Название поля
136           "code": "SURNAME"                    // Код поля
137        },
138        {
139           "fieldId": "oDZwyNuzRXrACu7w",       // Идентификатор Поля
140           "name": "Имя",                       // Название поля
141           "code": "NAME"                       // Код поля
142        }
143     ],
144     "records": [                               // Полученная запись (Одна):
145        {
146           "boId": null,
147           "instanceId": "3fdhTt7wmbEtEKda",    // Идентификатор записи инстанции БО
148           "values": [
149              {
150                 "coFieldId": null,
151                 "fieldId": "xQK11@uul08penSM", // id поля
152                 "value": "Сидоров",            // Значение поля
153                 "displayValue": "Сидоров",     // Отображаемое значени поля
154                 "isReadOnly": false,
155                 "readOnly": false
156              },
157              {
158                 "coFieldId": null,
159                 "fieldId": "oDZwyNuzRXrACu7w", // id поля
160                 "value": "Андрей",             // Значение поля
161                 "displayValue": "Андрей",      // Отображаемое значени поля
162                 "isReadOnly": false,
163                 "readOnly": false
164              }
165           ]
166        }
167     ],
168     "hasNext": false,                          // Есть ли ещё данные 
169     "totalHits": 1,                            // Сколько записей получено
170     "totalHitsMore": false,                    // Есть ли ещё записи
171     "tookInMillis": 2                          // Сколько заняло времени
172  }
173  
174  
175
176 177 at kz.greetgo.md_reader.util.MdUtil.xmlTextToDoc(MdUtil.java:80) at kz.greetgo.md_reader.core.MdConverter.prepareHtmlFileFrom(MdConverter.java:136) at kz.greetgo.md_reader.core.MdConverter.convert(MdConverter.java:208) at kz.greetgo.md_reader.controller.RenderController.downloadToc(RenderController.java:360) at kz.greetgo.md_reader.controller.RenderController.request(RenderController.java:108) at jdk.internal.reflect.GeneratedMethodAccessor3.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:207) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:152) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:884) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:797) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1081) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:974) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1011) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:205) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) at kz.greetgo.md_reader.interceptors.TextReplaceFilter.doFilter(TextReplaceFilter.java:36) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:166) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:341) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:390) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:894) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1741) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.base/java.lang.Thread.run(Thread.java:833) Caused by: java.io.IOException: Server returned HTTP response code: 429 for URL: http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:2000) at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1589) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:677) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startEntity(XMLEntityManager.java:1397) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startEntity(XMLEntityManager.java:1333) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDTDScannerImpl.startPE(XMLDTDScannerImpl.java:732) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDTDScannerImpl.skipSeparator(XMLDTDScannerImpl.java:2101) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDTDScannerImpl.scanDecls(XMLDTDScannerImpl.java:2064) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDTDScannerImpl.scanDTDExternalSubset(XMLDTDScannerImpl.java:299) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.dispatch(XMLDocumentScannerImpl.java:1165) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.next(XMLDocumentScannerImpl.java:1040) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:943) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:605) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:542) at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:889) at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:825) at java.xml/com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141) at java.xml/com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:247) at java.xml/com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:342) at java.xml/javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:122) at kz.greetgo.md_reader.util.MdUtil.xmlTextToDoc(MdUtil.java:71) ... 48 more