.net 如何使用HTTPWebRequest在web服务上调用web方法?
当使用HTTPWebRequest对象调用web服务并提供wsdl参数时,我得到了描述页面ok.net 如何使用HTTPWebRequest在web服务上调用web方法?,.net,web-services,.net,Web Services,当使用HTTPWebRequest对象调用web服务并提供wsdl参数时,我得到了描述页面ok Dim req As Net.HttpWebRequest Dim resp As Net.HttpWebResponse Dim sr As IO.StreamReader Dim text As String req = Net.WebRequest.Create("http://www.mysite.com/DS.asmx?wsdl") ' works ' resp = req.GetResp
Dim req As Net.HttpWebRequest
Dim resp As Net.HttpWebResponse
Dim sr As IO.StreamReader
Dim text As String
req = Net.WebRequest.Create("http://www.mysite.com/DS.asmx?wsdl") ' works '
resp = req.GetResponse
sr = New IO.StreamReader(resp.GetResponseStream)
text = sr.ReadToEnd
但是,当我尝试使用显示为soapAction的引用调用其中一个方法时,我发现(404)找不到
req = Net.WebRequest.Create("http://mysite.com/DS/StaffList") ' fails '
在调用方法的方式上是否存在我所缺少的差异?我是否误解了地址的结构
注意:如果我在VisualStudio项目中设置了一个标准的WebReference并调用WebService对象上的方法,那么该服务就可以正常工作,因此该服务本身是可用的并且可以工作 为了调用soapweb服务,您需要发布一个。这就是使用
WebReference
生成的类在幕后所做的。除非有令人信服的理由,否则永远不要使用底层类(如HttpWebRequest)调用SOAP web服务,而是使用Add WebReference
从WSDL生成代理
看一看。还请注意,经典的ASMX web服务现在被认为是一种不推荐使用的技术,应该被替换为。您正在尝试一种预
WCF
web服务。
如果选择迁移到WCF
服务,则可以将该服务映射到
(表示性状态转移)用于(除其他选项外)描述URL结构中的函数调用,而无需SOAP等其他内容