2012-06-22 3 views
1

Я подключаюсь к .NET WebService от клиента Java (JaxB). Я пытаюсь передать SQL-подобную строку в полях одного из объектов. Другие поля объекта кажутся сериализованными просто отлично. По какой-то причине этот SQL-запрос заставляет сервер выдавать исключение.SOAP недопустимые символы

Вот содержание полезной нагрузки, как он был послан по проволоке ...

uniquedata.name = '2012' или извлечь (эпоха из (uniquedata.createdDate - to_timestamp ('2012', «YYYY/MM/DD HH/MI/SS»)) < 24 * 60 * 60 ИЛИ экстракт (эпоха от (uniquedata.modifiedDate - to_timestamp ('2012', 'YYYY/MM/DD HH/MI/SS')) < 24 * 60 * 60

интересно, наличие < экранирующих последовательностей.

javax.xml.ws.soap.SOAPFaultException: серверу не удалось прочитать запрос. ---> В документе XML есть ошибка (1, 1073). ---> Строка фильтра содержит недопустимые символы: uniquedata.name = '2012' OR extract (epoch from (uniquedata.createdDate - to_timestamp ('2012', 'YYYY/MM/DD HH/MI/SS')) < 24 * 60 * 60 или экстракта (эпоха из (uniquedata.modifiedDate - to_timestamp ('2012', 'ГГГГ/ММ/ДД ЧЧ/MI/SS')) < 24 * 60 * 60

исключение показывает, что они были должным образом не защищены. Тем не менее, я ожидал бы, что это будет виновником. Поэтому я попытался сопоставить индекс (1,1073) с исходным запросом, но он не имеет никакого сходства с исходным пакетом. Я даже попытался исключить < вывески, удаляющие заголовок xml, мыльный конверт и т. Д., Но не повезло.

Любые идеи, что попробовать дальше?

ответ

1

Оказывается, что запрос отправляется правильно и что это код в службе, которая выбрасывает ошибку.

Смежные вопросы