Ich habe eine .vbs entwickelt, um eine SOAP-Web-Services wie folgt aufzurufen. Während der Ausführung erhalte ich den Fehlercode 500. Bitte teilen Sie Ihre Ideen mit, wenn Sie dies zuvor gesehen haben.Aufruf SOAP-Web-Services mit Parameter konfrontiert Fehlercode: 500 Interner Server Fehler
Ich verwende Windows 7, um diese Datei auszuführen.
Dim dt
mydt = Now()
mm = add0(Month(mydt))
dd = add0(Day(mydt))
hh = add0(Hour(mydt))
mn = add0(Minute(mydt))
ss = add0(second(mydt))
'WScript.Echo (Year(mydt)) & mm & dd & hh & mm & ss
'short-name: Max 8 char
dt = mm & dd & hh & mm
Function add0 (testIn)
Select Case Len(testIn) < 2
Case True
add0 = "0" & testIn
Case Else
add0 = testIn
End Select
End Function
Set objFSO = CreateObject("Scripting.FileSystemObject")
objStartFolder = "C:\test"
Set objFolder = objFSO.GetFolder(objStartFolder)
Set colFiles = objFolder.Files
For Each objFile In colFiles
strFileName = objFile.Name
If objFSO.GetExtensionName(strFileName) = "xml" Then
strUrl = "http://IP:Server/dummy"
strRequest = "<soapenv:Envelope xmlns:soapenv=""http://schemas.xmlsoap.org/soap/envelope/""" &_
" xmlns:v1=""http://crsoftwareinc.com/xml/ns/titanium/newbiz/newbusinessuploadreleaseservice/v1_0""" &_
" xmlns:v11=""http://www.crsoftwareinc.com/xml/ns/titanium/common/v1_0""" &_
" <soapenv:Header>/" &_
" <soapenv:Body>" &_
" <v1:new-business-upload-release-request>" &_
" <v1:new-business-upload-dto>" &_
" <v11:ID>ID="& dt &"</v11:ID>" &_
" <v11:file-name>"& objFile.Name &"</v11:file-name>" &_
" <v11:manual-upload>""false</v11:manual-upload>" &_
" <v11:auto-linking-enabled-flag>""true</v11:auto-linking-enabled-flag>" &_
" <v11:auto-merging-enabled-flag>""true</v11:auto-merging-enabled-flag>" &_
" <v11:strategy-option-choice>""USE_CREDITOR_DEFAULT_STRATEGY</v11:strategy-option-choice>" &_
" <v11:account-strategy-option-choice>""USE_CREDITOR_DEFAULT_STRATEGY</v11:account-strategy-option-choice>" &_
" <v11:auto-release>""true</v11:auto-release>" &_
" </v1:new-business-upload-dto>" &_
" <v1:web-service-request-version>""2</v1:web-service-request-version>" &_
" </v1:new-business-upload-release-request>" &_
"</soapenv:Body>" &_
"</soapenv:Envelope>"
End If
Next
Dim http
Set http = createObject("Msxml2.ServerXMLHTTP")
http.Open "POST", strUrl, False
http.setRequestHeader "Authorization", "Basic 123"
http.setRequestHeader "Content-Type", "text/xml"
http.send strRequest
If http.Status = 200 Then
WScript.Echo "RESPONSE : " & http.responseXML.xml
Else
WScript.Echo "ERRCODE : " & http.status
Die 'add0()' Funktion ist eine Menge Overhead für das, was gerade mit 'mm = Richtig ("00", & Monat (mydt), 2) 'etc. – Lankymart
In Bezug auf die Frage ein HTTP 500 gleichgesetzt werden sollte Fehler tritt auf, wenn der Server einen Fehler feststellt und wahrscheinlich versucht, Ihre Anfrage zu parsen. Ich frage mich nur, was das '' '' in vielen Ihrer '' Elemente bedeutet? Ich stelle mir vor, dass der Web-Service die Anfrage abruft und einen Wert wie "USE_CREDITOR_DEFAULT_STRATEGY" abruft und sich fragt, was damit zu tun ist oder dass er nicht serialisiert wird und einen Fehler erzeugt. –
Lankymart