尝试在asmx webservice上进行发布调用时出错

时间:2012-02-03 15:03:55

标签: jquery asp.net asmx

我有一个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"}

1 个答案:

答案 0 :(得分:0)

检查您的web.config文件以确保您允许POST。如果您通过Visual Studio运行,通常不需要这样做,但是部署它时通常会导致此类问题。

<webServices>
  <protocols>
    <add name="HttpPost"/>
  </protocols>
</webServices>

我的其他建议是确保JavaScript中url参数中的地址是正确的 - 它是相对URL,因此请检查这不是问题。

有关网址的更多详情。

请您尝试在此处填写网络服务的完全限定网址:

url: 'WebServices/ServiceName.asmx/Method'

这可能是问题所在。此外,当您输入完整的URL时,请仔细检查以确保它与调用它的网页位于同一个域中。