C# 从.NET调用PHP Web服务时发生永久移动错误

C# 从.NET调用PHP Web服务时发生永久移动错误,c#,php,.net,web-services,wsdl,C#,Php,.net,Web Services,Wsdl,我已经用PHP开发了一个Web服务。。。当我从PHP应用程序调用它时,它工作得非常好,但是当我从.NET调用它时,我遇到了问题 调用web方法时收到的错误是“永久移动” 服务的WSDL位于: NET代码如下所示: private void button1_Click(object sender, EventArgs e) { Servicio.Desytec_Feriados svc = new Servicio.Desytec_Feriados(); var feriados

我已经用PHP开发了一个Web服务。。。当我从PHP应用程序调用它时,它工作得非常好,但是当我从.NET调用它时,我遇到了问题


调用web方法时收到的错误是“永久移动”

服务的WSDL位于:

NET代码如下所示:

private void button1_Click(object sender, EventArgs e)
{
    Servicio.Desytec_Feriados svc = new Servicio.Desytec_Feriados();
    var feriados = svc.GetHolidays("8cd4c502f69b5606a8bef291deaac1ba83bb9876", "cl", "2014", "5");

    System.Diagnostics.Debug.WriteLine(feriados.Length);
}

这是因为WSDL的URL指定错误。它写为,但正确的是,因为.htaccess正在剥离app.php部分(webservice是使用Symfony php框架编程的)

问候
Jaime

这可能意味着您的Web服务正在重定向URL…如果您使用System.Net.HttpWebRequest或System.Net.WebClient,请查看是否有自动跟踪重定向的方法…或检查状态是否永久移动(状态代码301)…并检查响应头以跟踪URL没有重定向。。。正如我所说,当从PHP网页调用webservice时,webservice可以工作。如果使用WSDL url,则XML文档将正确显示。“调用web方法时收到的错误为“永久移动”。很明显,你得到的不是状态200 OK。你认为.NET在地位问题上撒谎吗?您可能会得到301…PHP可能会自动跟踪重定向头,但dot net不会。您可以发布实际使用WebClient或HttpRequest类的代码吗?如何找到该代码?当我添加Webservice引用时,它会添加一个reference.cs文件,其中包含一个派生自SoapHttpClientProtocol的类。在它里面,调用Invoke实际上调用了实际的方法。有人知道解决方案吗?