Ключевое слово в защите информации
ключевое слово
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход. Новые регистрации запрещены.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline origin  
#1 Оставлено : 24 июля 2012 г. 20:30:24(UTC)
origin

Статус: Новичок

Группы: Участники
Зарегистрирован: 15.06.2012(UTC)
Сообщений: 2
Откуда: Msk

Уважаемые коллеги. При формировании запроса к SOAP - интерфейсу на регистрацию пользователей и прочие подобные действия столкнулся с проблемой невозможности разместить в теле поля RDN кавычки и знак равенства. При их использовании вылетает исключение вида "Некорректный запрос. Неверное имя DN.". Может кто сталкивался и подскажет, какова методика замены спецсимволов в этих сообщениях?

Заранее спасибо.
Offline origin  
#2 Оставлено : 25 июля 2012 г. 18:26:17(UTC)
origin

Статус: Новичок

Группы: Участники
Зарегистрирован: 15.06.2012(UTC)
Сообщений: 2
Откуда: Msk

Спасибо, что дали время покурить англоязычные мануалы.

На самом деле всё просто: если есть спецсимволы, то ставим перед ними бэкслэш, а параметр обрамляем в кавычки.

И если кому совсем думать лень, то на шарпах процедура такая:

Код:

string FormatInputData(DataRow dr, string sColumn)
        {
            string s = "";
            if ((dr[sColumn] == System.DBNull.Value) && (dr[sColumn].ToString().Length == 0))
                return "";

            s = dr[sColumn].ToString();
            //если есть эскейп-символы, то
            if (Regex.IsMatch(s, ".*[\",=].*"))
            {
                //заменяем их
                s = s.Replace("\"", "\"\"").Replace(",", @"\,").Replace("=",@"\=");
                //и обрамляем значение в кавычки
                s=@""""+ s + @"""";
            }
            return s;
        }
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.