直接写soap调用webservice的问题

hillok 2015-07-06 10:16:06
我有一个 http://192.168.19.134/service/api.php?wsdl
做了简单的两个函数, feedback 和 add
我使用vb调用时,用soap toolkit很容易就可以调用了

Dim ss As New SoapClient30

ss.MSSoapInit "http://192.168.19.134/service/api.php?wsdl"
MsgBox ss.feedback("zzzz")
MsgBox ss.Add(34, 56)


但是想学习一下使用xmlhttp,通过soap来调用,应该怎么写?

        url = "http://192.168.19.134/service/api.php?wsdl"
oXMLHttp.Open "POST", url, False
oXMLHttp.setRequestHeader "Content-Type", "text/xml; charset=utf-8"
oXMLHttp.setRequestHeader "Content-length", Len(URLEncode(postData))
oXMLHttp.setRequestHeader "Accept-Language", "zh-CN"
oXMLHttp.setRequestHeader "SOAPAction", "http://192.168.19.134/service/api.php?wsdl"
oXMLHttp.setRequestHeader "Host", "192.168.19.134"
oXMLHttp.Send URLEncode(postData)



postdata
        postData = "<?xml version=""1.0"" encoding=""utf-8""?>"
postData = postData & "<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/"">"
postData = postData & "<soap:Body xmlns:m=""http://192.168.19.134/service/api.php?wsdl"">"
postData = postData & "<m:add>"
postData = postData & "<m:aa>1</m:aa>"
postData = postData & "<m:bb>2</m:bb>"
postData = postData + "</m:add>"
postData = postData + "</soap:Body>"
postData = postData + "</soap:Envelope>"




我这样写的消息发过去总是收到500的错误,到底是哪里错了呢?
...全文
312 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
hillok 2015-07-10
  • 打赏
  • 举报
回复
引用 1 楼 caozhy 的回复:
用fiddler调试下,看看送出的数据是否正确。
问题我自己解决了,你这个回答有帮助,因为字符集问题导致送出去的数据不对
Justin-Liu 2015-07-07
  • 打赏
  • 举报
回复
为何舍易求难
hillok 2015-07-07
  • 打赏
  • 举报
回复
原因1 学习 原因2 想做一个免安装的应用
引用 2 楼 FoxDave 的回复:
为何舍易求难
threenewbee 2015-07-06
  • 打赏
  • 举报
回复
用fiddler调试下,看看送出的数据是否正确。

12,163

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 Web Services
社区管理员
  • Web Services社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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