我有一个web服务,当我尝试拨打电话时,我只从生产服务器收到以下错误。 在开发服务器上运行良好!
500 (Internal Server Error)
以下是来自网络服务的标头
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
[System.Web.Script.Services.ScriptService]
public class Getavailability : System.Web.Services.WebService {
.
.
}
这是客户端代码
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: 'WebServices/ServiceName.asmx/Method',
data: "{" +
"'fromDate': 'data'," +
"'fromTime': 'data'," +
"'toDate': 'data'," +
"'toTime': 'data'," +
"'flyingFrom': 'data'" +
"}",
cache: false,
success: function (data) {
//do something
}
});
服务器有一个iis6和.net 4
有谁知道可能导致这种情况的原因?
我会感谢任何评论
由于
修改
这是整个消息
{"Message":"Unable to connect to the remote server","StackTrace":"
atSystem.Net.HttpWebRequest.GetRequestStream(TransportContext& context)
at System.Net.HttpWebRequest.GetRequestStream()
at BLL.AbstractXML.GetXmlSR(String strURL, String queryStr)
at AvailabilityRQ.Get(DateTime fromDate, DateTime fromTime, DateTime toDate, DateTime toTime, String flyingFrom)
at Web.WebServices.Getavailability.Get(String fromDate, String fromTime, String toDate, String toTime, String flyingFrom)","ExceptionType":"System.Net.WebException"}
答案 0 :(得分:0)
检查您的web.config文件以确保您允许POST。如果您通过Visual Studio运行,通常不需要这样做,但是部署它时通常会导致此类问题。
<webServices>
<protocols>
<add name="HttpPost"/>
</protocols>
</webServices>
我的其他建议是确保JavaScript中url参数中的地址是正确的 - 它是相对URL,因此请检查这不是问题。
有关网址的更多详情。
请您尝试在此处填写网络服务的完全限定网址:
url: 'WebServices/ServiceName.asmx/Method'
这可能是问题所在。此外,当您输入完整的URL时,请仔细检查以确保它与调用它的网页位于同一个域中。