Cómo: Cambiar tipos utilizados en clases de proxy generados con WSDL.exe

IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.

Haga clic aquí para ver el artículo original (en inglés): 326790
Este artículo se ha archivado. Se ofrece "tal cual" y no se volverá a actualizar.
Resumen
La herramienta de lenguaje de descripción de servicios Web (WSDL.exe) genera código de proxy para servicios Web XML. Los tipos generados que se utilizan en la clase de proxy se basan en el contenido del documento WSDL que describe el servicio Web XML. Sin embargo, los tipos generados no sea lo que desea ni lo esperado.

WSDL.exe determina que la mejor genera tipo va a utilizar para los objetos que se especifican en la descripción de servicio. En algunos casos, la herramienta utiliza un enfoque menos-común denominador para convertir los objetos a un tipo. Por ejemplo, un parámetro de ArrayList en un WebMethod se describe en WSDL como un esquema XML (XSD) secuencia. A continuación cuando WSDL.exe encuentra esta descripción de matriz en la descripción de servicio, WSDL.exe, genera una clase de proxy que utiliza una matriz de objetos. Puede que prefiera trabajar con una ArrayList , que era el tipo original que se utilizó en el WebMethod. Si desea utilizar los tipos generados, puede cambiar los tipos generados a tipos más deseables. Para obtener el tipo de objeto apropiado, abra el archivo que contiene la clase proxy generada, cambiar manualmente el parámetro del método generado y vuelva tipos a los tipos de objeto apropiado.

back to the top

Generar el código de proxy

En el ejemplo siguiente, el servicio Web XML tiene el servicio Web método con el prototipo siguiente:
string DummyMethod(System.Collections.ArrayList intList)				
puede utilizar WSDL.exe para generar el archivo de origen de proxy.

back to the top

Modificar manualmente el código

  1. Abra el archivo de origen de proxy en un editor de texto.
  2. Buscar los dos métodos:
            public string DummyMethod(object[] intList) {            object[] results = this.Invoke("DummyMethod", new object[] {                        intList});            return ((string)(results[0]));        }        public System.IAsyncResult BeginDummyMethod(object[] intList, System.AsyncCallback callback, object asyncState) {            return this.BeginInvoke("DummyMethod", new object[] {                        intList}, callback, asyncState);        }					
  3. Modifique el código para:
            public string DummyMethod(System.Collections.ArrayList intList) {            object[] results = this.Invoke("DummyMethod", new object[] {                        intList});            return ((string)(results[0]));        }        public System.IAsyncResult BeginDummyMethod(System.Collections.ArrayList intList, System.AsyncCallback callback, object asyncState) {            return this.BeginInvoke("DummyMethod", new object[] {                        intList}, callback, asyncState);        }					
back to the top

Más información

Servicios Web XML serializar objetos a XML y, a continuación, deserializar el XML volver a objetos. Generalmente, un objeto de un tipo determinado se puede serialicen y deserialicen después a otro objeto del mismo tipo. Sin embargo, si utiliza diferentes tipos, esto no funcionen.

back to the top

Referencias
Para obtener información adicional acerca de cómo se serializa y deserializa tipos, visite el siguiente sitio Web:

back to the top

Advertencia: este artículo se tradujo automáticamente

Propiedades

Id. de artículo: 326790 - Última revisión: 12/07/2015 12:01:55 - Revisión: 4.1

Microsoft Web Services (included with the .NET Framework) 1.0 , Microsoft Web Services Enhancements for Microsoft .NET 1.1

  • kbnosurvey kbarchive kbmt kbhowtomaster KB326790 KbMtes
Comentarios