Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 使用VBA脚本调用SAP Data Services Web服务_Excel_Xml_Vba_Sap - Fatal编程技术网

Excel 使用VBA脚本调用SAP Data Services Web服务

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

我正在尝试执行一个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/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元素中