2014-03-28 1 views
0

PHP에서 WebService를 개발했습니다 ... PHP 응용 프로그램에서 호출 할 때 완벽하게 작동하지만 .NET에서 호출 할 때 문제가 있습니다..NET에서 PHP WebService를 호출 할 때 영구적으로 오류가 발생했습니다

웹 메서드를 호출 할 때받은 오류는 "Movated Permanently"입니다.

서비스의 WSDL은에 있습니다 : http://feriados.servicios.desytec.com/feriados?wsdl

그리고 .NET 코드는 다음과 다음 WSDL의 URL을 지정 나쁜 때문에

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); 
} 
+0

는 자동으로 리디렉션을 수행 할 수있는 방법이 있는지 System.Net.HttpWebRequest 또는 System.Net.WebClient 볼 사용하는 경우 .... URL을 리디렉션입니다 ... . 상태가 영구적으로 이동했는지 확인 (상태 코드 301) ... URL을 따라 응답 헤더를 확인하십시오. – rnirnber

+0

리디렉션이 없습니다 ... 그리고 내가 말했듯이 웹 서비스는 PHP 웹 페이지에서 호출 될 때 작동합니다. WSDL url을 사용하면 XML 문서가 올바르게 표시됩니다. – jstuardo

+0

"웹 메서드를 호출 할 때받은 오류는 'Moved Permanently'입니다. 분명히 상태 200 OK가 아닌 다른 것을 얻고 있습니다 .NET이 상태에 대해 거짓말한다고 생각합니까? ... PHP는 자동으로 리디렉션 헤더를 따르지만 도트 넷은 그렇지 않습니다. 실제로 WebClient 또는 HttpRequest 클래스를 사용하는 코드를 게시 할 수 있습니까? – rnirnber

답변

0

그것은 때문이었다. http://destec.com/app.php/feriados으로 작성되었지만 올바른 것은 http://destec.com/feriados입니다. 왜냐하면 .htaccess가 app.php 부분을 제거하기 때문입니다 (웹 서비스는 Symfony PHP 프레임 워크를 사용하여 프로그래밍되었습니다).

감사 제이미는 가능성이 웹 서비스를 의미

관련 문제