VB通过SOAP访问webservices问题

zu0428 2016-05-21 04:44:08
我把代码先贴上,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
...全文
172 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧