Foros del Web » Programación para mayores de 30 ;) » .NET »

parametros opcionales en un web service

Estas en el tema de parametros opcionales en un web service en el foro de .NET en Foros del Web. hola un saludo alguien sabe como pasarle parametros opcionales a un webservice escrito en c# es decir public void metodoweb(int a, parametro opcional b) lo ...
  #1 (permalink)  
Antiguo 06/08/2010, 10:32
 
Fecha de Ingreso: marzo-2010
Mensajes: 52
Antigüedad: 14 años
Puntos: 0
parametros opcionales en un web service

hola un saludo

alguien sabe como pasarle parametros opcionales a un webservice escrito en c# es decir

public void metodoweb(int a, parametro opcional b)

lo estaba haciendo con : public void metodoweb(int a, params int[] parametro opcional b)

pero me dice q metodoweb no toma solo un argumento (en el caso de no mandarle el parametro opcional), la razon por la q quiero meter parametros opcionales es por q las llamadas(que son bastantes) a este metodo son muchas con un solo parametro pero creo q seria mejor modificar el metodo y no crear otro y llenarme de metodos

bueno espero me haya hecho explicar y gracias de antemano
  #2 (permalink)  
Antiguo 06/08/2010, 10:43
 
Fecha de Ingreso: mayo-2002
Ubicación: Guatemala
Mensajes: 160
Antigüedad: 21 años, 11 meses
Puntos: 1
Respuesta: parametros opcionales en un web service

Deberias revisar la firma del método en la clase proxy, el intelisense debe poder facilitartelo, o estando sobre la invocación a ese método, en visual studio presionar F12 para que te lleve al código fuente, por que si dice "params" no deberia haber problema, si no lo tuviese, entonces solo deberas colocarle "null" para rellenar esa lista de parametros opcionales.
__________________
José Luis Chávez del Cid
Systems Developer Specialist
ACS Inc./Xerox
Guatemala
  #3 (permalink)  
Antiguo 06/08/2010, 11:09
 
Fecha de Ingreso: marzo-2010
Mensajes: 52
Antigüedad: 14 años
Puntos: 0
Respuesta: parametros opcionales en un web service

hola jlchavez gracias por tu respuesta,

si en efecto me baso en el intelisense y me aparece a la hora de meter parametros esto: string a, int[] i) (como sabes los tipos params deben ser arreglos) aqui la otra parte del problema, si le meto null al segundo parametro, las llamadas q son bastantes al mismo metodo pero con un solo parametro deveran traer tambien null en el segundo parametro??

por q eso si me crearia un buen problema, o tendria q sobrecargarlos q tambien es problema gracias ha sido de mucha ayuda tu respuesta
  #4 (permalink)  
Antiguo 06/08/2010, 11:16
 
Fecha de Ingreso: mayo-2002
Ubicación: Guatemala
Mensajes: 160
Antigüedad: 21 años, 11 meses
Puntos: 1
Respuesta: parametros opcionales en un web service

Si al definir tu método en el servicio web, con la palabra clave params, y en la clase proxy te aparece sin esa palabra clave, es por la forma en que lo interpreta .net, al conectarse al webservice y descargar el wsdl, si lo modificaras a mano claro que podrías indicarle nuevamente el parametro opcional, y te va a funcionar.

Podrías hacer una sobrecarga agregando una clase parcial, todo dependera en que versión de Visual Studio o framework estes trabajando que ya soporte las clases parciales, así complementas la clase generada con el método que queres agregar, la infraestructura de los webservices te permitira trabajar con normalidad, pero por mantenibilidad evitaría hacerlo, y usar la versión con el null, solo si tuvieras demasiados invocaciones.

:) Exitos!
__________________
José Luis Chávez del Cid
Systems Developer Specialist
ACS Inc./Xerox
Guatemala
  #5 (permalink)  
Antiguo 06/08/2010, 12:00
 
Fecha de Ingreso: marzo-2010
Mensajes: 52
Antigüedad: 14 años
Puntos: 0
Respuesta: parametros opcionales en un web service

ok solo otra pregunta jlcavez: que tipo de "type" debe de llevar el wsdl para q ahora si sea un parametro primitivo por q mira actualmente tiene type="tns:ArrayOfInt" pero no se cual debe ser el tipo para primitivo=params
gracias de antemano
  #6 (permalink)  
Antiguo 06/08/2010, 12:01
Avatar de xjuanch0x  
Fecha de Ingreso: septiembre-2009
Mensajes: 125
Antigüedad: 14 años, 7 meses
Puntos: 1
Respuesta: parametros opcionales en un web service

Cita:
Iniciado por Diego2424 Ver Mensaje
hola un saludo

alguien sabe como pasarle parametros opcionales a un webservice escrito en c# es decir

public void metodoweb(int a, parametro opcional b)

lo estaba haciendo con : public void metodoweb(int a, params int[] parametro opcional b)

pero me dice q metodoweb no toma solo un argumento (en el caso de no mandarle el parametro opcional), la razon por la q quiero meter parametros opcionales es por q las llamadas(que son bastantes) a este metodo son muchas con un solo parametro pero creo q seria mejor modificar el metodo y no crear otro y llenarme de metodos

bueno espero me haya hecho explicar y gracias de antemano
C# solo permite parámetros opcionales en el framework 4, si implementas en Visual estudio 2010 puedes hacerlo, ahora bien puedes usar una simple técnica de programación orientada a objetos, la sobrecarga de métodos
__________________
Juan David Torres Vasquez
[email protected]
Microsoft Certified Technology Specialist (MCTS)
DCE Platinum en Visual C# y VB.NET
  #7 (permalink)  
Antiguo 06/08/2010, 12:13
 
Fecha de Ingreso: mayo-2002
Ubicación: Guatemala
Mensajes: 160
Antigüedad: 21 años, 11 meses
Puntos: 1
Respuesta: parametros opcionales en un web service

El ArrayOfInt esta definido en el mismo WSDL, no es un tipo primitivo, creo que todavia estas programando .asmx? de asp.net 1.x o 2.0? Apenas puedas trata de cambiar tus servicio a WCF (Windows Communication Foundation) con el framework 3.x o 4.

No hay un tipo primitivo que te lo permita, en WSDL o el XSD se definen los parametros con minocurrs=0 para entonces poder saber que es opcional... pero no es soportado en .asmx, tendrías que usar .service de WCF... de lo contrario por el momento un overload del lado del servicio.
__________________
José Luis Chávez del Cid
Systems Developer Specialist
ACS Inc./Xerox
Guatemala
  #8 (permalink)  
Antiguo 06/08/2010, 12:24
 
Fecha de Ingreso: marzo-2010
Mensajes: 52
Antigüedad: 14 años
Puntos: 0
Respuesta: parametros opcionales en un web service

sobre carga de metodos sera, gracias por la ayuda
  #9 (permalink)  
Antiguo 06/08/2010, 12:33
 
Fecha de Ingreso: mayo-2002
Ubicación: Guatemala
Mensajes: 160
Antigüedad: 21 años, 11 meses
Puntos: 1
Respuesta: parametros opcionales en un web service

No hay por que, cualquier cosa avisas!
__________________
José Luis Chávez del Cid
Systems Developer Specialist
ACS Inc./Xerox
Guatemala

Etiquetas: parametros, service
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:24.