2009-06-18 19 views
0

Webサービスからの回答としてXMLを解析するときに、次のエラーが表示されます。MSXML2.DomDocument.3.0無効な文字

  • テキストコンテンツに無効な文字が見つかりました。 。

Webサービスは、例えばΨや奇形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 

質問があればありますメッセージを解析する前に文字を検出する方法はありますか?いくつかの例は非常に良いでしょう。

ありがとうございます。

答えて

0

あなたは別のアプローチをしたいかもしれません。 Notes 8を使用すると、Webサービスをネイティブに使用し、一部のLotusScript(またはJavaクラス)を処理することができます。コアコードはエンコーディングなどを処理しますので、処理する必要はありません。政治的理由から古いバージョンのLotus Notesに慣れている場合は、[Stubby] [1](Webサービススレーヤー)を使用してコードを生成できます。 OLE接続よりもはるかに信頼性が高い。

[1]:http://www.nsftools.com/stubby/スタブビー