недопустимые символы XML,/Axis

var mediaItemContainer = $( '#container' );
mediaItemContainer.masonry( {
    columnWidth:  '210px',
    itemSelector: '.item'
} );
$( mediaItemContainer ).prepend( '
foo
' ); $( mediaItemContainer ).masonry( 'reloadItems' ); $( mediaItemContainer ).masonry( 'layout' );

Решение

5
задан 21 May 2009 в 15:39
поделиться

4 ответа

As you form the XML you're going to tuck inside the SOAP XML envelope, you need to make sure you don't have any unescaped characters in your attribute values and in any text nodes you have in your elements. That is:

<your_elt your_attr="Don&apos;t put unescaped chars here, eg, apostrophe">
    <foo>
        Be sure to escape stuff here too, like: 2 &lt; 100
        A greek lambda is escaped like this: &#955;
    </foo>
</your_elt>

I assume you're doing this in Java, so you should look into libraries that do this for you automatically. Apache has StringEscapeUtils, for instance.

Your control characters would need to be escaped by XML numeric character references. Hopefully StringEscapeUtils handles that for you.

Hope this helps.

1
ответ дан 14 December 2019 в 19:23
поделиться

К сожалению, это естественная проблема с SOAP - он использует XML для текста, и эти символы не могут быть представлены в XML (даже с сущностями).

Вы можете избежать -печатаемые символы как-то? К сожалению, вам придется найти способ не отображать их в виде простого текста.

3
ответ дан 14 December 2019 в 19:23
поделиться

Похоже, у вас есть текст, который невозможно представить в XML. Вам придется экранировать эти символы, но, честно говоря, я подозреваю, что вам следует «экранировать» всю строку. Кодирование строки Base64 может работать, но вы также можете посмотреть на MTOM или какой-либо другой механизм передачи двоичных данных между веб-службами.

Если вы владеете обеими сторонами этой системы (клиентами и веб-сервисом), то этого не должно быть. слишком сложно добавить шаги кодирования / декодирования, и кодирования base64 должно быть достаточно.

0
ответ дан 14 December 2019 в 19:23
поделиться

используйте CDATA для данных, которые не являются частью xml-структуры (т. Е. Содержимого), если я правильно понимаю, а вы просто маршрутизируете сообщения, это то, что вам следует делать.

1
ответ дан 14 December 2019 в 19:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: