我有一个简单的Web服务(asmx)。我说这很简单,因为在排除故障的过程中,除了“Return”语句之外,我已经删除了每一行代码。该服务除了获取请求并返回一个字符串之外什么都不做。
我尝试了3种或4种不同的调用Web服务的方法,每次都返回错误:500错误内部服务器错误
如果我在我的浏览器中转到服务网址,它会很好地加载并向我显示方法,请求样本等。
以下是我的网络服务的代码
<WebService(Namespace:="http://tempuri.org/")> _
<WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)> _
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Public Class CalendarSyncService
Inherits System.Web.Services.WebService
<WebMethod()> _
Public Function SendXml(ByVal cBody As String) As String
Return "Test"
End Function
End Class
该页面从不记录任何错误并在浏览器中工作,因此我很难对其进行故障排除。是否有理由在浏览器中工作但在通过httprequest,webrequest,soap等调用时给出500错误?
答案 0 :(得分:1)
我有一个类似的问题,webservice在本地服务器上运行很好,但在托管服务器上它返回500内部错误。 只需在web.config中添加它
<configuration>
<system.web>
<webServices>
<protocols>
<add name="HttpGet"/>
<add name="HttpPost"/>
</protocols>
</webServices>
</system.web>
</configuration>
答案 1 :(得分:0)
运行Fiddler并检查您的通话,看看在浏览器中调用它时的差异与以编程方式调用它时的区别。