【问题标题】:Asmx web service 500 ErrorAsmx Web 服务 500 错误
【发布时间】:2013-12-11 08:31:51
【问题描述】:

我有一个简单的网络服务 (asmx)。我说的很简单,因为在故障排除过程中,我已经删除了除“Return”语句之外的每一行代码。该服务只需要获取请求并返回一个字符串即可。

我已经尝试了 3 或 4 种不同的调用 Web 服务的方法,每次都返回错误:500 error internal server error

如果我在浏览器中访问服务 url,它会很好地加载并显示方法、请求示例等。

这是我的网络服务的代码

<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 错误?

【问题讨论】:

    标签: asp.net vb.net web-services asmx


    【解决方案1】:

    我有一个类似的问题,webservice 在本地服务器上运行良好,但在托管服务器上返回 500 内部错误。 只需将其添加到您的 web.config 中

    <configuration>
        <system.web>
        <webServices>
            <protocols>
                <add name="HttpGet"/>
                <add name="HttpPost"/>
            </protocols>
        </webServices>
        </system.web>
    </configuration>
    

    【讨论】:

      【解决方案2】:

      运行 Fiddler 并检查您的调用,看看您在浏览器中调用它与以编程方式调用它时有何区别。

      【讨论】:

      • 感谢您的帮助。您能否具体说明我应该寻找哪些类型的错误?我确实注意到了一个区别。通过浏览器导航到 asmx 在标题中显示 GET,而应用程序显示 POST。这可能是问题吗?我真的不认为在我的代码中使用 GET 是可行的,因为我的目标是上传大型 xml 文件
      • 您可能需要在 web.config 中启用 HttpPost:support.microsoft.com/kb/819267。您的 500 出现什么错误?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-05
      • 1970-01-01
      • 2012-09-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多