Parametro opcional

08/10/2005 - 16:09 por Juan Francisco Alvarez | Informe spam
Hola grupo, tengo la siguiente duda, cree un WS que tiene como parámetro de
entrada un integer y varios string, cuando no pongo los string funciona
bien, pero cuando omito el integer se cae, le puse control de errores y todo
per se cae igual.
Luego trate de definir el parámetro integer como opcional con valor por
defecto 0, pero me dice que no está permitido para los WS, el WSDL dice que
tiene que ir si o si.
Será que por decir eso el WSDL el cliente está obligado a ponerlo por
norma?, tengo alguna forma de hacer que el parámetro sea opcional?, tengo
alguna forma de evitar la caida si no está el valor?

Gracias

Preguntas similare

Leer las respuestas

#1 CESAR DE LA TORRE [MVP]
10/10/2005 - 11:56 | Informe spam
A ver. En principio, no existe la posibilidad de definir parámetros
opcionales en un WebMethod. Sin embargo, lo que dices es cierto, en los
parámetros 'string', en el WSDL aparecen como minOccurs="0". En cambio los
parámetros 'int', 'double', etc. en el WSDL aparecen como minOccurs="1". Esto
es lo que te extraña, logicamente.

Esto es así porque un 'string' es un 'reference type' y sin embargo un
numérico (como el 'int') es un 'value type'.

Si quieres hacer algo similar a PARAMETROS OPCIONALES, algo que puedes hacer
es sobrecargar tus funciones WebMethod, usando la propiedad "MessageName".
Por ejemplo:
[WebMethod(MessageName="MiMetodoConInt")]
public string MiMetodo(string texto, int valorNumerico)
{
return "Valor retorno";
}
[WebMethod(MessageName="MiMetodoSinInt")]
public string MiMetodo(string texto)
{
return "Valor retorno";
}

CESAR DE LA TORRE
Software Architect
[Microsoft MVP - XML Web Services]
[MCSE] [MCT]

Renacimiento
[Microsoft GOLD Certified Partner]


"Juan Francisco Alvarez" wrote:

Hola grupo, tengo la siguiente duda, cree un WS que tiene como parámetro de
entrada un integer y varios string, cuando no pongo los string funciona
bien, pero cuando omito el integer se cae, le puse control de errores y todo
per se cae igual.
Luego trate de definir el parámetro integer como opcional con valor por
defecto 0, pero me dice que no está permitido para los WS, el WSDL dice que
tiene que ir si o si.
Será que por decir eso el WSDL el cliente está obligado a ponerlo por
norma?, tengo alguna forma de hacer que el parámetro sea opcional?, tengo
alguna forma de evitar la caida si no está el valor?

Gracias



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida