|
|
|
JAX-WS и CDATA
|
|||
|---|---|---|---|
|
#18+
Создала веб-сервис при помощи JAX-WS. У сервиса есть метод, который возвращает объект документ. В объекте документ имеются поля: private String description; private String content; Эти поля никак специально не проаннотированы. И description, и content могут содержать html-теги. Когда я обращаюсь к сервису при помощи soapUI, я получаю документ, где content передается как CDATA (что меня вполне устраивает), а в description все < в тегах заменяются на < Подскажите, пожалуйста, что может влиять на неодинаковое представление String c html-разметкой? Хотелось бы и для description, и для content получать CDATA. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2009, 13:14:35 |
|
||
|
JAX-WS и CDATA
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 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. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223. 224. 225. 226. 227. 228. 229. 230. 231. 232. 233. 234. 235. 236. 237. 238. 239. 240. 241. 242. 243. 244. 245. 246. 247. 248. 249. 250. 251. 252. 253. 254. 255. 256. 257. 258. 259. 260. 261. 262. 263. 264. 265. 266. 267. 268. 269. 270. 271. 272. 273. 274. 275. 276. метод getDocumentById ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2009, 13:47:51 |
|
||
|
JAX-WS и CDATA
|
|||
|---|---|---|---|
|
#18+
Ну вот и причина по которой content уезжает в CDATA, а description - нет. <xs:element name="description" type="xs:string"></xs:element> <xs:element name="content" type="xs:base64Binary"></xs:element> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2009, 14:35:34 |
|
||
|
JAX-WS и CDATA
|
|||
|---|---|---|---|
|
#18+
Это не те content и description. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. <xs:element name="description" type="xs:string" minOccurs="0"></xs:element> <xs:element name="content" type="xs:string" minOccurs="0"></xs:element> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2009, 15:05:13 |
|
||
|
JAX-WS и CDATA
|
|||
|---|---|---|---|
|
#18+
Хм, тогда WSDL здесь не причем. Значит реализация JAX-WS сама решает использовать ей CDATA или нет в зависимосит от данных. Какая реализация используется? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2009, 15:23:29 |
|
||
|
JAX-WS и CDATA
|
|||
|---|---|---|---|
|
#18+
JAX-WS 2.1.4 А нельзя как-нибудь принудительно сделать, чтобы в обоих случаях использовалось CDATA? Может, аннотация какая-нибудь есть? Я правда не нашла походящей. Мне бы не хотелось, чтобы повреждались HTML-теги. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2009, 15:29:35 |
|
||
|
JAX-WS и CDATA
|
|||
|---|---|---|---|
|
#18+
Точнее, конечно же, интересует именно реализация JAX-B, ведь её использует JAX-WS для XML сериализации. И, на сколько я вижу, JAX-B никак не декларируют возможность управлять появлением CDATA. Соответственно если и можно найти решение, то только под конкретную реализацию JAX-B ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2009, 15:30:07 |
|
||
|
JAX-WS и CDATA
|
|||
|---|---|---|---|
|
#18+
JAX-WS и JAX-B это спецификации. Конечная реализация, обычно, берется у сервера приложений. Вот, например Metro это уже конечная реализация. Ещё такой вопрос. Вы при билде приложения генерите классы сериализации? wsdeploy/wsimport. Или всё отдается на откуп серверу? Я не помню как там это в последних спецификация реализуется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2009, 15:33:10 |
|
||
|
JAX-WS и CDATA
|
|||
|---|---|---|---|
|
#18+
Ну, я как бы в курсе, что такое спецификация и что такое реализация. Вопрос-то был не об этом... https://jax-ws.dev.java.net/ https://jax-ws.dev.java.net/2.1.4/ В Release Notes нашла Data binding - JAXB 2.1.7 RI. При билде приложения используется the apt tool, который generates the portable artifacts used in JAX-WS services. Если такая проблема у всех, кто использует JAX-WS 2.1.4, то решение должно быть где-то описано. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2009, 15:58:41 |
|
||
|
JAX-WS и CDATA
|
|||
|---|---|---|---|
|
#18+
Вот нашла Q. How can I cause the Marshaller to generate CDATA blocks? A. This functionality is not available from JAXB directly, but you can configure an Apache Xerces-J XMLSerializer to produce CDATA blocks. Please review the JaxbCDATASample.java sample app for more detail. буду изучать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2009, 16:09:05 |
|
||
|
JAX-WS и CDATA
|
|||
|---|---|---|---|
|
#18+
yelenaНу, я как бы в курсе, что такое спецификация и что такое реализация. Ну, если бы выше было написано JAX-WS RI 2.1.4, то и вопросов бы не возникло. yelenaData binding - JAXB 2.1.7 RI. При билде приложения используется the apt tool, который generates the portable artifacts used in JAX-WS services. Начал бы я с того что посмотрел все же исходники JAXB RI и код сгенеренных артифактов на предмет того как же он идентифицирует надобность завернуть содержимое тега в CDATA. А дальше в зависимости от найденного два возможных решения (и оба из них будет не просто портировать на другие реализации.) - Подправить исходники RI чтобы использовать CDATA где нужно. - Добавить дополнительную фазу в билд скрипт, в которой бы модифицировал сгенеренные артифакты под ваши нужды, если это возможно. yelenaЕсли такая проблема у всех, кто использует JAX-WS 2.1.4, то решение должно быть где-то описано. JAX-WS - спецификаия JAX-WS RI - реализация. Предлагаю быть аккуратными в терминологии дабы не запутывать друг друга. И добро пожаловать в мир Sun спецификаций. Здесь всё так. Если чего-то нет в спеке, то делается оно через заднее отверстие. И уж тем более не стоит надеятся на дополнительные фичи в Reference Implementation. Как ещё один вариант можно предложить поискать другие реализации JAXB, которые может быть вдруг умеют контролировать появление CDATA. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2009, 16:14:46 |
|
||
|
JAX-WS и CDATA
|
|||
|---|---|---|---|
|
#18+
yelenaВот нашла Q. How can I cause the Marshaller to generate CDATA blocks? A. This functionality is not available from JAXB directly, but you can configure an Apache Xerces-J XMLSerializer to produce CDATA blocks. Please review the JaxbCDATASample.java sample app for more detail. буду изучать Видел. Сильно сомневаюсь что Вам это поможет. Потому как надо тогда JAX-WS нучить использовать другой Marshaller. А вот что мне удалось найти после беглого просмотра исходников JAXB RI https://txw.dev.java.net/javadoc/com/sun/xml/txw2/annotation/XmlCDATA.html Имеет смысл опробовать и изучить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2009, 16:27:12 |
|
||
|
JAX-WS и CDATA
|
|||
|---|---|---|---|
|
#18+
Blazkowicz JAX-WS - спецификаия JAX-WS RI - реализация. Предлагаю быть аккуратными в терминологии дабы не запутывать друг друга. Хорошо, в следующий раз буду аккуратнее с использованием RI. Не предполагалось, что 2.1.4 - это версия спецификации. Большое спасибо за помощь. Посмотрю, что можно сделать с https://txw.dev.java.net/javadoc/com/sun/xml/txw2/annotation/XmlCDATA.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2009, 16:35:27 |
|
||
|
JAX-WS и CDATA
|
|||
|---|---|---|---|
|
#18+
Как вариант решения: аннотация org.eclipse.persistence.oxm.annotations.XmlCDATA из EclipseLink JAXB (MOXy). Здесь подробнее (англ.). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2012, 15:38:08 |
|
||
|
JAX-WS и CDATA
|
|||
|---|---|---|---|
|
#18+
artspbКак вариант решения: аннотация org.eclipse.persistence.oxm.annotations.XmlCDATA из EclipseLink JAXB (MOXy). Здесь подробнее (англ.). С добрым утром. Ничего что EclipseLink и JAX-WS RI не совсем одно и тоже? Да и, вроде как, про XmlCDATA уже отвечено. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2012, 15:52:08 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=35785432&tid=2130410]: |
0ms |
get settings: |
18ms |
get forum list: |
15ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
47ms |
get topic data: |
16ms |
get forum data: |
4ms |
get page messages: |
71ms |
get tp. blocked users: |
2ms |
| others: | 305ms |
| total: | 488ms |

| 0 / 0 |
