Можно ли отправить MD5-хэш-вычисленную строку поверх SOAP?
Всякий раз, когда я делаю что-то вроде String key = md5(something)
и пытаюсь отправить ключ через Java SOAP-клиент, я всегда получаю сообщение об ошибке
Сообщение: Недопустимый символ XML (Unicode: 0xsomething) был найден в содержимом элемента документа.
Я знаю, что вычисление md5 в строке, по-видимому, приводит к недопустимым символам XML. Вопрос заключается в том, чтобы знать, есть ли способ, который может пройти через все равно.
Я использую класс MessageDisgest
Java для вычисления строк MD5.
С наилучшими пожеланиями.
Эдмон
Просто преобразуйте массив байтов MD5 в шестнадцатеричное представление строки или закодируйте его с помощью Base64. Оба преобразования приводят к простой строке, которая может быть включена в XML без (XML) кодирования.
Декодировать данные Base64 в Java
Преобразование из байтового массива в шестнадцатеричную строку в java
'a'
совпадает с 'A'
. Вы можете конвертировать из одной формы в другую, используя String.toLowerCase()
и String.toUpperCase()
.
soap
, а оxml
вообще