MSXML2.DomDocument.3.0 недопустимые символы - PullRequest
0 голосов
/ 19 июня 2009

Я получаю следующую ошибку при синтаксическом анализе XML как ответа от веб-службы.

  • В текстовом содержимом найден недопустимый символ.

Веб-служба отправляет ответы с некоторыми символами, например, Ψ или HTML-тесты со структурой "или <и>.

Используемый код:

Set var_xmlPostObject = CreateObject("MSXML2.ServerXMLHTTP.3.0")
Set var_xmlRequestDoc = CreateObject("MSXML2.DOMDocument")
Set var_xmlResponseDoc = CreateObject("MSXML2.DomDocument.3.0")
'Send xml
Call var_xmlRequestDoc.loadXML(str_xml)
Dim var_pi As Variant
Set var_pi = var_xmlRequestDoc.CreateProcessingInstruction("xml", "version='1.0' encoding='ISO-8859-1'")
Call var_xmlRequestDoc.InsertBefore(var_pi, var_xmlRequestDoc.ChildNodes(0)) 'open the POST (or GET) connection to the web server
Call var_xmlPostObject.open("POST", str_soapPost, False)
Call var_xmlPostObject.setRequestHeader("Content-Type", str_soapType)
Call var_xmlPostObject.send(var_xmlRequestDoc.xml)
'Set response properties
var_xmlResponseDoc.async = False
var_xmlResponseDoc.validateOnParse = False
var_xmlResponseDoc.resolveExternals = False
Set var_xmlResponseDoc = var_xmlPostObject.responseXML
Print "var_xmlResponseDoc.xml: " & var_xmlResponseDoc.xml
If var_xmlResponseDoc.parseError.errorCode <> 0 Then
    'Alert
Else
    'Do something
End if

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

Заранее спасибо.

1 Ответ

0 голосов
/ 30 июня 2009

Возможно, вы захотите пойти по-другому. Notes 8 позволяет вам использовать веб-сервис и просто работать с некоторыми LotusScript (или классами Java). Основной код позаботится о кодировании и т. Д., Поэтому вам не нужно иметь с ним дело. Если по политическим причинам вы застряли в устаревшей версии Lotus Notes, вы можете использовать [Stubby] [1] (убийца веб-службы) для генерации кода. Гораздо надежнее, чем соединение OLE.

[1]: http://www.nsftools.com/stubby/ Stubby

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...