elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  [Ayuda] Webservice (archivo wsdl) .NET
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Ayuda] Webservice (archivo wsdl) .NET  (Leído 11,056 veces)
oscarj24

Desconectado Desconectado

Mensajes: 65


Ver Perfil
[Ayuda] Webservice (archivo wsdl) .NET
« en: 11 Julio 2011, 04:04 am »

Buenas noches.  >:D

Mi problema es el siguiente:

Me dieron un archivo WSDL con las funciones de un web service, con lo cual tengo que generar una clase en C# o VB.net.

Todo comienza al momento de intentar generar el WSDL en una clase con la herramienta "WSDL.exe" desde la consola del Visual Studio 2005, 2008 o 2010 ya que, al intentarlo de diversas formas, se genera un error o una clase vacia.

Segun lo que me dicen, puede existir un problema con los "namespaces" del XML.

Ahora, les dare una explicacion de lo que he estado haciendo hasta el momento.
Por ejemplo, si genero una clase en C#o VB.net de un wsdl como normalmente se deberia hacer usando el comando que figura en la imagen, obtengo el siguiente error:

Comando1-Error1:



Buscando un poco de informacion al respecto, lei que si especificaba el protocolo "soap12" del wsdl en el comando, se podria generar sin problemas y, al intentarlo, obtuve los siguientes errores (Ver imagen "Comando2-Error2") y, aunque se genero una clase, esta se encuentra vacia  ("Ver imagen "Comando2-Clase-Vacia")

Comando2-Error2:



Comando2-Clase-Vacia:


Por ultimo, decidi buscar otras alternativas y encontre otra herramienta, esta se llama "WSFC.exe" y permite hacer lo mismo que la herramienta que viene por defecto con el Visual Studio (WSDL.exe). Segun la web del creador, esta herramienta es mas beneficiosa que la del Visual Studio y la describe asi:

"WSCF offers a simple yet powerful WSDL Wizard that abstracts away all the nitty-gritty details of WSDL and therefore does not give room for making errors and wrong assumptions just by trying to use and applying everything that can be done stated by the original WSDL specification."

Pueden informarse mas de esto en los siguientes links:

http://www.thinktecture.com/resourcearchive/tools-and-software/wscf

http://weblogs.thinktecture.com/cweyer/2007/12/running-wscf-07-in-visual-studio-2008.html

http://www.thearchitect.co.uk/weblog/archives/2007/05/installer_error_code_2869_on_windows_vista_and_how_to_correc.html

Sin embargo, no obtuve buenos resultados al usar la nueva herramienta, y esta vez utilice un comando parecido a los que usaba en las imagenes anteriores solo que en vez de usar WSDL, usaba WSFC.
 
Código
  1. "WSFC miwsdl.wsdl /l:cs"

y siempre generaba una clase (tambien vacia) pero con una descripcion un poco mas detallada del posible error que existe hasta ahora cuando intento generar la clase del WSDL que poseo.

La descripcion del error que aparecia en la imagen vacia era este:



Saludos y gracias por su tiempo.  :D


« Última modificación: 29 Agosto 2011, 17:19 pm por oscarj24 » En línea

seba123neo


Desconectado Desconectado

Mensajes: 3.621



Ver Perfil WWW
Re: [Ayuda] Webservice (archivo wsdl) .NET
« Respuesta #1 en: 11 Julio 2011, 04:52 am »

Hola, yo he creado varios webservices y nunca me fije en ese archivo .wsdl, simplemente creo una clase normal, y le agrego los metodos, y despues lo paso a formato .asmx que es el formato de los webservices y listo, despues lo publico en el IIS y ya lo carga como webservice, por ejemplo, este es el codigo de un webservcie basico con 2 metodos que retornan un simple boolean.

Código
  1. <%@ WebService Language="VB" Class="wsprueba" %>
  2.  
  3. Imports System.Web.Services
  4.  
  5. <WebService(Namespace:="http://prueba", Description:="Web Service de Prueba")> _
  6. Public Class wsprueba
  7.    Inherits System.Web.Services.WebService
  8.  
  9.    <WebMethod(Description:="Metodo Prueba")> _
  10.    Public Function OnLine() As Boolean
  11.        Return True
  12.    End Function
  13.  
  14.    <WebMethod(Description:="Metodo Prueba 2")> _
  15.    Public Function OnLine2() As Boolean
  16.        Return True
  17.    End Function
  18. End Class

despues si desde un proyecto te queres conectar al webservice, debes ir al menu para agregar una referencia web, le pones la direccion del webservice y ahi te crea el enlace al webservice y lo podes manipular, ver sus metodos, llamarlos..etc, te crea ese archvio .wsdl, pero nunca lo toque.

saludos.



En línea

oscarj24

Desconectado Desconectado

Mensajes: 65


Ver Perfil
Re: [Ayuda] Webservice (archivo wsdl) .NET
« Respuesta #2 en: 11 Julio 2011, 04:55 am »

Claro, eso es lo que uno haria si es que hace un webservice desde cero, pero si quieres reutilizar sus metodos usas el wsdl y desde cualquier entorno generas una clase (mas o menos el metodo inverso a lo que dices, gracias por tu tiempo pero no contesta mi pregunta)
En línea

seba123neo


Desconectado Desconectado

Mensajes: 3.621



Ver Perfil WWW
Re: [Ayuda] Webservice (archivo wsdl) .NET
« Respuesta #3 en: 11 Julio 2011, 06:41 am »

nunca lo hice, pero recien lo probe y me funciona con un proyecto que ya tengo de visual basic, fui al directorio donde esta el wsdl.exe, en mi caso esta en "C:\Archivos de programa\Microsoft SDKs\Windows\v6.0A\bin", cree un archivo . bat con el comando a ejecutar, y puse en esa carpeta el wsdl de un webservice que tengo en un proyecto de visual basic, el comando es:

Código:
wsdl.exe wsprueba.wsdl /l:VB /serverInterface

ejecuto el .bat y me genera la clase de visual basic con todos los metodos adentro y parametros de los mismos.

probe con tu clase, le cambie que sea para CS y no me lo toma, me dice que no encuentra una ruta de referencia con un archivo ws-tra.xsd, y lo tengo en el mismo directorio, la verdad no se que puede ser.
En línea

oscarj24

Desconectado Desconectado

Mensajes: 65


Ver Perfil
Re: [Ayuda] Webservice (archivo wsdl) .NET
« Respuesta #4 en: 11 Julio 2011, 07:24 am »

nunca lo hice, pero recien lo probe y me funciona con un proyecto que ya tengo de visual basic, fui al directorio donde esta el wsdl.exe, en mi caso esta en "C:\Archivos de programa\Microsoft SDKs\Windows\v6.0A\bin", cree un archivo . bat con el comando a ejecutar, y puse en esa carpeta el wsdl de un webservice que tengo en un proyecto de visual basic, el comando es:

Código:
wsdl.exe wsprueba.wsdl /l:VB /serverInterface

ejecuto el .bat y me genera la clase de visual basic con todos los metodos adentro y parametros de los mismos.

probe con tu clase, le cambie que sea para CS y no me lo toma, me dice que no encuentra una ruta de referencia con un archivo ws-tra.xsd, y lo tengo en el mismo directorio, la verdad no se que puede ser.

En realidad creo que algun error debes tener con la ruta de los "xsd" ya que al ubicar todos los archivos que puse en el zip en una carpeta, no te deberia dar problemas como ves en la imagen. Sin embargo, al reconocer los "xsd" y hacer todo normalmente, me genera el mismo error que cite al abrir este tema, gracias por seguir intentandolo.

En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problea al retornar un Array con webservice.net
.NET (C#, VB.NET, ASP)
apache_scrc 4 5,410 Último mensaje 19 Agosto 2010, 18:10 pm
por apache_scrc
Ayuda WEbService plz.
.NET (C#, VB.NET, ASP)
visualfree 2 2,760 Último mensaje 21 Abril 2013, 07:28 am
por .::IT::.
Consumir un Web Service WSDL desde NETBEANS
Programación General
desamota 0 3,425 Último mensaje 7 Enero 2015, 20:19 pm
por desamota
Implementar un servicio web en dos PC´s con WSDL
Java
jam man 1 1,529 Último mensaje 10 Diciembre 2016, 17:29 pm
por sapito169
Verificar que una WSDL este activa
Java
alexis33de 0 2,306 Último mensaje 22 Septiembre 2017, 15:47 pm
por alexis33de
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines