我需要从Excel / VBA创建SOAP请求。请原谅我的一些术语,因为我对这个过程还不熟悉。
在SOAP请求的标头中有2个“部分”。 UserAuth 和 CallBackAuth 。然后在肥皂体下有检索。
在VBA中创建信封字符串的构造并发送后,我最初收到的错误是明显的身份验证错误。一旦我使用了正确的名称和密码,那些错误就会消失,所以我知道我在这个过程的设置上走在正确的轨道上。
现在我无法解决错误“将数据类型varchar转换为数字时出错”。如何排除此错误?这似乎是你在SQL中看到的一个我非常熟悉的标准错误,但是由于我的知识有限,它没有意义。
我已经尝试过所有我认为这些占位符的组合无济于事。
从我认为问题的信封构造中添加片段?
sEnv = sEnv & "<UserAuth xmlns=""http://targetsite.com/webservices"">"
sEnv = sEnv & "<UserName>TEST</UserName>" '***Need String
sEnv = sEnv & "<Password>TEST1234</Password>" '***Need String
sEnv = sEnv & "<SID>1234567</SID>" '***Need INT
sEnv = sEnv & "<PID>1234566</PID>" '***Need INT
sEnv = sEnv & "<IUser></IUser>" '***Need String
sEnv = sEnv & "</UserAuth>"
sEnv = sEnv & "<CallBackAuth xmlns=""http://realpage.com/webservices"">"
sEnv = sEnv & "<App></App>" '***Need String
sEnv = sEnv & "<SID>""111""</SID>" '***Need String
sEnv = sEnv & "<SID>4242423</SID>" '***Need INT
sEnv = sEnv & "<PID>4242422</PID>" '***Need INT
sEnv = sEnv & "<EncryptionKey>""TESTID""</EncryptionKey>" '***Need String
sEnv = sEnv & "</CallBackAuthInfo>"
sEnv = sEnv & "</soap:Header>"
sEnv = sEnv & "<soap:Body>"
sEnv = sEnv & "<RetrieveData xmlns=""http://targetsite.com/webservices"">"
sEnv = sEnv & "<after>""30""</after>" '***Need String
sEnv = sEnv & "<balance>""0.00""</balance>" '***Need String
sEnv = sEnv & "<sID>""ALL""</sID>" '***Need String
sEnv = sEnv & "<Fextract>""1/1/1900""</Fextract>" '***Need String
sEnv = sEnv & "<Textract>""10/01/2017""</TextractTo>" '***Need String
sEnv = sEnv & "<ErroronData>true</ErroronData>" '***Need BOOLEAN
sEnv = sEnv & "</RetrieveData>"
sEnv = sEnv & "</soap:Body>"
sEnv = sEnv & "</soap:Envelope>"
答案 0 :(得分:1)
我认为你不需要围绕字符串值引用。
另外 - 你有两个SID标签,一个是数字标签,另一个是文字 - 看起来很奇怪,因为没有什么可以区分它们。