访问asmx Web服务返回页面未找到错误

时间:2014-06-26 09:51:45

标签: asp.net web-services iis-6

我在我的网站项目中添加了一个带有Genomfaktureing.asmx文件的Web服务,附加图像http://img42.com/e0xm0

我在ajax调用中调用此web服务。它在我的Visual Studio中工作,但在部署到生产服务器后发现找不到页面错误。我在IIS管理器中创建了一个Webservice虚拟文件夹,指向具有所需权限的页面。

$.ajax({
    type: "POST",
    url: "/Webservice/Genomfakturering.asmx/UpdateSalesLine",
    data: { inoutorderno: salesOrderNo, externaltype: extType, externalno: extNo, quantity: quant },
    error: function (jqXHR, textStatus, errorThrown) {
        alert(textStatus);
        alert(errorThrown);
    },
    success: function (msg) {
        $.ajax({
            dataType: "html",
            url: "/Templates/genomfakturering/ArticlesAdded.aspx",

            data: { orderNo: salesOrderNo },
            error: function (jqXHR, textStatus, errorThrown) {
                alert(textStatus);
                alert(errorThrown);
            },
            success: function (data) {
            }
        });
    }
});

网络服务代码

namespace se.dackia.web.Webservice
{
    [WebService(Namespace = "se.dackia.web")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
    [System.Web.Script.Services.ScriptService]
    public class Genomfakturering : System.Web.Services.WebService
    {
        [WebMethod]
        [ScriptMethod (UseHttpGet = true)]
        public string HelloWorld()
        {
            return "Hello World";
        }
        [WebMethod]
        public void UpdateSalesLine(string inoutorderno, string externaltype, string externalno, string quantity) 
        {
            // Get ext type from the string
            int exttype = 999;
            if (externaltype.ToLower().Equals("service"))
            {
                exttype = 6;
            }
            else if (externaltype.ToLower().Equals("rim")||externaltype.ToLower().Equals("tire"))
            {
                exttype = 2;
            }

            // converting string to decimal
            decimal quant = Decimal.Parse(quantity);
            try
            {
                // Adding new order line
                MSNavisionIntegration objMsNavisionIntegration=new MSNavisionIntegration();
                var newOrderLineNo= objMsNavisionIntegration.NewOrderLine(inoutorderno, exttype, externalno, quant);
            }
            catch (Exception ex)
            {
            }//catch
        }
    }

感谢任何帮助。

2 个答案:

答案 0 :(得分:0)

在IIS中,右键单击Webservice文件夹并转换为应用程序。

答案 1 :(得分:0)

更改以下代码行: url:“/ Webservice/Genomfakturering.asmx/UpdateSalesLine”,  像

这样的东西

url:“〜/ Webservice / Genomfakturering.asmx / UpdateSalesLine”或

url:“〜/ Genomfakturering.asmx / UpdateSalesLine”

根据您的Web应用程序中的目录结构。