|
|
|
Поместить строку как base64binary в xml-документ
|
|||
|---|---|---|---|
|
#18+
Задача следующая. Нужно сформировать такой документ: Код: xml 1. 2. 3. 4. в котором поле Data объявлено, как Код: html 1. 2. У меня обычный текст. В конечном счете этой пойдет в веб-сервис. Прокси base64binary отобразил в TByteDynArray . Как правильно TByteDynArray присвоить значению узла XML-документа? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2017, 14:47:17 |
|
||
|
Поместить строку как base64binary в xml-документ
|
|||
|---|---|---|---|
|
#18+
ktv, А в каком виде ожидает принимающая программа? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2017, 15:17:53 |
|
||
|
Поместить строку как base64binary в xml-документ
|
|||
|---|---|---|---|
|
#18+
ktv, А не проще TByteDynArray запихать в строку в виде base64 и поместить в XML? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2017, 15:24:25 |
|
||
|
Поместить строку как base64binary в xml-документ
|
|||
|---|---|---|---|
|
#18+
А можно как-нибудь попонятнее объяснить эту фразу? ktvПрокси base64binary отобразил в TByteDynArray . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2017, 15:34:43 |
|
||
|
Поместить строку как base64binary в xml-документ
|
|||
|---|---|---|---|
|
#18+
alekcvpА можно как-нибудь попонятнее объяснить эту фразу? ktvПрокси base64binary отобразил в TByteDynArray . Та строка там в base64 формате скорее всего - это ж web. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2017, 15:43:47 |
|
||
|
Поместить строку как base64binary в xml-документ
|
|||
|---|---|---|---|
|
#18+
DarkMasterktv, А не проще TByteDynArray запихать в строку в виде base64 и поместить в XML? каким образом? Типа Код: pascal 1. Cobalt747 , пока не знаю, саппорт их недоступен, мне бы пока уверенность в том, что я правильно понял их :) alekcvp, это значит, что в описании сервиса в документации для этого поля указан тип base64binary , а в коде он у меня идет как TByteDynArray. Суть в общем такая. Есть прокси тип, скажем TObject , который передается методу веб-сервиса. Так вот, его поле TObject.Value имеет тип base64binary (TByteDynArray). Именно в это поле надо поместить тот, изначальный, xml-документ, внутри которого в поле Data надо поместить данные в формате base64binary. То есть, как я понимаю, надо сформировать в Делфи xml-документ. В его поле Data засунуть "текстовый файл", а на самом деле у меня тут просто строка, которую, видимо, надо упаковать в TByteDynArray (base64binary) и как-то в это поле xmlDoc.Data поместить. И потом уже весь документ Xml надо снова упаковать в общий TByteDynArray(base64binary) и присвоить получившееся TObject.Value. Так вот, мне интересно, как все это технически осуществить правильно. 1. Строку пакуем в base64binary (то есть, возможно, в TByteDynArray). 2. Результат 1. присваиваем xmlDoc.Data 3. xmlDoc пакуем в base64binary 4. Результат 3. присваиваем TObject.Value, которое имеет тип TByteDynArray. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2017, 15:53:16 |
|
||
|
Поместить строку как base64binary в xml-документ
|
|||
|---|---|---|---|
|
#18+
DarkMasteralekcvpА можно как-нибудь попонятнее объяснить эту фразу? пропущено... Та строка там в base64 формате скорее всего - это ж web. Это понятно. Я не понял как ТС из обычного текста при помощи base64 получил T Byte DynArray. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2017, 16:09:55 |
|
||
|
Поместить строку как base64binary в xml-документ
|
|||
|---|---|---|---|
|
#18+
ktvСуть в общем такая. Есть прокси тип, скажем TObject , который передается методу веб-сервиса. Так вот, его поле TObject.Value имеет тип base64binary (TByteDynArray). Именно в это поле надо поместить тот, изначальный, xml-документ, внутри которого в поле Data надо поместить данные в формате base64binary. Ну если я правильно понял, то вам надо ваш текст преобразовать в base64-строк, эту строку засунуть между тегами <data>, после чего весь полученный xml-документ ещё раз преобразовать в base64-строку и уже эту строку скопировать в TObject.Value (например при помощи Move()). Единственное, что мне до сих пор непонятно - это почему свойство base64binary имеет двоичный формат, а не строковый. У меня есть только два предположения: 1. Прокси-тип сам кодирует этот "TByteDynArray" в base64, тогда это где-то должно быть описано и вы что-то не так поняли. В этом случае повторное кодирование в base64 не нужно. 2. Это косяк в архитектуре прокси-типа, вместо AnsiString там прописали TByteDynArray, что в результате требует лишних телодвижений для присвоения значения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2017, 16:17:28 |
|
||
|
Поместить строку как base64binary в xml-документ
|
|||
|---|---|---|---|
|
#18+
Закрыт вопрос. Нужно было запихнуть base64binary (string значение поля xml) внутрь другого base64binary (TByteDynArray). Внутреннее кодируется этим: Код: pascal 1. Второе этим: Код: pascal 1. То есть, прокси сам кодировал в base64 байтовый массив, сформированный нами, проблема была в том, что я использовал функцию конвертации строки в TByteDynArray, взятую где-то в сети. Она оказалась глючной. Такой способ конвертирования, приведенный выше, проблему решил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2017, 17:34:31 |
|
||
|
|

start [/forum/topic.php?fid=58&fpage=134&tid=2041890]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
18ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 196ms |
| total: | 298ms |

| 0 / 0 |
