问题描述
当发送 xml 到 Tally 以从 Tally 获取任何信息到 VB 时,响应 xml 仅显示 TallyPrime 服务器正在运行。在 EXRes 收到来自 Tally 的响应之前,xml 已更改或暂停/定时插入时响应相同。
Public Sub LdrEx()
Dim ExCd As String
ExCd = LedXmCd()
Dim objXML As MSXML2.ServerXMLHTTP
Set objXML = New MSXML2.ServerXMLHTTP
objXML.Open "POST","http://localhost:9000",False
objXML.send ExCd
Dim EXRes As String
EXRes = objXML.responseXML
Set objXML = nothing
Dim TFile As String
TFile = Environ("HOMEDRIVE") & Environ("HOMEPATH") & "\Desktop\LdReceived.xml"
Open TFile For Output As #1
Print #1,EXRes
Close #1
End Sub
来自 LedXmCd() 的 XML 是:
<ENVELOPE>
<HEADER>
<VERSION>1</VERSION>
<TALLYREQUEST>EXPORT</TALLYREQUEST>
<TYPE>DATA</TYPE>
<ID>Voucher Register</ID>
</HEADER>
<BODY>
<DESC>
<STATICVARIABLES>
<SVFROMDATE TYPE="Date">20210101</SVFROMDATE>
<SVTODATE TYPE="Date">20210101</SVTODATE>
<VOUCHERTYPENAME TYPE="STRING">Receipt</VOUCHERTYPENAME>
</STATICVARIABLES>
</DESC>
</BODY>
</ENVELOPE>
解决方法
通过在变量ExCd中添加watch和断点来检查XML是否保存在
objXML.send ExCd