Compartir a través de


Utilizar Soapsuds.exe con comunicación remota

Este tema es específico de una tecnología heredada que se mantiene para la compatibilidad con versiones anteriores con aplicaciones existentes y no se recomienda para nuevo desarrollo. Las aplicaciones distribuidas se deberían desarrollar utilizando  Windows Communication Foundation (WCF).

Puede utilizar Soapsuds.exe para generar un ensamblado o código fuente que contenga los metadatos necesarios para llamar a un objeto remoto.

xse48s01.note(es-es,VS.100).gifNota:
Soapsuds.exe solo trabaja con objetos remotos que utilizan HttpChannel.

Para generar un ensamblado, escriba un comando como el siguiente:

soapsuds.exe -url:http://SomeServer/MyObject.rem?wsdl -oa:MyProxy.dll

Donde se hospeda el objeto remoto en un equipo llamado “SomeServer” y la dirección URL para el objeto es MyObject.rem. Observe ?wsdl agregado al final de la URL. Esto se requiere para que Soapsuds.exe funcione. A continuación, tome el MyProxy.dll generado y haga referencia a él en su aplicación cliente.

Para generar el código fuente, escriba un comando como el siguiente:

soapsuds.exe -url:http://SomeServer/MyObject.rem?wsdl -gc

Donde se hospeda el objeto remoto en un equipo llamado “SomeServer” y la dirección URL para el objeto es MyObject.rem. Observe ?wsdl agregado al final de la URL. Esto se requiere para que Soapsuds.exe funcione. A continuación, puede agregar el Server.cs generado y agregarlo a su proyecto de aplicación cliente. Esto tiene la ventaja adicional de no tener que distribuir un ensamblado proxy independiente con su aplicación cliente.

Sin tener en cuenta el tipo de resultado (ensamblado o código fuente), Soapsuds.exe genera lo que se denomina de forma predeterminada un proxy envuelto. El proxy envuelto es una clase que se deriva de RemotingClientProxy. La dirección URL al objeto remoto está codificada de forma rígida en esta clase derivada. De forma alternativa, puede especificar -nowp en la línea de comandos para generar un proxy desenvuelto. La clase generada para un proxy desenvuelto es una clase vacía. Puede ver las diferencias entre los proxys envueltos y los desenvueltos generando dos veces el código fuente para un objeto remoto, una vez con -nowp y otra vez sin él (asegúrese de que cambia el nombre del archivo generado .cs o que éste está sobrescrito al ejecutar de nuevo Soapsuds.exe. Debe generar proxys desenvueltos porque la dirección URL al objeto remoto no debería estar codificada de forma rígida.

Para obtener más información sobre las opciones de línea de comandos de soapsuds.exe , vea: Soapsuds Tool (Soapsuds.exe).

Vea también

Otros recursos

Comunicación remota avanzada