Excel 使用VBA脚本调用SAP Data Services Web服务
我正在尝试执行一个SAP Data Services作业,该作业在会话安全性关闭的情况下作为Web服务发布。我跟着其中一个博客写了下面的VBA脚本。但是,这不会执行作业Excel 使用VBA脚本调用SAP Data Services Web服务,excel,xml,vba,sap,Excel,Xml,Vba,Sap,我正在尝试执行一个SAP Data Services作业,该作业在会话安全性关闭的情况下作为Web服务发布。我跟着其中一个博客写了下面的VBA脚本。但是,这不会执行作业 Dim sMsg As String Dim sURL As String Dim sEnv As String Set ObjHTTP = CreateObject("MSXML2.XMLHTTP") sURL = "https://SERVERNAME:PORT/DataService
Dim sMsg As String
Dim sURL As String
Dim sEnv As String
Set ObjHTTP = CreateObject("MSXML2.XMLHTTP")
sURL = "https://SERVERNAME:PORT/DataServices/servlet/webservices?ver=2.1&label=cm047_extract&wsdlxml"
sEnv = "<?xml version=""1.0"" encoding=""utf-8""?>"
sEnv = sEnv & "<soap:Envelope xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema"" xmlns:soap=""http://schemas.xmlsoap.org/soap/envelope/"">"
sEnv = sEnv & "<soap:Body>"
sEnv = sEnv & "<ser:RunBatchJobRequest>"
sEnv = sEnv & "<jobName>SAMPLE_JOB</jobName>"
sEnv = sEnv & "<repoName>DS1_REPO_LOCL11</repoName>"
sEnv = sEnv & "<jobServer>Job_Server04</jobServer>"
sEnv = sEnv & "<jobParameters>"
sEnv = sEnv & "<job_system_profile>Dev_Config</job_system_profile>"
sEnv = sEnv & "</jobParameters>"
sEnv = sEnv & ""
sEnv = sEnv & "</ser:RunBatchJobRequest>"
sEnv = sEnv & "</soap:Body>"
sEnv = sEnv & "</soap:Envelope>"
ObjHTTP.Open "Post", sURL, False
ObjHTTP.setRequestHeader "Content-Type", "text/xml;charset=\'utf-8\'"
ObjHTTP.setRequestHeader "SOAPAction", "job=SAMPLE_JOB"
ObjHTTP.send (sEnv)
MsgBox ObjHTTP.responseText
Worksheets("Sheet1").Range("R8").Value = ObjHTTP.responseText
Set ObjHTTP = Nothing
Set xmlDoc = Nothing
End Sub
Dim sMsg作为字符串
作为字符串的Dim sURL
作为字符串的Dim sEnv
设置ObjHTTP=CreateObject(“MSXML2.XMLHTTP”)
苏尔=”https://SERVERNAME:PORT/DataServices/servlet/webservices?ver=2.1&label=cm047_extract&wsdlxml"
sEnv=“”
sEnv=sEnv&“
sEnv=sEnv&“
sEnv=sEnv&“
sEnv=sEnv&“样本作业”
sEnv=sEnv和“DS1\U回购\U LOCL11”
sEnv=sEnv&“作业\服务器04”
sEnv=sEnv&“
sEnv=sEnv&“开发配置”
sEnv=sEnv&“
sEnv=sEnv&“
sEnv=sEnv&“
sEnv=sEnv&“
sEnv=sEnv&“
对象打开“Post”,sURL,False
ObjHTTP.setRequestHeader“内容类型”,“text/xml;字符集=\'utf-8\”
ObjHTTP.setRequestHeader“SOAPAction”,“作业=示例作业”
ObjHTTP.send(sEnv)
MsgBox ObjHTTP.responseText
工作表(“表1”).Range(“R8”).Value=ObjHTTP.responseText
设置ObjHTTP=Nothing
设置xmlDoc=Nothing
端接头
如果您试图编译XML,则需要包含适当的间距。更正-尝试为ser添加名称空间定义,即xmlns:ser=“…”到soap:Envelope元素中