我把代碼先貼上,IP地址是公司的我就給改成了XX,我看了下好像沒有問題,不知道錯誤在哪,最后就是報錯誤bad request,我把錯誤的提示也貼上,
求大神幫看下,100分感謝。。

Dim soap As New SoapClient30
Private Sub Command1_Click()
Dim strtest As String
strtest = "<?xml version=""1.0"" encoding=""utf-8""?> "
strtest = strtest + " <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/""> "
strtest = strtest + " <soap:Body> "
strtest = strtest + " <CheckInNotify xmlns=http://tempuri.org/""> "
strtest = strtest + " <RoomNo>601</RoomNo> "
strtest = strtest + " <Floor>6</Floor> "
strtest = strtest + " <GuestName>test0520</GuestName> "
strtest = strtest + " <GuestID>111111111111111</GuestID> "
strtest = strtest + " <Gender>male</Gender> "
strtest = strtest + " <GuestAccount>test0520</GuestAccount> "
strtest = strtest + " <Nationality>中國</Nationality> "
strtest = strtest + " <GroupNo>001</GroupNo> "
strtest = strtest + " <GroupName>test</GroupName> "
strtest = strtest + " <TurnOnVOD>True</TurnOnVOD> "
strtest = strtest + " <PhoneNumber>11111111</PhoneNumber> "
strtest = strtest + " <Address>111</Address> "
strtest = strtest + " <RoomMates> False</RoomMates> "
strtest = strtest + " </CheckInNotify> "
strtest = strtest + " </soap:Body> "
strtest = strtest + " </soap:Envelope> "
strxml = strtest
'定義一個http物件,一邊向服務器發送post訊息
Dim h As MSXML2.ServerXMLHTTP40
'定義一個XML的檔案物件,將手寫的或者接受的XML內容轉換成XML物件
Dim x As MSXML2.DOMDocument40
'初始化XML物件
Set x = New MSXML2.DOMDocument40
'將手寫的SOAP字串轉換為XML物件
x.loadXML strxml
'初始化http物件
Set h = New MSXML2.ServerXMLHTTP40
'向指定的URL發送Post訊息。這里的webservice地址為需要參考的地址
h.open "POST", "http://XXX.XX.XXX.XXX:XXXX/ws/vodws.php?wsdl", False
h.setRequestHeader "Content-Type", "text/xml"
h.setRequestHeader "SOAPAction", "http://XXX.XX.XXX.XXX:XXX/ws/vodws.php?wsdl"
h.send (strxml)
While h.readyState <> 4
Wend
'顯示回傳的XML資訊
Dim text As String
text = h.responseText
MsgBox text
End Sub
Private Sub Form_Load()
On Error Resume Next
soap.ClientProperty("ServerHTTPRequest") = True
Call soap.mssoapinit("http://XXX.XX.XXX.XXX:XXXX/ws/vodws.php?wsdl")
If Err <> 0 Then
MsgBox "初始化SOAP失敗 " + Err.Description
Else
MsgBox "初始化成功"
End If
End Sub
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/75311.html
標籤:VB基礎類
