SERVICIOS WEB, (parametros tipo clase)

18/10/2007 - 17:56 por ZyXpHrEeZ | Informe spam
Hola a todos, tengo una inquietud muy grande al respecto, yo he desarrollado
varios WS en .NET, digamos que todos han sido consumidos por clientes
desarrollados igualmente en .NET, mis metodos web tienen algo parecido a esto:

public ClsOrder xmlOrder;

[WebMethod]
public string wmBeginTransaction(ClsOrder xmlOrderTransaction) {
//para ejemplo pongo algo como sus propiedades, pero hay
propiedades //de tipo de un ENUM
string idFactura = xmlOrderTransaction.Factura;
double valorFactura = xmlOrderTransaction.Total;

}

consumir esto en los clientes es muy facil, simplemente se instancia una
variable del tipo ClsOrder y se envia como parametro al metodo, ok?, despues
de explicarme hago la pregunta, esto funciona perfecto de .net a .net, PERO
ahora tengo un WS que va a consumir clientes de otras empresas, y van a
desarrollar en JAVA, DELPHI , etc, no se si ellos tendran algun tipo de
problema al consumirlo?, ya que yo manejo ese tipo de parametro "complejo",
no se hasta donde llegara el tipo de compatibilidad?, la verdad necesito la
opinion de ustedes un poco rapido ya que tengo que determinar cual es la
mejor forma de desarrollar mi WS y como cosa rara en las empresas siempre
andamos contra el tiempo.

mil y mil gracias por su colaboracion y opiniones.

PDTA: yo se que esto puede ir en la categoria servicios web, igualmente lo
publique tambien alli, solo que esta categoria tiene mas # de visitantes.


Cordial saludo.

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion
18/10/2007 - 18:24 | Informe spam
Los consumidores de tu servicio usan el WSDL para generar la clase "proxy"
que se conecta al servicio, así como las clases que sirven para pasar los
parámetros de tus métodos. Si te fijas en la parte del WSDL que describe
estas clases, verás que solo se describen los campos y propiedades públicas,
con lo que la copia local de la clase es un simple contenedor para estos
datos sin ninguna otra funcionalidad (los métodos de estas clases no pasan
al cliente). Esto de crear una clase que sea un simple contenedor se puede
hacer también en otras plataformas, por lo que el servicio es compatible con
ellas y no solo con .Net.

Para aseguarte la máxima compatibilidad con otras plataformas, es
recomendable meter lo de
[WebServiceBinding(ConformsTo=WsiProfiles.BasicProfile1_1,...)] para que te
rechace cualquier cosa que no encaje dentro del Perfil Básico 1.1.


"ZyXpHrEeZ" wrote in message
news:
Hola a todos, tengo una inquietud muy grande al respecto, yo he
desarrollado
varios WS en .NET, digamos que todos han sido consumidos por clientes
desarrollados igualmente en .NET, mis metodos web tienen algo parecido a
esto:

public ClsOrder xmlOrder;

[WebMethod]
public string wmBeginTransaction(ClsOrder xmlOrderTransaction) {
//para ejemplo pongo algo como sus propiedades, pero hay
propiedades //de tipo de un ENUM
string idFactura = xmlOrderTransaction.Factura;
double valorFactura = xmlOrderTransaction.Total;

}

consumir esto en los clientes es muy facil, simplemente se instancia una
variable del tipo ClsOrder y se envia como parametro al metodo, ok?,
despues
de explicarme hago la pregunta, esto funciona perfecto de .net a .net,
PERO
ahora tengo un WS que va a consumir clientes de otras empresas, y van a
desarrollar en JAVA, DELPHI , etc, no se si ellos tendran algun tipo de
problema al consumirlo?, ya que yo manejo ese tipo de parametro
"complejo",
no se hasta donde llegara el tipo de compatibilidad?, la verdad necesito
la
opinion de ustedes un poco rapido ya que tengo que determinar cual es la
mejor forma de desarrollar mi WS y como cosa rara en las empresas siempre
andamos contra el tiempo.
Respuesta Responder a este mensaje
#2 ZyXpHrEeZ
19/10/2007 - 17:10 | Informe spam
Ok, muchas gracias por tu respuesta.

Entonces lo voy a desarrollar con ese tipo de parametros.


"Alberto Poblacion" wrote:

Los consumidores de tu servicio usan el WSDL para generar la clase "proxy"
que se conecta al servicio, así como las clases que sirven para pasar los
parámetros de tus métodos. Si te fijas en la parte del WSDL que describe
estas clases, verás que solo se describen los campos y propiedades públicas,
con lo que la copia local de la clase es un simple contenedor para estos
datos sin ninguna otra funcionalidad (los métodos de estas clases no pasan
al cliente). Esto de crear una clase que sea un simple contenedor se puede
hacer también en otras plataformas, por lo que el servicio es compatible con
ellas y no solo con .Net.

Para aseguarte la máxima compatibilidad con otras plataformas, es
recomendable meter lo de
[WebServiceBinding(ConformsTo=WsiProfiles.BasicProfile1_1,...)] para que te
rechace cualquier cosa que no encaje dentro del Perfil Básico 1.1.


"ZyXpHrEeZ" wrote in message
news:
> Hola a todos, tengo una inquietud muy grande al respecto, yo he
> desarrollado
> varios WS en .NET, digamos que todos han sido consumidos por clientes
> desarrollados igualmente en .NET, mis metodos web tienen algo parecido a
> esto:
>
> public ClsOrder xmlOrder;
>
> [WebMethod]
> public string wmBeginTransaction(ClsOrder xmlOrderTransaction) {
> //para ejemplo pongo algo como sus propiedades, pero hay
> propiedades //de tipo de un ENUM
> string idFactura = xmlOrderTransaction.Factura;
> double valorFactura = xmlOrderTransaction.Total;
>
> }
>
> consumir esto en los clientes es muy facil, simplemente se instancia una
> variable del tipo ClsOrder y se envia como parametro al metodo, ok?,
> despues
> de explicarme hago la pregunta, esto funciona perfecto de .net a .net,
> PERO
> ahora tengo un WS que va a consumir clientes de otras empresas, y van a
> desarrollar en JAVA, DELPHI , etc, no se si ellos tendran algun tipo de
> problema al consumirlo?, ya que yo manejo ese tipo de parametro
> "complejo",
> no se hasta donde llegara el tipo de compatibilidad?, la verdad necesito
> la
> opinion de ustedes un poco rapido ya que tengo que determinar cual es la
> mejor forma de desarrollar mi WS y como cosa rara en las empresas siempre
> andamos contra el tiempo.


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