System.Net.WebExceptionStatus.ProtocolError Cuando renombro en un servidor FTP

Iniciado por iggarc_Si, 2 Julio 2015, 09:55 AM

0 Miembros y 1 Visitante están viendo este tema.

iggarc_Si

Hola!

Estoy haciendo un programa para renombrar un archivo XML de un servidor FTP y me da el siguiente error

"The remote server returned an error: (501) Syntax error in parameters or arguments"

Me pongo a ver el error y en Status veo lo siguiente"System.Net.WebExceptionStatus.ProtocolError"

El programa lo he desarrollado con Microsoft Visual C# 2010 Express.

Yo he probado este programa con Windows 7 y me funciona correctamente, pero probando el programa en Windows Xp no funciona, y el programa tiene que funcionar con Windows XP.

¿Tengo que descargarme alguna librería o instalar algo adicional el Visual C#2010 o en Windows XP?

Mi programa es el siguiente

-----------------------------------------

Código (csharp) [Seleccionar]

    FtpWebRequest request = null;

           string filename = "FI_SINC_QH60_S16104_20150615115359.XML;1";

           request = ((FtpWebRequest)FtpWebRequest.Create(new Uri("ftp://10.160.190.175/" + filename)));



           request.Credentials = new NetworkCredentialuser, pass);


            string newfileame = filename.Replace(";1", "_OLD");


           request.Method = WebRequestMethods.Ftp.Rename;

           request.RenameTo = newfileame;

           request.GetResponse();


-----------------------------------------

Y el error es este:

-----------------------------------------


   Not monitored System.Net.WebException

   Message=The remote server returned an error: (501) Syntax error in parameters or arguments.

   Source=System

    StackTrace:

      at System.Net.FtpWebRequest.SyncRequestCallback(Object obj)

      at System.Net.FtpWebRequest.RequestCallback(Object obj)

      at System.Net.CommandStream.Dispose(Boolean disposing)

      at System.IO.Stream.Close()

      at System.IO.Stream.Dispose()

      at System.Net.ConnectionPool.Destroy(PooledStream pooledStream)

      at System.Net.ConnectionPool.PutConnection(PooledStream pooledStream, Object owningObject, Int32 creationTimeout, Boolean canReuse)

      at System.Net.FtpWebRequest.FinishRequestStage(RequestStage stage)

      at System.Net.FtpWebRequest.GetResponse()

      at WindowsFormsApplication1.Form1..ctor() in C:\Documents and Settings\SAM844\Desktop\WindowsFormsApplication1\WindowsFormsApplication1\Form1.cs:line 41

      at WindowsFormsApplication1.Program.Main() in C:\Documents and Settings\SAM844\Desktop\WindowsFormsApplication1\WindowsFormsApplication1\Program.cs:line 18

      at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)

      at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)

      at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()

      at System.Threading.ThreadHelper.ThreadStart_Context(Object state)

      at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)

      at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)

      at System.Threading.ThreadHelper.ThreadStart()

   InnerException:

-----------------------------------------

Alguna idea??

Gracias por la ayuda

final_frontier

Para que se de esa situación lo único que se me ocurre es que has compilado la aplicación con una versión de .Net en windows 7 (yo tengo la 4.5 con la VS Community 2013) y la estés ejecutando con una distinta en Windows XP.

En Windows XP se quedaron en la versón 4 y por defecto la que suele utilizar es la 3.5, tendrías que hacer que XP utilizase el 4 por defecto o compilar el proyecto en una versión del .Net anterior, y puede que tengas que cambiar partes del programa porque esa traza me da a entender de que faltan parámetros y la función podría ser distinta.

Cómo ver la versión de .Net que se está utilizando:
http://stackoverflow.com/questions/199080/how-to-detect-what-net-framework-versions-and-service-packs-are-installed
Sie ist der hellste Stern von allen und wird nie vom Himmel fallen...