|
|
|
Как передать ранее подписанный XML через web-сервис?
|
|||
|---|---|---|---|
|
#18+
Добрый день. Как передать ранее подписанный XML через web-сервис как часть SOAP сообщения (не Base64 и CDATA) ? Например на веб-сервисе среди прочих исходящих параметров присутствует anyType. Если при работе веб-сервису необходимо вернуть xml: Код: xml 1. 2. 3. 4. то в SOAP-собщении появляется: Код: xml 1. 2. 3. 4. Т.е. тэг <b></b> был заменён на <b/>. И это не единственная корректива которую вносит jax-ws в передаваемый xml. Проблема заключается в том, что этот передаваемый xml должен быть подписан цифровой подписью, а значит любые коррективы недопустимы. Почему jax-ws ведёт себя так некрасиво? (jdk6 jax-ws2.1 tomcat6) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2012, 17:03:22 |
|
||
|
Как передать ранее подписанный XML через web-сервис?
|
|||
|---|---|---|---|
|
#18+
А что мешает подписать сразу в виде "<b />"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2012, 17:23:27 |
|
||
|
Как передать ранее подписанный XML через web-сервис?
|
|||
|---|---|---|---|
|
#18+
И как вы подписываете XML? JAX-WS что-нибудь знает об этой подписи? Если нет, то за JAX-WS никакого криминала нет - оба приведенных варианта это абсолютно валидные XML, идентичные с точки зрения парсера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2012, 17:25:19 |
|
||
|
Как передать ранее подписанный XML через web-сервис?
|
|||
|---|---|---|---|
|
#18+
svenomИ как вы подписываете XML? JAX-WS что-нибудь знает об этой подписи? Подписываю по http://www.w3.org/2001/04/xmldsig-more#gostr34102001-gostr3411. А как сказать JAX-WS что-нибудь об это подписи? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2012, 17:46:30 |
|
||
|
Как передать ранее подписанный XML через web-сервис?
|
|||
|---|---|---|---|
|
#18+
Понял что сам DOM меняет xml. Простой пример: Есть файл soap.xml Код: xml 1. 2. 3. 4. 5. 6. и файл test.xml Код: xml 1. 2. 3. 4. 5. 6. Код, который в soap.xml вставляет test.xml через DOM: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Результат: Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Декларация пространства имён исчезла, и тэг b схлопнулся. И как вставлять подписанный XML??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2012, 11:23:02 |
|
||
|
Как передать ранее подписанный XML через web-сервис?
|
|||
|---|---|---|---|
|
#18+
Alexey123, я думаю, меньше всего корректив идёт в CDATA - им и надо стараться отправлять. Парсить подписанный документ не надо. Если модификация, то его оттуда извлекать. ______________________________________________ "Сделай настолько просто, насколько это возможно, но не проще". © А. Эйнштейн. AutoPOI.ru — ГИС-технологии для Oracle ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2012, 11:25:19 |
|
||
|
Как передать ранее подписанный XML через web-сервис?
|
|||
|---|---|---|---|
|
#18+
Petro123, CDATA и BASE64 нельзя, веб сервис должен соответствовать метод. рекомендациям СМЭВ. Там утверждены xsd схема, где подписывается конкретный элемент AppData. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2012, 11:37:51 |
|
||
|
Как передать ранее подписанный XML через web-сервис?
|
|||
|---|---|---|---|
|
#18+
Alexey123CDATA и BASE64 нельзя т.е. ты имеешь ввиду, что подписать документ а аттаче (word) нельзя? http://www.sql.ru/forum/actualthread.aspx?tid=907922&hl=%ef%ee%e4%ef%e8%f1%fc%20xml ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2012, 11:51:35 |
|
||
|
Как передать ранее подписанный XML через web-сервис?
|
|||
|---|---|---|---|
|
#18+
Petro123, нет. Передаваемый документ должен быть именно частью soap-собщения, а не вложением CDATA или BASE64. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2012, 12:09:05 |
|
||
|
Как передать ранее подписанный XML через web-сервис?
|
|||
|---|---|---|---|
|
#18+
Alexey123Petro123, нет. Передаваемый документ должен быть именно частью soap-собщения, а не вложением CDATA или BASE64. ok. Я не догнал. - soap-собщени НЕ может содержать ноду по стандарту XML? - soap-собщени НЕ может передавать бинарный формат (в виде base....)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2012, 12:11:21 |
|
||
|
Как передать ранее подписанный XML через web-сервис?
|
|||
|---|---|---|---|
|
#18+
Если подключить библиотеку xalan, то декларация пространства имён вложенного xml не исчезает: Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Как я понял, это возникает из-за другой реализации DocumentBuilderFactory в xalan-2.7.1.jar (org.apache.xpath.jaxp.XPathFactoryImpl) Но тэг b всё-таки схлопывается. Может стоит использовать другие реализации DOM и XSLT? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2012, 11:44:11 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=37848030&tid=2131506]: |
0ms |
get settings: |
19ms |
get forum list: |
25ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
59ms |
get topic data: |
21ms |
get forum data: |
5ms |
get page messages: |
83ms |
get tp. blocked users: |
5ms |
| others: | 377ms |
| total: | 606ms |

| 0 / 0 |
