请求WSDL返回网站默认页面

时间:2014-09-30 20:55:46

标签: asp.net .net asmx

我有一个我以前从未见过的奇怪问题。当我请求新的Web服务的WSDL时 - > https://www.website.com/serviceapp/SVC1.asmx?WSDL< - 请求被修改,因此网址如下: - > http://www.website.com/serviceapp/Default.aspx?ReturnUrl=%2fserviceapp%2fSVC1.asmx%3fWSDL&WSDL< - 这当然导致找不到资源'错误。在涉及到webservices时,我不是一个专家,所以这可能是一个简单的配置问题?服务应用程序文件夹位于根网站文件夹中。 web.config身份验证元素如下所示:

    <authentication mode="Forms">
        <forms name=".ASPXXYZ" loginUrl="Default.aspx" protection="All" path="/" timeout="60"/>
    </authentication>

这可能是问题的一部分吗?无论我在目录中的哪个位置,是否都会调用登录URL?提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

将另一个web.config文件添加到 serviceapp 文件夹并添加:

    <authorization>
        <allow users ="*" />
    </authorization>

system.web 节点下 serviceapp 文件夹中的web.config。

这样,任何人都可以访问 serviceapp 文件夹中的任何,但不能访问应用的根目录。

现在,我假设您正在使用基于表单的身份验证,因此任何尝试访问您的应用程序的任何URL的人都会被拒绝访问,直到他们登录。当您允许所有用户访问特定文件夹时,他们不会需要进行身份验证。